Integration Testing - What Is, Types With Example
Integration Testing - What Is, Types With Example
Although each software module is unit tested, defects still exist for various reasons
like
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
Below are the different strategies, the way they are executed and their limitations
as well advantages.
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:
Disadvantages:
Incremental Testing
Bottom Up
Top Down
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.
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:
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
Advantages:
Disadvantages:
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?
Entry Criteria:
Exit Criteria:
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.