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 Stress, Load and Software Performance Testing
Related Q&A from Gerie Owen
I've been a tester for many years and want to progress professionally. Yet, I'm struggling to find chances for advancement and a career path in ... Continue Reading
There are numerous DevOps tools, so as a tester, is it necessary to know all of them? Gerie Owen explains why tools might come secondary to the goal ... Continue Reading
As a junior tester, I think learning scripting languages could make me more valuable to my team and enhance my career. But how do I pick the ... Continue Reading
Have a question for an expert?
Please add a title for your question
Get answers from a TechTarget expert on whatever's puzzling you.