Integration Testing

In Integration Testing, individual software modules are integrated logically and tested as a group.

A typical software project consists of multiple software modules, coded by different programmers.  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'.

Need of Integration 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 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.

There are three different types of integration testing approach in software testing.

1. Big Bang
2. Top down
3. Bottom up

1. Big Bang

Big Bang Integration testing approach used to find the bugs when all the developed modules are interacted with each other and create a complete software system then its produced result satisfying with original requirement.

2. Top down

In Top down integrated testing approach, all Top level integrated modules are tested first and its sub modules tested from top to down step by step.

3. Bottom up

In Bottom up integrated testing approach, all bottom (Sub Modules) level integrated sub modules are tested first and its main modules tested from bottom to up step by step.