Integration testing support in building a whole software system, the purpose of the assembly and integration test. Integration testing is the next step of testing to make sure the interfaces among the components as well as the impact of diverse parts of the system, for instance operating system, hardware, file system and connections involving systems (Hou et al. 2010).
Tests are performed for the detection of interface errors. Some categories of interface errors are as follows,
Losing data passing through the interface;
Lack of the necessary links in the module;
Adverse effect of one module to another;
Sub-functions when combined do not form the required main function;
Individual (allowed) inaccuracies in the integration beyond the permissible level;
Problems with global data structures;
If the development team of software controls only one side of the interface, the final product may have problems with cooperation with other systems. The larger the size of the integration the more difficult is to locate the cause of the error. This increases the risk and time to repair. Integration strategies are based on the architecture of the system (e.g., from top to bottom, from bottom to top), functional sequences performing exchange of data, or other aspects of a component or system (Broy & Pretschner, 2012). In order to reduce the risk of late detection of an error, the integration should rather be done gradually, and not using it all at once (the integration of the big bang).
Levels of Integration Testing
Integration can take place at several levels.
The first level is the integration of the individual components into a single system.
The subsequent level is the integration of multiple systems into a single more complex.
Thus, the higher the level of integration, the more difficult to identify the cause of errors.
Different types of Integration Testing
There are several types of integration testing which may be conducted, are as follows,
Big Bang
In this approach, the simultaneous installation of all components in the system is done. This approach is applies if there is a possibility that all the components will be immediately started to interact normally. In practice this does not happen, so after the Big Bang are beginning to use a top-down approach is the integration of the components. The big bang integration is considered an ideal integration testing for the smaller system; this is also considered as the only advantage of the approach (Hou et al. 2010). On the other hand, it is very hard to make sure that all the testing has been completed earlier than release of the product.
Top-Down Testing
In this approach, the modules are combined to downward movement of the control hierarchy from the main control module. Slave modules are added to the structure or a search in depth or width in the search result. Downward integration testing is used to handle errors interaction of the components (Pitchford, 2013). You put all the ingredients first, and then start at one remove them from the system and check its ...