Integration testing is testing of integrated modules also called as I&T (integration and testing) testing.
In this testing, modules of software are gathering together for testing as a group. It was done before the validation of software and after unit testing.
• In Integration testing, single modules are collaborated together and tested.
• Between the modules, transferred data is tested thoroughly.
• Integration testing is done by tester.
Integration Testing scenario
Take the example of banking functionality of transfer funds and managing current balance.
like, suppose current balance has Rs1000 in the account after transfer fund Rs500 current balance should be 500.
This module will assign to 5 different developers to reduce coding time. i.e. Login, Current Balance, Deposit, Withdraw, and Transfer.
In integration testing, we collecting all these modules together and do testing. For this, we have two type
1. Big Bang Testing
2. Incremental Testing
Big Bang Testing
• Big Bang Testing: –In this testing tester will collect each and every module to do testing and after collecting all tester starts testing on the full project. According to big bang testing approach, all steps performed before integration testing starts.
In this type of testing, we are facing some limitations like Tester have to wait for all modules to be developed, it is very time consuming and it will very difficult to trace the root cause of bugs.
• Incremental Testing: – For over the limitation of Big Bang Testing, Incremental Testing comes in picture. According to this type of testing, modules are tested as and when they are available.
Basically, in this, we are following two approach
Top-to-Down Testing in which upper module is built first for the testing purpose tester required stub for the testing test that module.
Bottom-to-Up Testing in which lower module is built first for testing purpose tester required the driver for testing that module.
According to our example if the developer made current balance module first then tester require stub for doing testing on that current balance module working. And if the developer made the transfer module first then tester requires a driver for doing testing on transfer module working.
Another Approach is functional incremental and sandwich which is a combination of Top-to-Down and Bottom-to-Up.
The choice of the approach chosen depends on the system architecture and location of high-risk modules.