Enterprise DevOps adoption seems to be increasing consistently. Many enterprises have seen how a DevOps culture is important to becoming successful faster. Practicing a DevOps culture isn’t hassle-free however, and comes with its own fair share of challenges. A DevOps ecosystem requires Continuous Integration, Continuous Deployment, test feedback etc. to be faster. A poorly thought out automation strategy here could be detrimental to the test automation efforts.
A well thought-out automation strategy on the other hand would also consider every important aspect rather than focusing all efforts on ensuring that the application is ready to ship. API testing is one such important aspect every testing strategy should take into account.
Thanks to a plethora of tools available in the market today, it’s not that difficult to perform API testing provided the strategy allocates a slot for API testing in the project’s lifecycle. And a few of the most effective of those tools are open source technologies.
The following are 3 great open source tools any tester should check out for API testing.
SoapUI
SoapUI is not a new tool. It’s been contributing to QA & testing for a while now, and is ideal in API testing environments where there are mostly QA engineers instead of developers. The open source test tool is designed for effective API testing, and even allows users to create custom workflows or functionalities (if necessary) by coding up the solution in SoapUI using Groovy.
REST-Assured
If Java is what the team’s using for the project, REST-Assured is what they need for API automation. The tool has a large following, and is recommended by many experienced testers for API testing.
REST-Assured is basically a Java library generally used to test HTTP-based REST services. It can integrate with every existing Java-based automation framework and comes with a number of functionalities that testers usually have to code in. The bonus is that the tester need not be an expert in HTTP to use the tool. As validating REST services is comparatively harder in Java as opposed to Ruby and Groovy, REST-Assured can be a great asset since it allows testers to bring dynamic languages like Ruby and Groovy into the Java domain.
Fiddler
Another open source tool, Fiddler is not exactly known for its API testing capabilities. It’s mainly used to monitor, manipulate, and reuse HTTP requests. It has many extensions that allow you to perform even more tasks – from debugging websites to API testing itself, making it invaluable for certain mid-scale software development projects.
API testing is possible with the APITest extension. The extension allows the tool to test and validate web APIs. However, it may not be ideal for extensive testing. For that purpose, an API testing infrastructure should be built with the FiddlerCore.NET Class Library. Fiddler is a preferable option for teams using .NET languages for their projects.
Conclusion
The use of a tool should be based on the requirements of the test strategy and the nature of the testing subject itself. There are many API test tools, including proprietary ones, with features that would prove very useful when testing APIs. The ones above are popular open source alternatives that many experienced testers recommend. If you are a tester who likes to explore and experiment, do give each of these tools a shot.