What is integration testing?

Integration testing is a type of testing where individual software modules are logically integrated and tested as a group. This testing is done to test that individual modules work as expected when they are combined.

Software testing sequence

Each individual module (units) is first tested in isolation. Once unit testing has been performed, these units are integrated. The integration testing is then performed to validate that the modules work as expected when combined.

Integration testing is not necessarily performed at the end of software development. Instead, it is performed throughout the development life cycle as the individual modules get developed.

Types of integration testing

There are four basic approaches to integration testing:

1. Big Bang

In Big Bang integration testing, all the components are integrated and tested together in one go.

2. Top Down

Top Down integration testing involves testing top-level units first and then moving on to testing lower-level units.

3. Bottom up

Bottom up integration testing involves testing the lower level modules first. These tests are then used to test higher level modules until all the modules are tested.

4. Sandwich testing

Sandwich integration testing is a combination of the Top Down and Bottom Up approaches.