Types of software testing: The Integration Test
Integration tests are defined as an intermediate level of testing and usually follow those of units and precede system ones. In fact, these tests are performed when two or more units already tested are aggregated into a larger structure, representing the logical extension of the unit test.
The testing of the combined parts of an application has the main purpose of determining if they have the expected behavior when they are working together as a single component.
Usually tests are provided on all the interfaces between the individual components, so as to extend the evaluation of the quality level from the individual modules to the largest structure considered.
For easier identification of integration defects, this type of testing is implemented by gradually adding one component at a time to the set of those that have already been tested.
To trace the problem that generated the malfunction, it will therefore be sufficient to go back to the last module included in the integration test.
For this reason, this type of testing requires particular care in the documentation, collection and documentation of the tests performed.
Also this typology, as also seen in the unit tests, mainly uses a white box testing approach, since the software is examined from the inside and an in-depth knowledge of the internal structure is necessary, in order to be able to make coherent choices on the progressive integration of each module.
In this sense, the two most used strategies are “top-down” or “bottom-up”, where in the first case the correct integration of high-level functionalities is first tested, then progressively passing to lower level procedures by these recalled, vice versa in the second case.