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

Integration Testing - What Is, Types With Example

Integration testing verifies that software modules work together as intended. It focuses on testing interfaces and data flow between modules. Various integration testing strategies include big bang, incremental, top-down, and bottom-up approaches. The document provides details on each approach and best practices for integration testing.

Uploaded by

ADARSH PAL
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views

Integration Testing - What Is, Types With Example

Integration testing verifies that software modules work together as intended. It focuses on testing interfaces and data flow between modules. Various integration testing strategies include big bang, incremental, top-down, and bottom-up approaches. The document provides details on each approach and best practices for integration testing.

Uploaded by

ADARSH PAL
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

Integration Testing: What is, Types with Example

What is Integration Testing?


Integration Testing is defined as a type of testing where software modules are
integrated logically and tested as a group. A typical software project consists of
multiple software modules, coded by different programmers. The purpose of this
level of testing is to expose defects in the interaction between these software
modules when they are integrated
Integration Testing focuses on checking data communication amongst these
modules. Hence it is also termed as ‘I & T’ (Integration and Testing), ‘String
Testing’ and sometimes ‘Thread Testing’.

Although each software module is unit tested, defects still exist for various reasons
like

 A Module, in general, is designed by an individual software developer


whose understanding and programming logic may differ from other
programmers. Integration Testing becomes necessary to verify the software
modules work in unity
 At the time of module development, there are wide chances of change in
requirements by the clients. These new requirements may not be unit tested
and hence system integration Testing becomes necessary.
 Interfaces of the software modules with the database could be erroneous
 External Hardware interfaces, if any, could be erroneous
 Inadequate exception handling could cause issues.

Example of Integration Test Case

Integration Test Case differs from other test cases in the sense it focuses mainly
on the interfaces & flow of data/information between the modules. Here
priority is to be given for the integrating links rather than the unit functions which
are already tested.

Sample Integration Test Cases for the following scenario: Application has 3
modules say „Login Page‟, „Mailbox‟ and „Delete emails‟ and each of them is
integrated logically.

Here do not concentrate much on the Login Page testing as it‟s already been done
in Unit Testing. But check how it‟s linked to the Mail Box Page.
Similarly Mail Box: Check its integration to the Delete Mails Module.

Test
Case Test Case Objective Test Case Description Expected Result
ID
Check the interface link Enter login credentials
To be directed to the
1 between the Login and and click on the Login
Mail Box
Mailbox module button
Check the interface link From Mailbox select Selected email should
2 between the Mailbox and the email and click a appear in the
Delete Mails Module delete button Deleted/Trash folder
Types of Integration Testing

Software Engineering defines variety of strategies to execute Integration testing,


viz.

 Big Bang Approach :


 Incremental Approach: which is further divided into the following
 Top Down Approach
 Bottom Up Approach
 Sandwich Approach – Combination of Top Down and Bottom Up

Below are the different strategies, the way they are executed and their limitations
as well advantages.

Big Bang Testing

Big Bang Testing is an Integration testing approach in which all the components
or modules are integrated together at once and then tested as a unit. This combined
set of components is considered as an entity while testing. If all of the components
in the unit are not completed, the integration process will not execute.

Advantages:

 Convenient for small systems.

Disadvantages:

 Fault Localization is difficult.


 Given the sheer number of interfaces that need to be tested in this approach,
some interfaces link to be tested could be missed easily.
 Since the Integration testing can commence only after “all” the modules are
designed, the testing team will have less time for execution in the testing
phase.
 Since all modules are tested at once, high-risk critical modules are not
isolated and tested on priority. Peripheral modules which deal with user
interfaces are also not isolated and tested on priority.

Incremental Testing

In the Incremental Testing approach, testing is done by integrating two or more


modules that are logically related to each other and then tested for proper
functioning of the application. Then the other related modules are integrated
incrementally and the process continues until all the logically related modules are
integrated and tested successfully.

Incremental Approach, in turn, is carried out by two different Methods:

 Bottom Up
 Top Down

Stubs and Drivers

Stubs and Drivers are the dummy programs in Integration testing used to
facilitate the software testing activity. These programs act as a substitutes for the
missing models in the testing. They do not implement the entire programming
logic of the software module but they simulate data communication with the
calling module while testing.

Stub: Is called by the Module under Test.

Driver: Calls the Module to be tested.

Bottom-up Integration Testing

Bottom-up Integration Testing is a strategy in which the lower level modules are
tested first. These tested modules are then further used to facilitate the testing of
higher level modules. The process continues until all modules at top level are
tested. Once the lower level modules are tested and integrated, then the next level
of modules are formed.

Diagrammatic Representation:
Advantages:

 Fault localization is easier.


 No time is wasted waiting for all modules to be developed unlike Big-bang
approach

Disadvantages:

 Critical modules (at the top level of software architecture) which control the
flow of application are tested last and may be prone to defects.
 An early prototype is not possible

Top-down Integration Testing

Top Down Integration Testing is a method in which integration testing takes


place from top to bottom following the control flow of software system. The higher
level modules are tested first and then lower level modules are tested and
integrated in order to check the software functionality. Stubs are used for testing if
some modules are not ready.
Diagrammatic Representation:

Advantages:

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

 Needs many Stubs.


 Modules at a lower level are tested inadequately.

Sandwich Testing

Sandwich Testing is a strategy in which top level modules are tested with lower
level modules at the same time lower modules are integrated with top modules and
tested as a system. It is a combination of Top-down and Bottom-up approaches
therefore it is called Hybrid Integration Testing. It makes use of both stubs as
well as drivers.
How to do Integration Testing?

The Integration test procedure irrespective of the Software testing strategies


(discussed above):

1. Prepare the Integration Tests Plan


2. Design the Test Scenarios, Cases, and Scripts.
3. Executing the test Cases followed by reporting the defects.
4. Tracking & re-testing the defects.
5. Steps 3 and 4 are repeated until the completion of Integration is successful.

Brief Description of Integration Test Plans

It includes the following attributes:

 Methods/Approaches to testing (as discussed above).


 Scopes and Out of Scopes Items of Integration Testing.
 Roles and Responsibilities.
 Pre-requisites for Integration testing.
 Testing environment.
 Risk and Mitigation Plans.

Entry and Exit Criteria of Integration Testing


Entry and Exit Criteria to Integration testing phase in any software development
model

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.

Best Practices/ Guidelines for Integration Testing

 First, determine the Integration Test Strategy that could be adopted and later
prepare the test cases and test data accordingly.
 Study the Architecture design of the Application and identify the Critical
Modules. These need to be tested on priority.
 Obtain the interface designs from the Architectural team and create test
cases to verify all of the interfaces in detail. Interface to database/external
hardware/software application must be tested in detail.
 After the test cases, it‟s the test data which plays the critical role.
 Always have the mock data prepared, prior to executing. Do not select test
data while executing the test cases.

You might also like