Friday 10 May 2013

Integration Testing



DEFINITION
Integration testing is the testing process in software testing to verify that when two or more modules are interact and produced result satisfies with its original functional requirement or not. Integrated testing is fall in Black box testing. Integrated testing will start after completion of unit testing.  Software testing engineer is performing integration testing.


ANALOGY
During the process of manufacturing a ballpoint pen, the cap, the body, the tail and clip, the ink cartridge and the ballpoint are produced separately and unit tested separately. When two or more units are ready, they are assembled and Integration Testing is performed. For example, whether the cap fits into the body or not.

METHOD
Any of Black Box Testing, White Box Testing, and Gray Box Testing methods can be used. Normally, the method depends on your definition of ‘unit’.

TASKS
Integration Test Plan
Prepare
Review
Rework
Baseline
Integration Test Cases/Scripts
Prepare
Review
Rework
Baseline
Integration Test
Perform

When is Integration Testing performed?
Integration Testing is performed after Unit Testing and before System Testing.

Who performs Integration Testing?

Either Developers themselves or independent Testers perform Integration Testing.

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


TIPS
Ensure that you have a proper Detail Design document where interactions between each unit are clearly defined. In fact, you will not be able to perform Integration Testing without this information.
Ensure that you have a robust Software Configuration Management system in place. Or else, you will have a tough time tracking the right version of each unit, especially if the number of units to be integrated is huge.
Make sure that each unit is first unit tested before you start Integration Testing.
As far as possible, automate your tests, especially when you use the Top Down or Bottom Up approach, since regression testing is important each time you integrate a unit, and manual regression testing can be inefficient.

Definition by ISTQB
integration testing: Testing performed to expose defects in the interfaces and in the interactions between integrated components or systems. See also component integration
testing, system integration testing.
component integration testing: Testing performed to expose defects in the interfaces and interaction between integrated components.
system integration testing: Testing the integration of systems and packages; testing interfaces to external organizations (e.g. Electronic Data Interchange, Internet). 

No comments:

Post a Comment