Today let’s talk about what is API testing, and what exactly
do we test when we perform API testing?
To start from the very beginning lets understand what API
is.
What Is API?
API – Application Programming Interface.
This is a functional piece of a system that sits usually
between a data source and a front end presentation to the user. In other words
if we take a simple example of a web application the nice looking web site will
be using API calls to retrieve data from the back-end database.
It is important to understand that API can mean different things
in different systems, for example for web application an API can be a SOAP or a
REST web service, but for a desktop application API can be a set of known
functions that allow retrieve or modify data within that application.
What Do We Test With API?
When we talk about API testing we talk about testing some
specific functionality that is described in the requirements for that API, and
our verification points might change drastically based on what required, but we
can group our verifications for all APIs into 3 main categories:
- Verify that the expected data is received in response
- Verify that the expected action was performed
- Verify that additional APIs functions were triggered (nothing was performed yet but a job might have started to execute action in a future)
At this point we usually differentiate between a specific
API testing and an End-To-End API testing.
During the specific API testing we make sure that the API
can be called in every possible way and that the proper results are being
received or if not then a proper error is returned. For example if we have an
API that return weather information for a specific city we will try if it can
give information for several cities at once, no city at all, and a city that
does not exist in addition to a proper city name.
During the End-to-End API testing we verify that a proper
series of calls is trigged by calling some entry point API, so for example if
we have online registration form submitted that should generate a temporary password
and email that to customer, we will call a form submission API, that in turn
expected to call a password generation API and both results will be passed over
to an email generating API
What Tools We Use?
There is a lot of popular tools that are being used to test
different types of APIs but this is beyond the scope of this article. What is important
to mention at this point is the fact that we cannot test APIs without a proper
tools or an environment setup. In difference to a GUI testing this type of
testing requires a setup of a tool and an environment to access the component
that is under test as direct access without special coding and tools is usually
not possible
Comments
Post a Comment