What is Integration Testing?
Integration Testing is used to check the data flow between the two modules mostly System is made up of multiple components or modules that can comprise hardware and software.In Integration their is lot of interaction among components so we need to test the interaction between the modules and with other systems externally.Integration testing starts when two modules are available and ends when all component interface have been tested.
Types of Integration Testing :
2 Module 1- module 3
3 Module 1- module 4
4 Module 1-2-5
5 Module 1-3-6
6 Module 1-3-6-(3-7)
7 Module (1-2-5)-(1-3-6-(3-7))
8 Module (1-2-5)-(1-3-6-(3-7))-(1-4-8)
Integration Testing is used to check the data flow between the two modules mostly System is made up of multiple components or modules that can comprise hardware and software.In Integration their is lot of interaction among components so we need to test the interaction between the modules and with other systems externally.Integration testing starts when two modules are available and ends when all component interface have been tested.
The Final round of integration involving all components is called Final Integration Testing or System Integration.
Integration is both a phase and a type of testing.
![]() |
what is integration testing? |
Types of Integration Testing :
- Integration testing means testing the interface between modules.They are two types of interface:
- Internal interface
- External interface
- Internal Interface - It provide a communication across two modules within project or product.
- External Interface -It visible to the third party developers and solution providers.
- By using Application programming interfaces we can achieve interfaces.API enable one module to call another module it will be external or internal.
Integration Testing type focuses on testing interfaces that are implicit and explicit and internal and external.
- Explicit interface are documented were implicit interface are not documented.
- There are several methodologies available for integration testing.They are as follows:
- Top-down integration
- Bottom-up integration
- Bi-directional integration
- System integration
Top-Down Integration :
In Top-down integration the data flow happens from top to bottom.It test the topmost component interface with other component till you cover all the components.
1 Module 1- module 2![]() |
Top-down approach |
The Order of testing interface will be:
Step, Interface tested
2 Module 1- module 3
3 Module 1- module 4
4 Module 1-2-5
5 Module 1-3-6
6 Module 1-3-6-(3-7)
7 Module (1-2-5)-(1-3-6-(3-7))
8 Module (1-2-5)-(1-3-6-(3-7))-(1-4-8)
- The breadth first approach component order such as 1-2,1-3,1-4 and so on.The depth first approach order such as 1-2-5,1-3-6 and so on.
- The set of modules and their related interface can deliver functionality without expecting the presence of other components the related interfaces is called as sub-system.
- Each sub-system work independently with or without other subsystem this makes integration easier.
Bottom-up Integration :
- In Bottom-up integration the communication happens from down module to up module.
![]() |
Bottom-up approach |
The Order of testing interface will be:
Step, Interface tested
1 Module 1- module 5
2 Module 2- 6,3-6
3 Module 2-6-(3-6)
4 Module 4-7
5 Module 1-5-8
6 Module 2-6-(3-6)-8
7 Module 4-7-8
8 Module (1-5-8)-(2-6-(3-6)-8)-(4-7-8)
2 Module 2- 6,3-6
3 Module 2-6-(3-6)
4 Module 4-7
5 Module 1-5-8
6 Module 2-6-(3-6)-8
7 Module 4-7-8
8 Module (1-5-8)-(2-6-(3-6)-8)-(4-7-8)
- In bottom-up integration starts from module 1 and it covers till module 8.This approach is mainly used for iterative and agile methodologies.
- The arrows from bottom to top indicate integration path the logic flow of the product can be different from the integration path.
- While the logic flow or interaction in this case is going from up to down,integration path is going from down to up.
Bi-Directional Integration :
- Bi-directional integration is a combination of top-down and bottom-up integration approaches used together to derive integration steps.
![]() |
Bi-directional approach |
The Order of testing interface will be:
Step, Interface tested
1 Module 6- module 2
2 Module 7-3-4
3 Module 8-5
4 Module (1-6-2)-(1-7-3-4)-(1-8-5)
2 Module 7-3-4
3 Module 8-5
4 Module (1-6-2)-(1-7-3-4)-(1-8-5)
- The module 1,2,3,4 and 5 are tested separately the bi-directional integration will happen by using stubs and drivers.
- Drivers provide upstream connectivity and stub provide downstream connectivity.
- Driver is a function it will redirect the request to some other module and stub stimulate the behaviour of a missing component.After functionality have been tested means the drivers and stub will discarded.
- When a new module get a-raised then we will focus on new one.This approach is know as Sandwich integration.
System Integration :
- In system integration the all component of system are integrated and tested as a single unit.It divided in to two types:
- Sub-system integration
- Final integration testing
Disadvantage of System integration :
- Instead of integrating the module by module and testing, this approach waits till all modules arrive and one round of integration testing is done.This approach is called as Big-Bang integration.
- When any defect is encountered its very difficult to find out where the defect have raised.
- When the integration testing happens in end then the release date will get delay.
Hello,
ReplyDeleteThe informative Article on SBT integration tests: automatically launch application is good. It gives detailed information about it .Thanks for Sharing the information on Integration testing. Software Testing Company