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
Expert Gerie Owen discusses the differences between a startup culture and an established company's work environment. Learn more about which would ...continue reading
Does the development team determine the software test schedule? Find out why working with DevOps can alleviate some time and test constraints.continue reading
The Agile team collaborates closely and makes a lot of changes. What does the ideal Agile tester possess in technical and people skills?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.