Testing APIs—How to Test SOAP
Since APIs (Application Programming Interfaces) first came on the technology scene, the first question testers asked was How do I test them? APIs are closely related to web services—with some differences.
It’s debatable whether API testing is a black box or white box testing task. In either case, testers need to develop the test cases with all the exception cases in there as well.
SoapUI was originally used for API testing but has evolved over time to allow many other tasks. It still remains one of the best tools to test web services and APIs. Continuous API testing is important but also quite useful in the early development phase of a project before a GUI/web front has been developed.
If you need to spend some time understanding web services in more detail, these Web Services Testing presentations are useful. The system framework will generally decide to use one or two languages to communicate. These languages or data formats have names like REST, GData, XML-RPC, JSON, YAML, XML, and SOAP, to name a few.
The next issue to deal with is the type of testing you do with your APIs. Functional testing is the first task. Once you have that running, it is an opportunity to begin some performance testing. Getting developer feedback on performance issues early on in a development cycle would be a great benefit for the project.
There are other tools out there to test APIs, some open source, some fee-based. A developer also could create a simple front end to expose the message formats to confirm the data is sent correctly.
You don’t need to be a programmer to test APIs, but you will need to learn new skills. You need to bring the same level of planning, test case creation, execution, and reporting as any other aspect of testing. It will—if done properly and enough time is provided for it—help improve the quality of your software delivery.
How do you test APIs in your system—and did you use SOAP today?