Integration testing (sometimes called Integration and Testing, abbreviated I&T) is the phase of http://en.wikipedia.org/wiki/Software_testing - software testing in which individual software modules are combined and tested as a group. It follows http://en.wikipedia.org/wiki/Unit_testing - unit testing and precedes http://en.wikipedia.org/wiki/System_testing - system testing .
Integration testing takes as its input http://en.wikipedia.org/wiki/Module_%28programming%29 - modules that have been http://en.wikipedia.org/wiki/Unit_testing - unit tested , groups them in larger aggregates, applies tests defined in an integration http://en.wikipedia.org/wiki/Test_plan - test plan to those aggregates, and delivers as its output the integrated system ready for http://en.wikipedia.org/wiki/System_testing - system testing .
The purpose of integration testing is to verify functional, performance and reliability http://en.wikipedia.org/wiki/Requirements - requirements
placed on major design items. These "design items", i.e. assemblages
(or groups of units), are exercised through their interfaces using http://en.wikipedia.org/wiki/Black_box_testing - black box testing , success and http://en.wikipedia.org/w/index.php?title=Error_case&action=edit - error cases being simulated via appropriate parameter and data inputs. Simulated usage of shared data areas and http://en.wikipedia.org/wiki/Inter-process_communication - inter-process communication is tested and individual http://en.wikipedia.org/wiki/Subsystem - subsystems are exercised through their input interface. http://en.wikipedia.org/wiki/Test_case - 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 http://en.wikipedia.org/wiki/Big_Bang_%28project_management%29 - big bang , http://en.wikipedia.org/wiki/Top-down_and_bottom-up_design - top-down, bottom-up , and http://en.wikipedia.org/w/index.php?title=Back_bone&action=edit - 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. 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.
|