– Integration testing is forming or integrating various individual units in to one and testing them as one unit.
– Integration testing lies between unit testing and system testing.
– It should be carried out before validation testing.
– The units or the modules that have passed the unit tests successfully can only be subjected to integration testing. – The tests that have to be applied to the integrated units are defined in the integration testing test plan.
– The integration testing is carried out with the purpose of verifying the functionality, reliability requirements and performance of the units under testing.
There are two types of integration testing namely:
About Top-Down Integration Testing
– In this approach to integration testing, the integrated modules at the top most level are first tested.
– The module branches are tested one by one in a defined procedure until all the related modules have been covered.
– Top down integration testing is often categorized as the incremental integration testing technique.
– The testing starts by testing the modules at the top most level and the modules at the lower levels are progressively added to this one by one.
– It is required to simulate the lower level modules.
– This simulation is achieved with the help of the stubs.
– These stubs are capable of mimicking the functionality of the modules at the lower levels.
– When the lower level code is added to the assemblage or the design items, the actual components are said to replace those stubs.
Top – down integration testing can be carried out in either of the two ways:
Below mentioned are some of the advantages of the top – down integration testing:
Now here are some of the disadvantages of top – down approach:
Consider the following example for having a clearer view of the top down approach.
– Suppose at the top most we have the component A and at the first lower level we have components B and C.
– Using the top down approach, we first test A individually and for assisting it we use the B and C stubs.
– The component A should be tested such that it calls C which is the stub for the component B and next again component A should be tested such that it calls B which is the stub for C.
– In the first case if any error occurs, it is either in the A and B interface or in B only.
– Similarly, in the second case if any error occurs, it is either in A and C interface or in C only.
– Since stubs are require for the simulation of the components’ activities, a number of stubs might be required.
– Once the whole system has been tested from top to bottom, it can then be fully assembled and subjected to system testing.
– However, it is not possible to figure out where the fault has occurred unless error message is given by the specific component. Some other approaches are: