WavebreakmediaMicro - Fotolia
With APIs becoming increasingly popular among software platform providers, users must test APIs to ensure that applications are communicating to one another correctly.
An API is a way for one application to make use of the services of another. APIs can offer capabilities beyond enterprise software calls. Weather, sports scores, stock market quotes and many other types of data are available through commercial APIs. Enterprise software, such as SAP and Salesforce, rely on APIs, as well as other software that is intended to provide a service to different applications. Salesforce uses the Force.com platform to allow applications to talk to each other.
APIs often use a representational state transfer, or REST, interface. This enables an HTTP call to access a Universal Resource Identifier, commonly known as a URI, which executes a call into the service.
To test APIs, pass in legitimate in-range and out-of-range data, and observe the results. Are the results accurate? Do out-of-range inputs provide a useful error message and fail gracefully?
Many platforms are web-based, or in the cloud, so test APIs for network, geographic location and domain name system considerations. Send traffic from different locations around the world to ensure that access remains consistent across geographical regions.
Lastly, performance test APIs, particularly if it is a commercial service that has guaranteed availability and response time metrics. Test API performance by calling the interface and timing.
Load testing will also show if APIs are fit for use. If you are expecting high usage at certain times, look at peak load capabilities. While the format of API tests will look like web HTTP calls, the types of tests you conduct will resemble those for other applications.
Dig Deeper on Software testing tools and techniques
Related Q&A from Gerie Owen
Web services and APIs aren't the same -- or are they? How do web services and API testing differ, and what does each type of test aim to achieve? Continue Reading
A script-based tool has replaced a daily testing exercise on some code. Is it simply an automated test, part of a test automation strategy or even ... Continue Reading
Developers and testers strive to create quality, reusable code to deploy apps faster and keeps users happy. But what metrics should they track to ... Continue Reading