Integration Testing
Integration Testing
PRESENTER NAME:Ranjithparthiban
What is integration testing?
Integration testing -- also known as integration and testing (I&T) -- is a type of
software testing in which the different units, modules or components of a software
application are tested as a combined entity. However, these modules may be coded by
different programmers.
It is the simplest integration testing approach, where all the modules are combined
and the functionality is verified after the completion of individual module testing. In simple words, all
the modules of the system are simply put together and tested.
Advantages:
•It is convenient for small systems.
Disadvantages:
•There will be quite a lot of delay because you would have to wait for all the modules to be integrated.
•High risk critical modules are not isolated and tested on priority since all modules are tested at once
2. Bottom-Up Integration Testing –
In bottom-up testing, each module at lower levels is tested with higher modules until all modules
are tested. The primary purpose of this integration testing is that each subsystem tests the
interfaces among various modules making up the subsystem. This integration testing uses test
drivers to drive and pass appropriate data to the lower level modules.
Advantages:
•A principle advantage of this integration testing is that several disjoint subsystems can be tested simultaneously.
Disadvantages:
•In this testing, the complexity that occurs when the system is made up of a large number of small subsystems.
3.Top-Down Integration Testing
Top-down integration testing technique is used in order to simulate the behaviour of the lower-level modules that are
not yet integrated. In this integration testing, testing takes place from top to bottom. First, high-level modules are
tested and then low-level modules and finally integrating the low-level modules to a high level to ensure the system
is working as intended.
Advantages:
A mixed integration testing is also called sandwiched integration testing. A mixed integration testing follows a
combination of top down and bottom-up testing approaches. In top-down approach, testing can start only after the
top-level module have been coded and unit tested. In bottom-up approach, testing can start only after the bottom
level modules are ready. This sandwich or mixed approach overcomes this shortcoming of the top-down and bottom-
up approaches.
Advantages:
•Mixed approach is useful for very large projects having several sub projects.
•This Sandwich approach overcomes this shortcoming of the top-down and bottom-up approaches.
Disadvantages:
•For mixed integration testing, it requires very high cost because one part has Top-down approach while another part
has bottom-up approach.
•This integration testing cannot be used for smaller systems with huge interdependence between different modules.
Guidelines for Integration Testing
•We go for the integration testing only after the functional testing is completed on each module of the application.
•We always do integration testing by picking module by module so that a proper sequence is followed, and also we
don't miss out on any integration scenarios.
•First, determine the test case strategy through which executable test cases can be prepared according to test data.
•Examine the structure and architecture of the application and identify the crucial modules to test them first and also
identify all possible scenarios.
•Choose input data for test case execution. Input data plays a significant role in testing.
•If we find any bugs then communicate the bug reports to developers and fix defects and retest.
1.Each module is designed by individual software developer whose programming logic may differ from developers
of other modules so; integration testing becomes essential to determine the working of software modules.
2.To check the interaction of software modules with the database whether it is an erroneous or not.
3.Requirements can be changed or enhanced at the time of module development. These new requirements may not be
tested at the level of unit testing hence integration testing becomes mandatory.