What is a Integration Test?
Integration testing verifies whether or not the individual modules or services that make up the application work well together. The purpose of this level of testing is to expose defects in the interaction between these software modules when they are integrated.
Thus, integration testing checks how two modules interact with one another or third-party solutions if project requirements call for it. This is a purely technical matter, which makes this testing type a fine candidate for test automation.
Unlike unit testing, integration testing considers side effects from the beginning. These side effects may even be desirable.
Integration testing helps find issues that are not obvious by examining the application’s or a specific unit’s implementation. Integration testing discovers defects in the interplay of several application parts. Sometimes, these defects can be challenging to track or reproduce.
Unit Test vs Integration Test
While the lines between the various test categories are blurry, the key property of an integration test is that it deals with multiple parts of your application. While unit tests always take results from a single unit, such as a function call, integration tests may aggregate results from various parts and sources.
Integration Test vs End-to-End
Integration Test | End-to-End |
---|---|
Integration testing starts at the very early stages of development. Bugs are caught earlier, rather than later, in the cycl | End-to-end testing is done when the product is almost ready for release. |
It's easy to integrate with daily builds and easy to test in the development environment. | It may be impossible to perform until the product is nearing completion. |
Tests run faster compared to end-to-end tests. | Tests run slower compared to integration testing. |
Aims to test how external systems work with internal modules, one by one. | Aims to test the user experience from start to finish. |
Last updated