What is Incremental Testing in Software Testing?
In the previous tutorials, we discussed about Integration testing and Big Bang Testing(one type of integration testing). In this tutorial, we will discuss another type of integration testing, called incremental testing.
Incremental testing is an approach used during the integration testing phase. It utilizes a number of stubs and drivers( stubs & drivers are dummies or pseudo code we use in integration testing) to test each module independently. This process assists in identifying potential errors or defects in the modules.
Alright. Let’s talk about Incremental testing in detail:
What is Incremental testing?
Incremental testing is an approach to integration testing that uses stubs and drivers to check different modules’ functionality.
Integration testing is done after Unit testing, where developers connect individual modules to see how they work together. To uncover bugs in a specific module, it helps to use several stubs and drivers to test the modules. The process of Incremental testing is to test a module, connect it to another module, check their integration, and then add another module to continue the same steps.
The integration testing technique can be utilized by testers or developers to assess the functionality of the application modules.
Why is Incremental Testing Important?
The benefits of incremental testing are numerous, making it a common method for integration testing. There are several reasons why incremental testing is important.
- It uncovers bugs in specific modules by conducting unit testing before proceeding to the next testing phase.
- It saves time and resources by identifying bugs early in the Integration testing phase before all the modules are connected.
- It ensures that all the modules are connected successfully and function properly after integration.
- The approach is more flexible and cost-effective from a business perspective.
- Each module identifies a specific role within the project/product structure.
- The modules have distinct dependencies, some of which are not clear until the program is executed.
- The biggest advantage of incremental integration testing is that defects are found early in a smaller assembly, when it is easy to find the root cause of the same problem.
When Should You Use Incremental Testing?
Rather than integrating all the modules at once, incremental testing relies on connecting them one by one. This approach begins after unit testing uncovers issues with individual modules.
When one of the modules is still under development, it is the right time to use Incremental testing. If necessary, stubs and drivers can be used to replace such modules. It is possible that you may be required to verify modules A, B, and C together, but only modules B and C are currently available. This means that you will use drivers to copy module A, connect it with modules B and C, and continue your Integration testing.
The next few tutorials will talk more about stubs and drivers and how they work. For now, this is a simple example of when Incremental testing is the right approach to use.