Integration testing
Purpose
The purpose of integration testing is to verify
functional, performance and reliability requirements placed on major
design items. These "design items", i.e. assemblages (or groups of
units), are exercised through their interfaces using black box testing,
success and error cases being simulated via appropriate parameter and
data inputs. Simulated usage of shared data areas and inter-process
communication is tested and individual subsystems are exercised through
their input interface. Test cases are constructed to test that all
components within assemblages interact correctly, for example across
procedure calls or process activations, and this is done after testing
individual modules, i.e. unit testing.
The overall idea is a "building block" approach, in
which verified assemblages are added to a verified base which is then
used to support the integration testing of further assemblages.
The different types of integration testing are big bang, top-down, bottom-up, and back bone.
Big Bang : In this approach all or most of the
developed modules are coupled together to form a complete software
system or major part of the system and then used for integration
testing. The Big Bang method is very effective for saving time in the
integration testing process. However, if the test cases and their
results are not recorded properly, the entire integration process will
be more complicated and may prevent the testing team from achieving the
goal of integration testing.
Bottom Up: All the bottom or low level modules,
procedures or functions are integrated and then tested. After the
integration testing of lower level integrated modules, the next level
of modules will be formed and can be used for integration testing. This
approach is helpful only when all or most of the modules of the same
development level are ready. This method also helps to determine the
levels of software developed and makes it easier to report testing
progress in the form of a percentage.
Limitations
Any conditions not stated in specified integration
tests, outside of the confirmation of the execution of design items,
will generally not be tested. Integration tests can not include
system-wide (end-to-end) change testing.
|