0% found this document useful (0 votes)
25 views

Integration Testing

Integration testing involves testing integrated software modules to determine if they function correctly as a system. It focuses on testing interfaces between units and exposes faults in their interactions. The main types are incremental and non-incremental testing, and approaches include big-bang, bottom-up, top-down, and mixed testing.
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
25 views

Integration Testing

Integration testing involves testing integrated software modules to determine if they function correctly as a system. It focuses on testing interfaces between units and exposes faults in their interactions. The main types are incremental and non-incremental testing, and approaches include big-bang, bottom-up, top-down, and mixed testing.
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 10

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.

  Integration testing is the process of testing the interface between two


software units or modules. It focuses on determining the correctness of the interface. The purpose
of integration testing is to expose faults in the interaction between integrated units. Once all the

modules have been unit tested, integration testing is performed. 


Types of Integration Testing
Integration testing can be classified into two parts:

•Incremental integration testing


•Non-incremental integration testing
Integration test approaches – There are four types of integration testing approaches.
Those approaches are the following:

1. Big-Bang Integration Testing

 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:

•In bottom-up testing, no stubs are required.

•A principle advantage of this integration testing is that several disjoint subsystems can be tested simultaneously.
Disadvantages:

•Driver modules must be produced.

•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:

•Separately debugged module.

•Few or no drivers needed.

•It is more stable and accurate at the aggregate level.


Disadvantages:

•Needs many Stubs.

•Modules at lower level are tested inadequately


4. Mixed Integration Testing

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.

•Design test cases to verify each interface in detail.

•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.

•Perform positive and negative integration testing


Reason Behind Integration Testing
Although all modules of software application already tested in unit testing, errors still exist due to the following
reasons:

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.

4.Incompatibility between modules of software could create errors.

5.To test hardware's compatibility with software.

6.If exception handling is inadequate between modules, it can create bugs.


THANK YOU

You might also like