Page 285 - DCAP305_PRINCIPLES_OF_SOFTWARE_ENGINEERING
P. 285
Unit 14: Flow Based Testing Process
The process continues from step 2 until the entire program structure is built. The top-down Notes
integration strategy verifies major control or decision points early in the test process. In a
well-factored program structure, decision making occurs at upper levels in the hierarchy and
is therefore encountered first. If major control problems do exist, early recognition is essential.
If depth-first integration is selected, a complete function of the software may be implemented
and demonstrated.
Bottom-up Integration
Bottom-up integration testing, as its name implies, begins construction and testing with atomic
modules i.e., components at the lowest levels in the Because components are integrated from the
bottom up, processing points subordinate to a given level is always available and the eliminated.
A bottom-up integration strategy may be implemented with the following:
1. Low-level components are combined into clusters (sometimes called builds) that perform
a specific software sub function.
2. A driver (a control program for testing) is written to coordinate input and output.
3. The cluster is tested.
4. Drivers are removed and clusters are combined moving upward in gram structure.
Components are combined to form clusters 1, 2, and 3. Each of the clusters is tested using a as a
dashed block). Components in clusters 1 and 2 are subordinate to D and D are removed and the
l
2
clusters are interfaced directly to lf. Driver D for cluster 3 is removed prior to integration with
3
module Mb. Mb will ultimately be integrated with component M, and so forth. (See Figure 14.2)
Figure 14.2: Bottom-up Integration
As integration moves upward, the need for separate test drivers lessens. In fact, if the top two
levels of program structure are integrated top down, the number of drivers can be reduced
substantially and integration of clusters is greatly simplified.
Regression Testing
Each time a new module is added as part of integration testing, the software changes. New
data flow paths are established, new 1/0 may occur, and new control logic is invoked. These
LOVELY PROFESSIONAL UNIVERSITY 279