When you are testing a system, you should always adopt an incremental
approach where you gradually integrate components from different teams
and providers. Sometimes, you develop the overall structure of the
system and then add components to it. This is called top-down
integration. Alternatively, you may first integrate infrastructure
components that provide common services, such as network and database
access, then add the functional components. This is bottom-up
integration. In practice, for many systems, the integration strategy is a
mixture of these, with both infrastructure components and functional
components added in increments. In both top-down and bottom-up
integration, you usually have to develop additional code to simulate
other components and allow the system to execute.
You use an incremental approach to integration to make it easier to
discover interaction errors that occur. There are complex interactions
between system components and, when an anomalous output is discovered,
you may find it hard to identify where the error occurred. Initially,
you should integrate a minimal system configuration and test this
system. You then add components to this minimal configuration and test
after each added increment.
In the example shown in below figure, A, B, C and D are components and T1
to T5 are related sets of tests of the features incorporated in the
system. T1, T2 and T3 are first run on a system composed of component A
and component B (the minimal system). If these reveal defects, they are
corrected. Component C is integrated and T1, T2 and T3 are repeated to
ensure that there have not been unexpected interactions with A and B. If
problems arise in these tests, this probably means that they are due to
interactions with the new component. The source of the problem is
localised, thus simplifying defect location and repair. Test set T4 is
also run on the system. Finally, component D is integrated and tested
using existing and new tests (T5).
No comments:
Post a Comment