You
are here: Freetutes.com
> Systems
Analysis and Design
Bottom-Up Integration in Integration Testing
Bottom-up integration testing starts at the atomic modules level.
Atomic modules are the lowest levels in the program structure. Since modules are
integrated from the bottom up, processing required for modules that are subordinate
to a given level is always available, so stubs are not required in this approach.
A bottom-up integration implemented with the following steps:
-
Low-level modules are combined into clusters that perform a specific software
subfunction. These clusters are sometimes called builds.
-
A driver (a control program for testing) is written to coordinate test case
input and output.
-
The build is tested.
-
Drivers are removed and clusters are combined moving upward in the program
structure.


Fig. 9.7 (a) Program Modules (b)Bottom-up integration applied to program
modules in (a)
Fig 9.7 shows the how the bottom up integration is done. Whenever a new module
is added to as a part of integration testing, the program structure changes. There
may be new data flow paths, some new I/O or some new control logic. These changes
may cause problems with functions in the tested modules, which were working fine
previously.
To detect these errors regression testing is done. Regression testing is the
re-execution of some subset of tests that have already been conducted to ensure
that changes have not propagated unintended side effects in the programs. Regression
testing is the activity that helps to ensure that changes (due to testing or for
other reason) do not introduce undesirable behavior or additional errors.
As integration testing proceeds, the number of regression tests can grow quite
large. Therefore, regression test suite should be designed to include only those
tests that address one or more classes of errors in each of the major program
functions. It is impractical and inefficient to re-execute every test for every
program functions once a change has occurred.
<< Previous
Page | Contents
| Next Page >>
|