Tips and tricks Best practice guides, FAQ & more
The two terms - application programming interface (API) and integration testing – have morphed over time. And they are often used interchangeably. But the two tests have key differences. We’ll outline what those are below.
There are lots of types of integrations.
There are integrations between units.
And there are integrations between components (once units have been combined).
Related reading: Unit Testing vs Integration Testing
These integrations aren’t just siloed to the application under development. If you’re developing software within an enterprise, it’s just as likely that this component sits inside a much bigger software system.
For example, it could be that you’ve developed a feature in Salesforce that needs to integrate with a business process in SAP.
Related reading: How to Test Salesforce Integrations with SAP in Selenium
So as a business, we need to make sure that the component works together with a wider system, not just with the system where the component sits.
And there’s a term for this. It’s called system integration testing. Not integration testing. Although the two terms tend to be used interchangeably.
So let’s quickly recap.
We’ve got integration testing – (when you’re testing a component inside one application).
And system integration testing – (when you’re testing how a component functions with other applications).
So how does API testing fit into the equation?
Well, API testing is technically system integration testing (also known as interface testing).
When you’re carrying out integration testing, it’s likely that the two systems require an API to be able to connect and communicate with one another.
An API is a standardized way that systems interact with one another. To make sure the APIs are working as we expect, we have to test them.
These tests aim to validate the functionality, reliability, security and performance of an API.
In conclusion, if you’re testing a component that lives inside one application, it’s integration testing.
Once you start depending on other applications outside of your own, how do you integrate them and how do you test them? Through standardized interfaces – APIs.
To learn more about testing and how to build a continuous testing process in agile development, check out this whitepaper on Continuous Testing in Agile Development.