API (Application Programming Interface) is a set of ready-to-use classes, functions, procedures, etc., that are provided by the application in order to be used by external software programs. It specifies how components should interact with each other. In other words, API glues the whole digital world together.
Every application consists of three parts:
- data tier (database),
- logic/business tier (App UI),
- presentation tier (UI).
And the logic tier is actually the API. It coordinates all internal operations of the app and provides the services integration.
In general, during API testing, the white box testing approach is applied. To perform this software testing types, the code and a special tool to drive the API are needed. API testing has nothing to do with the look and feel of the application. It deals the interaction between software and the API. The software sends a call to the API to get specified output. API testing checks whether the system gives the proper response.
As the output of the API, there can be the data of any type, pass/fail status and another API Function called.
API testing is executed by testers. It covers end to end functionality. Testers have no access to the source code and they check only API functions. API testing includes security checking, usability, discovery, automated and documentation testing.