Integration Testing
Integration Testing
Integration Testing
Upon completion of unit testing, the units or modules are to be integrated which
gives raise to integration testing. The purpose of integration testing is to verify the
functional, performance, and reliability between the modules that are integrated.
Integration Testing, individual software modules are integrated logically and tested
as a group.
Advantage:
Big Bang testing has the advantage that everything is finished before
integration testing starts.
Convenient for small systems.
Disadvantage:
In this approach, testing is done by joining two or more modules that are logically
related. Then the other related modules are added and tested for the proper
functioning. Process continues until all of the modules are joined and tested
successfully.
This process is carried out by using dummy programs called Stubs and Drivers.
Stubs and Drivers do not implement the entire programming logic of the software
module but just simulate data communication with the calling module.
Bottom Up
Top Down
Top-down integration testing:
Testing takes place from top to bottom, following the control flow or architectural
structure (e.g. starting from the GUI or main menu). Components or systems are
substituted by stubs. Below is the diagram of ‘Top down Approach’:
In Top to down approach, testing takes place from top to down following the
control flow of the software system.
Advantages
The tested product is very consistent because the integration testing is
basically performed in an environment that almost similar to that of reality.
Stubs can be written with lesser time because when compared to the
drivers then Stubs are simpler to author.
Fault Localization is easier.
Possibility to obtain an early prototype.
Critical Modules are tested on priority; major design flaws could be found
and fixed first.
Disadvantages
Basic functionality is tested at the end of cycle
Needs many Stubs.
Modules at lower level are tested inadequately.
Bottom-up integration testing:
Testing takes place from the bottom of the control flow upwards. Components or
systems are substituted by drivers. Below is the image of ‘Bottom up approach’:
In the bottom up strategy, each module at lower levels is tested with higher
modules until all modules are tested. It takes help of Drivers for testing
Advantage
In this approach development and testing can be done together so that the
product or application will be efficient and as per the customer
specifications.
Fault localization is easier.
No time is wasted waiting for all modules to be developed unlike Big-bang
approach.
Disadvantages
Entry Criteria:
Unit Tested Components/Modules
All High prioritized bugs fixed and closed
All Modules to be code completed and integrated successfully.
Integration tests Plan, test case, scenarios to be signed off and
documented.
Required Test Environment to be set up for Integration testing
Exit Criteria:
Successful Testing of Integrated Application.
Executed Test Cases are documented
All High prioritized bugs fixed and closed
Technical documents to be submitted followed by release Notes.