A typical assembly line process involves assembling separated units to form a single functional unit. For example: Assembling a car involves putting in various parts together and then testing the final product. It is important to note that the individual parts have been already tested and verified before they were set up for car assembly. But it is also imperative that those units work together in sync for the car to work as per the desired standards and specifications. That’s where the test run comes into the picture.
Similarly, in the world of software, the whole project is broken down into a number of units/modules for the ease of development. The modules are then developed and tested by the teams assigned to them. There are times when these units are perfectly functional on their own when tested in isolation. But there might be issues in inter-modular interactions when they are plugged in together to test a combinatorial behavior.
Integration testing is the level of testing that identifies module interfacing issues due to integration testing the integrated modules as a single unit.
Either of the testing methods, Black box, white box or Grey box can be applied for Integration testing depending on the type of modules under test.
Let us take a look at the scenarios which give rise to the need for Integration testing.
Besides these commonly known Integration testing techniques, there are some lesser-known ones like Coupling-based integration testing, Interaction-based integration testing ─ a functional testing technique, distribution services Integration testing, backbone integration, client/server integration, layer integration, etc.
In this method, all the units/modules are combined together and tested in one go. This sounds very similar to System testing. But the Big bang approach to integration testing handles the interactions between the modules and verifies the end result. It works best for small scale projects.
However, it has certain drawbacks.
An incremental approach, as the name suggests, tests the related modules by combining them incrementally. The process continues until all the modules have been integrated and tested successfully. It is important to consider the fact that all related modules may not be ready at the same time during testing, so dummy modules called Stubs and Drivers are used to simulate the logical connection and data communication between modules under test.
A Stub is a dummy module called by module under test.
A Driver is the dummy module that calls the module under test.
There are three sub approaches in incremental integration testing.
In this approach, the top-level module is tested first and lower-level modules are integrated incrementally and tested. In this case, test stubs are used to simulate lower-level modules that may not be available when higher-level modules are tested.
Top-down approach has two further sub-types: Depth-first and Breadth-first.
Advantages:
Disadvantages:
In this approach, bottom level modules are tested first and then incrementally level above are tested. Test drivers are needed to simulate the higher-level modules which may not be available during testing.
Advantages:
Disadvantages:
Hybrid approach is a combination of Top-Down and Bottom-Up approach.
Advantages:
Disadvantages:
Integration testing adds on to the unit testing by providing test coverage and helps in sealing any gaps that are left because of issues in module interactions. Clearly, it is a very crucial part of the Software Development and testing life cycle. Automating the integration tests further helps in optimizing the testing process.
At Webomates, we offer tools/services that help our clients to validate those small pieces of code through end to end regression tests before deploying the build to production. Tools like QA-Assist and services like CI/CD can very quickly help the developers to fix the issues and deploy code to a product without much hassle.
Webomates has also optimized the testing process by combining patented selenium based Automation and Artificial Intelligence with crowdsourcing and manual testing. These services help in providing good results if applied to Integration test cases.
If you are interested in learning more about Webomates CQ service please click here and schedule a demo or reach out to us at info@webomates.com
Tags: Black Box Testing, integration Testing, Software Testing, White Box testing
Test Smarter, Not Harder: Get Your Free Trial Today!
Start Free Trial
Leave a Reply