Approaches and strategies in integration testing
There are four main types of integration testing:
- Big Bang
It is necessary to understand which testing methodology in system integration suits each particular software solution — to save time and resources, and to achieve the most accurate results. Each type of integration testing is intended for differently composed systems.
To assess the functionality of the modules en masse, you must first test the modules separately. When it comes to the Top-down method, the main feature is that testing begins with the higher-level components of the software and gradually progresses towards the lower-level ones. This approach is especially advantageous when some system parts have priority over others.
If some system components are still in the works, and it’s impossible to simulate the data flow without them, QA engineers turn to stub and driver functions — dummy programs that act as lower- and higher-level components accordingly.
Learn about the latest trends in software testing: 7 top trends in Quality Assurance and testing.
Unsurprisingly, Bottom-up integrated testing is the opposite of the top-down method covered above. The speed of this check depends on the number of lower-level modules, so it makes this method suitable for simple few-level systems. Same as for top-down testing, stubs and drivers take the place of lacking submodules to perform as called and calling programs.
When combined, the top-down and bottom-up approaches become the Sandwich (Hybrid) test integration method. This approach is convenient when it comes to large software projects containing multiple subsystems, but it can be costly for tightly-knit systems with heavy module interdependence.
Next in line is the Big Bang technique, which is optimal in situations where you need to check the entire application with all components interlinked after system development is complete. This approach requires the minimum amount of time for planning and running tests without compromising the accuracy of the results — and this is why it’s also referred to as the “Run-it-and-see” approach among software developers. But there’s a serious drawback — since all modules are already integrated, it’s painstaking to isolate the one containing an issue.
As you might have guessed, every integration testing approach comes with its own set of pros and cons. Below, we’ll go into detail on 7 steps that will help you build a viable top-down testing strategy that works best for you.