Strategies of Integration Testing:
Integration testing can proceed in a number of
different ways, which can be broadly characterised as top down or
bottom up. In top down integration testing the high level control
routines are tested first, possibly with the middle level control
structures present only as stubs. Thus a menu driven program may have
the major menu options initially only present as stubs, which merely
announce that they have been successfully called, in order to allow the
high level menu driver to be tested.
Top down testing can proceed in a depth-first or a breadth-first
manner. For depth-first integration each module is tested in increasing
detail, replacing more and more levels of detail with actual code
rather than stubs. Alternatively breadth-first would proceed by
refining all the modules at the same level of control throughout the
application. In practice a combination of the two techniques would be
used. At the initial stages all the modules might be only partly
functional, possibly being implemented only to deal with non-erroneous
data. These would be tested in breadth-first manner, but over a period
of time each would be replaced with successive refinements which were
closer to the full functionality.
This allows depth-first testing of a module to be performed simultaneously with breadth-first testing of all the modules.
The other major category of integration testing is bottom up
integration testing where an individual module is tested from a test
harness. Once a set of individual modules have been tested they are
then combined into a collection of modules, known as builds, which are
then tested by a second test harness. This process can continue until
the build consists of the entire application.
In practice a combination of top-down and bottom-up testing would be
used. In a large software project being developed by a number of
sub-teams, or a smaller project where different modules were being
built by individuals. The sub-teams or individuals would conduct
bottom-up testing of the modules which they were constructing before
releasing them to an integration team which would assemble them
together for top-down testing
------------- MBA Examination papers
|