Intro To Incremental Testing

For this week’s blog I wanted to keep to the theme of learning a new type of software testing. I discovered softwaretestinghelp.com from our classes Slack channel as I know a few people recommended it. For my article I chose “What is Incremental Testing: Detailed Explanation With Examples” because I have not learned this type of testing and it was one of the more current articles posted.

While I can infer things about incremental testing based on its name, this article covered it in detail. To start, incremental testing is one approach of integration testing and combines modular testing with it as well. Basically each module will be tested on its own and then integrated one by one to make sure that each module that is added interacts how it should. This is where the term incremental comes from.  Once each module has been integrated, the application or system is considered built. All modules should then be tested together to ensure smooth interaction and data flow.  A couple advantages for this type of testing are that defects can be found earlier and defects can be easier to target based on what module was added last. This can also reduce the cost and time of rework if modules were not added and tested incrementally.

There a few different methodologies in which incremental testing can be done. Three that are discussed are top down, bottom up, and sandwich testing. While there are different methodologies, they effectively use the same principles. They all utilize layered testing, a hierarchical design, and integrate modules one by one.

After reading about incremental testing it seems like a really good strategy to implement. I like the idea of testing a system piece by piece to avoid a possible large amount of rework. It also adds confidence as you work through a project that everything is working together correctly. I think this allows developers to give a more accurate and reliable time estimate for a project’s completion as well. My reason for this is that if defects are found earlier per each increment you can adjust and communicate time tables more effectively. The only downside I can see with incremental testing is repetitiveness. With each module that gets added, there will still need to be testing done for the modules that were already added and tested to make sure the current system still works correctly. This testing is still useful however I can see how it may increase the amount of work to be done up front.  In conclusion I’d like to try incremental testing on an upcoming project to weigh the advantages and disadvantages first hand.

Leave a comment