Integration testing is the type of software testing in which combined components are tested as a group. The core purpose of this type of software testing is identify errors in the integrated units. Test stubs & test drivers assist in integration testing.
A software project is made up of multiples modules coded by different programmers. This test is focused on data communication between the modules. Integration testing is also known as string testing.
PURPOSE OF INTEGRATION TESTING:
- An individual software developer design a module and his logic may differ from other developers. In this scenario it is necessary verify software model unity through integration testing.
- During Module development phase there is a wide chance that client’s requirements might change. The new changes may not be unit tested and that is why string testing is done.
- Interface of software module maybe corrupted and erroneous so integration testing is done to resolve the issue.
- Incase of faulty hardware interface this type of testing is applied.
APPROCAHES FOR TESTING:
Different strategies are used to perform integrated testing.
- Big Bang Approach:
In this approach all the modules and components are integrated and tested as one unit. These combined components are considered as entity during testing. Integration process will not be executed if all the components in the unit are not completed.
- Efficient for small systems.
- Localization of fault is complicated.
- Some of the interfaces which are ought to be tested can be missed easily.
- There is less time for the test execution in the test phase because it is done after modules are designed.
- Peripheral modules are not isolated and tested on priority. All the modules are tested together.
- INCRIMENTAL APPROACH:
In incremental testing two or more modules which are logically identical to one another are integrated and then functionality of the application are tested. Subsequently all the similar modules are integrated incrementally. This approach is further done by two methods.
- Top Down Method
- Bottom Up Method
STUBS & DRIVERS:
These are the programs which are dummy in nature and are used to facilitate the software testing activity. For the missing models these programs work as a substitute.
- BOTTOM UP INTEGRATION APPROACH:
This is a type of integration testing in which modules are tested from the lowest levels to the highest levels.
- Fault localization is simplified.
- Less time consuming unlike Big Bang Approach.
- Critical modules may tested at the last and may remain faulty.
- Early prototype is not applicable.
- Top Down Integration Approach:
In this approach modules are tested from top to bottom and tested accordingly. Stubs are used for some modules which are not ready.
- Fault localization is easy
- Early prototype is possible to obtain
- Major flaws are fixed first and tested on priority
- Need a lot of stubs
- Lower level modules are not tested properly
- SANDWICH APPROACH INTEGRATION TESTING:
This strategy involves testing of lower level modules with upper level modules and at the same time lower level module are integrated with top modules. It is a mixture of bottom up and top down approaches hence called hybrid integration testing. Both stubs and drivers are used in this strategy.
PROCESS OF INTEGRATION TESTING:
- Prepare test plans
- Scripts and test designs creation
- Test cases execution and reporting the errors
- Repetition of step 3 & 4 until integration output is satisfactory.
TIPS FOR INTEGRATION TESTING:
- First plan the test strategy that can be implemented and can cater test data accordingly.
- Test Critical modules on priority after examining application design.
- All the test cases should be tested in detail
- Before executing integration testing do prepare mock data.
For more info related to software testing: https://www.mammoth-ai.com/automation-testing/why-automation-testing/