integration test
noun
An integration test checks whether several parts of a software system work together correctly, focusing on their communication and the data they exchange.
The integration test checks whether an order is transferred correctly to the accounting system.
Software components can work correctly in isolation yet fail when communicating. An integration test brings two or more components together and checks whether their interaction produces the expected result. Examples include an application sending data to an Glossary · In briefAPIAn API is a defined way for software to exchange data or call functions in other software without needing to know how that software works internally.Read more, a service updating a Glossary · In briefdatabaseA database is a structured collection of data that software can store, retrieve and modify. A database management system controls access to that data.Read more or two systems exchanging customer information.
What does an integration test check?
The test examines the agreements between components. Is the correct data sent? Can the recipient process it? Does the software respond correctly to an error message, missing field or unexpected response? This reveals problems that tests of individual components can miss.
An integration test can connect several functions within one application or test an integration with an external system. The components used depend on the risk being investigated. Sometimes an external service is replaced with a controlled test version. In other cases, the test runs against an actual test environment.
How it differs from other tests
A Glossary · In briefunit testA unit test is an automated test of a small, defined software component, usually isolated from external systems.Read more usually checks a small piece of logic in isolation. An integration test checks whether such components behave correctly together. An Glossary · In briefend-to-end testAn end-to-end test checks whether a complete user journey through an application works, including the components and systems that must work together.Read more follows a complete user journey through a larger part of the system, such as signing in and making a payment.
Integration tests sit between focused unit tests and broader end-to-end tests. They help find errors in interfaces, data formats and assumptions between components without running through the entire application for each check.