Integration Testing: Complex But Essential

Of all the different software testing methods used in the development of software, integration is probably the most complex and most costly. It is sometimes referred to as Integration and Testing. Whereas some software testing such as performance can be done at any stage of the development, integration testing (abbreviated I&T) has to follow a certain schedule in order to be effective. It is used after unit testing but before system testing. The unit testing was performed as the parts were small individual units or components and not yet part of the system as a whole

When a system is put together, different system components are put together to form a larger system or subsystem. When the system is functioning correctly, the components interact as a group. The integration testing will observe if there are any defects in the interface and the way the interact. The information used to plan the integration testing comes from the physical makeup of the system components, which were identified and designed earlier in the development stage.

Integration testing usually revolves around the system functions. Each function of the software consists of the individual units, which work by themselves. The units have already been tested and their performance verified in the unit testing. However, now that they are put together or "integrated" to make a larger component, they need to be tested again with integration testing. The units or modules are tested as a complete group that has been integrated and the results of the testing are to make the system ready for system testing.

The purpose of integration testing make sure that the functional, reliability and performance criteria for quality has been met with the groups of units that have been integrated. This is done with test cases, which have been written to make sure that the parts work together as a group the same as they worked individually as separate units. It is said to have a building block effect in which first one block is tested, then another and so forth with each addition being tested until they have the whole system.

There are different types of integration testing such as big bang and bottom-up. Big bang takes place when most of the developed units are coupled to make the major part of the system and then the integration testing is done on them as a whole. This method is efficient as far as saving money, but if the results are not accurately recorded, the integration will not be as easy as it should with the final integration testing being more difficult. Bottom up is when all the lower level or bottom units (modules) are integrated together and then tested. When this is finished, the next layer is integrated and tested. This continues until the entire system is integrated and tested. This method works best if all the units of that particular level are ready for integration.

Software Testing Process