Integration Testing


Integration means combining. For Example, in this testing phase, different software modules are combined and tested as a group to make sure that integrated system is ready for system testing.
Integrating testing checks the data flow from one module to other modules. This kind of testing is performed by testers.



Big-Bang Testing


Big Bang Testing is an Integration testing approach in which all the components or modules are integrated together at once and then tested as a unit. This combined set of components is considered as an entity while testing. If all of the components in the unit are not completed, the integration process will not execute.


Advantages:

  • Convenient for small systems.


Disadvantages:

  • Fault Localization is difficult.
  • Given the sheer number of interfaces that need to be tested in this approach, some interfaces link to be tested could be missed easily.
  • Since the Integration testing can commence only after "all" the modules are designed, the testing team will have less time for execution in the testing phase.
  • Since all modules are tested at once, high-risk critical modules are not isolated and tested on priority. Peripheral modules which deal with user interfaces are also not isolated and tested on priority.


Incremental Testing


In the Incremental Testing approach, testing is done by integrating two or more modules that are logically related to each other and then tested for proper functioning of the application. Then the other related modules are integrated incrementally and the process continues until all the logically related modules are integrated and tested successfully.


Incremental Approach, in turn, is carried out by two different Methods:

  • Bottom Up
  • Top Down


Bottom-up Integration Testing

Bottom-up Integration Testing is a strategy in which the lower-level modules are tested first. These tested modules are then further used to facilitate the testing of higher-level modules. The process continues until all modules at the top level are tested. Once the lower-level modules are tested and integrated, then the next level of modules are formed.


Diagrammatic Representation:



Advantages:

  • Fault localization is easier.
  • No time is wasted waiting for all modules to be developed unlike Big-bang approach


Disadvantages:

  • Critical modules (at the top level of software architecture) which control the flow of application are tested last and may be prone to defects.
  • An early prototype is not possible


Top-down Integration Testing

Top-Down Integration Testing is a method in which integration testing takes place from top to bottom following the control flow of the software system. The higher-level modules are tested first and then lower-level modules are tested and integrated in order to check the software functionality. Stubs are used for testing if some modules are not ready.


Diagrammatic Representation:




Advantages:

  • Fault Localization is easier.
  • Possibility to obtain an early prototype.
  • Critical Modules are tested on priority; major design flaws could be found and fixed first.


Disadvantages:

  • Needs many Stubs.
  • Modules at a lower level are tested inadequately




Useful Links:
Integration testing /article/eng

Integration testing /article/eng

Integration testing /article/rus

Testing levels /video tutorial/eng

Integration testing /video tutorial/eng

Content