System integration testing is a systematic techniques of identifying errors that can occurs when individual components or modules or chunk of source code are combined together.
It checks whether data is lost or not across an interface and also checks the communication or behavior of system after combined different unit modules.
System integration testing used to expose faults in the communication between integrated system components.
It is tested by developer as well as tester after unit testing and before system testing.
Integration testing mainly follows black box testing and some times white box testing.
Consider project ‘A’ is divided into two modules, module B and module C. These modules are again divided into sub modules B1, B2 and C1, C2. These sub modules are again divided into sub modules B11, B21 and C11, C21.
System integration testing follows number of incremental testing strategies while constructing the programs which are
1] Top-down Integration approach
2] Bottom-up Integration approach
3] Big bang approach
4] Sandwich testing approach
1] Top-down integration -:
Modules are integrated by moving downwards through hierarchy and module testing starts from top to bottom.
Top module is integrated to lower module and so on till the end of project.
Stubs are used to test dummy module of lower level components.
2] Bottom-up integration -;
Modules are integrated and tested by moving upward.
It is started form lowest module and gradually moves toward top module.
Drivers are used to test dummy modules for higher level components.
3] Big bang approach -:
Test all integrated components or complete software.
4] Sandwich testing approach -:
Test top-down testing with bottom-up testing combine features.