Integration testing
Integration testing involves checking how various pieces, modules, or parts of a software application work together, even if different programmers coded them.
The goal of integration testing is to examine the connections between these modules and uncover any issues that might pop up when these components come together and have to work together.
It is usually performed downstream of unit tests; assuming that individual software modules (be they projects, classes, or entire applications) are tested individually, we begin to test the interactions they have with other modules with which they collaborate, as shown in Figure 4.2:
Figure 4.2 – Unit tests concern each module individually, while integration tests concern interactions
To carry out integration testing, testers use test drivers and stubs, that is, placeholder programs that step in for any absent modules and mimic data exchange between modules for testing. There are...