Every software product needs rigorous testing before releasing into the market. Software testing is of 4 types, Acceptance testing, System testing, Integration testing and Unit testing. These testing process will help to correct the performance, behavior issues and for the detection of errors.
Integration testing is a type of software testing where the combination of individual units can be tested as a group. This testing is to expose the faults of the integration between the modules. Test scubs and test drivers are used for assessing Integration testing. Individual testers will perform integration testing. It is the 2nd level of testing performed usually after the Unit testing and before the system testing.
There are many benefits associated with integration testing.
- Improves the readability of tests and increases the test coverage.
- It will be more efficient as it covers the large volume of the system.
- Helps modules interact with third-party tools and API.
- Detects errors related to interfaces between modules.
- The tester can start testing the module to be tested once available.
- This ensures that the integrated module works well as intended.
Process of Integration Testing:
Integration testing can be performed by combining the unit tested modules one after another and testing the combined unit functionality. After unit testing, integration testing will be performed. After creating and testing all the individual units, all the tested modules are combined and integration testing is to be performed.
Steps Involved in Integration testing:
- Preparation of test integration plan
- Type of integration testing approach will be decided
- Designing the test scripts, test cases and test scenario accordingly
- Spread the selected module together and get running integration tests
- Keep track of defects and record the test results test
- Repeat the above steps until the entire system is tested
Types of Integration testing:
Before discussing the types of integration testing, we should have a clear idea about stubs and drivers. During testing, we may find some of the modules are under development. With the help of dummy programs, these modules are replaced for testing purpose. These dummy programs are known as drivers and stubs.
- Big Bang Integration Testing:
After all the modules are developed and tested individually. All the individual modules are to be integrated and tested together. This approach is known as Big Bang Integration testing.
- Incremental Integration Testing:
Two or more modules will be connected which are logically related and incremental testing is performed. After that more modules are to be added and testing is to be performed to check the proper functionality.
- Top-Down Integration Testing:
This is a type of testing which is to be started by testing the top-most modules and later to be moved down to test the lowest set of modules. This will helps in the detection of major design flaws earlier.
- Bottom-Up Integration Testing:
It will start by testing the lower units first and by moving down gradually. By this testing, the development and testing will be done together and the product will be of more efficient.
- Sandwich Integration Testing:
By overcoming the limitations of the top-down approach and the bottom-up approach, a hybrid approach is designed. This approach is called as sandwich Integration testing.
Integration testing will detect all the errors related to the interface. This type of testing will ensure that the integrated modules/components are working efficiently.