'''Integration testing''' (sometimes called '''Integration ''and'' testing''' and abbreviated '''I&T''') is the phase of [[software testing]] in which individual software modules are combined and tested as a group. It follows [[unit testing]] and precedes [[system testing]].
'''Integration testing''' takes as its input [[module (programming)|modules]] that have been [[unit testing|unit tested]], groups them in larger aggregates, applies tests defined in an Integration [[test plan]] to those aggregates, and delivers as its output the integrated system ready for [[system 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 case]]s being simulated via appropriate parameter and data inputs. Simulated usage of shared data areas and [[inter-process communication]] is tested, individual [[subsystem]]s are exercised through their input interface. All [[test case]]s are constructed to test that all components within assemblages interact correctly, for example, across procedure calls or process activations.and is done after the testing single module 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 (project management)|Big Bang]], [[Top-down and bottom-up design|Top Down, Bottom Up]], and [[Back bone]].