Skip to main content

Incremental Integration Testing

Incremental Integration Testing is a software testing technique that involves integrating and testing individual modules or components of a system in a sequential manner, with the aim of identifying and fixing defects as early as possible in the development process.

info

Incremental Integration Testing is also known as Incremental Testing or Incremental Build Testing.

In this approach, the system is built and tested in small increments, with each increment adding new functionality or features to the system. Each module is integrated with the previously integrated modules and then tested as a group, until the entire system is fully integrated and tested.

The incremental approach allows for early detection and resolution of defects and helps to reduce the risk of major failures in the final product. It also allows for early feedback and validation of the system's functionality and performance.

tip

Each module is integrated with the previously integrated modules and then tested as a group, until the entire system is fully integrated and tested.

Types of Incremental Testing

There are mainly three types of Incremental Testing:

  • Top-down Integration Testing
  • Bottom-Up Integration Testing
  • Sandwich Integration Testing (Hybrid)

1. Top-down Integration Testing: In this type of testing, the higher-level modules are integrated and tested first, followed by the integration of lower-level modules. This approach allows for the early testing of the most critical and complex components of the system.

Example-

In this diagram, we have a System (represented by the node labeled "A") and three Modules ("Module 1", "Module 2", and "Module 3") that make up the system.

The Top-Down Integration Testing approach involves starting with the highest level of the system (in this case, the System node), and then gradually integrating the lower-level modules (Module 1, Module 2, and so on) until the entire system is complete.

In this diagram, we see that Modules 1 and 2 are integrated with the System node first (indicated by the arrows pointing from A to B and C). Then, the lower-level modules of Module 1 and Module 2 are integrated with their respective higher-level modules (indicated by the arrows pointing from B and C to D, E, F, and G).

Finally, all the modules are integrated with Module 3 (indicated by the arrows pointing from A, B, C, D, E, F, and G to H). This represents the completion of the integration testing process, where all the modules have been integrated and tested together as a complete system.

2. Bottom-Up Integration Testing: In this type of testing, the lower-level modules are integrated and tested first, followed by the integration of higher-level modules. This approach allows for the early detection of defects in the individual modules and reduces the risk of delaying the project due to issues in the higher-level components.

Example-

info

This approach involves testing the lower-level modules first, followed by the higher-level modules, until the entire system is integrated and tested.

In the example, modules A, C, E, and G represent the lower-level modules, while modules B, D, F, and H represent the higher-level modules. The arrows show how the modules are integrated, with the lower-level modules being integrated first.

The arrows from B to D and from F to H indicate that these higher-level modules are integrated with each other before they are integrated with the rest of the system. This is because Bottom-up Integration Testing allows for early detection and resolution of defects in the lower-level modules before they are integrated into the higher-level modules.

Finally, modules D and H are integrated into module I, which represents the final module in the system. This indicates that all modules have been integrated and tested together to ensure the system functions correctly as a whole.

3. Sandwich Integration Testing (Hybrid): This approach combines the top-down and bottom-up integration testing. The system is divided into three layers: upper, middle, and lower layers. The upper and lower layers are integrated and tested first using the bottom-up approach, followed by the integration of the middle layer using the top-down approach.

Example-

info

Modules are integrated and tested in both top-down and bottom-up directions at the same time, using a combination of Stubs and Drivers to simulate the behavior of the modules that have not yet been integrated or developed.

In the example above, the Test Driver (P) is used to control the flow of the testing process, while the Stubs (H) and Drivers (I) simulate the behavior of the modules that have not yet been integrated. The modules (B-F) are integrated and tested in both top-down and bottom-up directions, with the Stubs and Drivers filling in the gaps as needed.

To learn more about Drivers and Stubs Click Here.