Discuss the advantages and disadvantages of bottom up and top down integration approaches to integration testing.

This question appears in Mumbai University > Software Testing & Quality Assurance Subject

Marks: 6M /10 M

Year: Dec 2012, June 2015

1 Answer

Bottom up integration testing :

  • In bottom up approach, system integration begins with the integration of the lowest level modules.

  • Bottom up integration testing also uses test drivers to drive and pass appropriate data to the lower level modules. As and when the code for the other module gets ready, these drivers are replaced with the actual module.

Advantages of bottom up integration testing :

  • If the low level modules and their combined functions are often invoked by other modules, then it is more useful to test them first so that meaningful effective integration of other modules can be done.

  • Appropriate for applications where bottom up design methodology is used.

  • Advantageous if major flaws occur towards the bottom of the program.

  • Test conditions are easier to create.

  • Observation of test results is easier.

  • Always starting at the bottom of the hierarchy again means that the critical modules are generally built and tested first and therefore any errors or mistakes in these forms of modules are identified early in the process.

Disadvantages of bottom up integration testing :

  • Test engineers cannot observe system level functions from a partly integrated system. They cannot observe the system level functions until the top level test driver is in place.

  • The program as an entity does not exist until the last module is added.

  • One big disadvantage of bottom up strategy is that in this sort of testing no working model can be represented as far as several modules have been built.

Top down integration testing :

  • Top-down integration testing is an integration testing technique used in order to simulate the behaviour of the lower-level modules that are not yet integrated. Stubs are the modules that act as temporary replacement for a called module and give the same output as that of the actual product.

Advantages of top down integration testing :

  • Isolation of interface errors becomes easier because of incremental nature of top down integration.

  • Test cases designed to test the integration of a module are reused during the regression tests performed after integrating other modules.

  • Advantageous if major flaws occur toward the top of the program.

  • It provides early working module of the program and so design defects can be found and corrected early.

Disadvantages of top down integration testing :

  • Until a certain set of modules have been integrated, it may not be possible to observe meaningful system functions because of an absence of lower level modules and the presence of stubs.

  • Test case selection and stub design become increasingly difficult when stubs lie far away from the top level module.

  • Observation of test output is more difficult.

  • Stubs have to be written with utmost care as they will simulate setting of output parameters.

Please log in to add an answer.