First of all, API stands for Application programming interface. API is a set of routines, protocols, functions, and tools for building software applications. It allows communication and data exchange between two separate software systems without knowing the underlying technology. An API is a bit like a user interface that consists of a set of calls to lower-level functions and operations. Therefore it is designed to be accessible to trained, knowledgeable programmers. API testing is different from GUI testing because it mainly concentrates on the business logic layer of the software architecture. It does not concentrate on the presentation layer of the software architecture.
Consideration in API Testing
First of all API testing is performed on the system which has a collection of APIs. Following points must be considered in API testing so let’s have a look:
1. Check the chain of API calls and verifies if the API’s produce valuable results from successive calls.
2. Check all the boundary conditions for the API by applying various test inputs.
3. Take care of the areas which are trickiest and least tested.
4. Ensure the behavior of the API which considers external environment conditions.
What to test in API Testing
API testing follows all the standard testing conventions apart from this it also includes the following testing.
Security testing: Security testing ensures whether the sensitive data is encrypted or not over HTTP. Other than this, it also ensures the authentication.
Documentation: The testing team has to make sure that the documentation is sufficient and provides enough information to interact with the API. A proper documentation will be helpful for the programmer.
Usability testing: Usability testing ensures whether the API is functional or not. It also verifies the integration of API in another system.
Apart from this API testing must ensure the following points:
- Missing or duplicate functionality.
- Security Issues
- Multi-threading issues
- Improper error message for caller
- Structure of Response data is proper or not
- Improper handling of valid parameter values
Challenges in API testing
The main challenge is the parameter selection and calling sequence in the API testing. Apart from this, There is no GUI available to test the application which makes it more difficult. API testing also requires some programming skills which also matters. The other challenge in the testing is to verify the exception handling while an error occurs. This testing is different from the unit testing which is tested in development phase by the developer. The API tester tests the software knowing only what a user is likely to know. Hence we can say that API testing is not a simple task as it sounds.
Comments by Steve Young