INTEGRATION TESTING After or during Unit Testing Putting

  • Slides: 15
Download presentation
INTEGRATION TESTING ● ● After or during Unit Testing Putting modules together in a

INTEGRATION TESTING ● ● After or during Unit Testing Putting modules together in a controlled way to incrementally build up the final system. Start with a hierarchy of modules. Write Stubs and Drivers as needed.

HIERARCHY A C B E F COPY DOWN D G

HIERARCHY A C B E F COPY DOWN D G

BOTTOM-UP Test E Test B, E, F Test C Test G Test D, G

BOTTOM-UP Test E Test B, E, F Test C Test G Test D, G Test A, B, C, D, E, F, G

Bottom-Up Testing ● ● No need for Stubs. Useful when many of the low-level

Bottom-Up Testing ● ● No need for Stubs. Useful when many of the low-level components are general-purpose utility routines that are invoked often by others. Useful for object-oriented design. Major system functionality tested last!

TOP-DOWN Test A, B, C, D, E, F, G

TOP-DOWN Test A, B, C, D, E, F, G

Top-Down Design ● ● ● No need for Drivers. Test main functionality early. More

Top-Down Design ● ● ● No need for Drivers. Test main functionality early. More stubs than drivers. Stubs are usually harder to write. May find some timing problems (low level modules) late in the testing cycle.

Modified Top-Down Test B Test A Test C Test D Test E Test A,

Modified Top-Down Test B Test A Test C Test D Test E Test A, B, C, D Test F Test G Test A, B, C, D, E, F

Modified Top-Down ● ● Reduces the number of stubs. Some drivers are needed to

Modified Top-Down ● ● Reduces the number of stubs. Some drivers are needed to test each module separately.

BIG-BANG Test C Test B Test D Test E Test F Test A, B,

BIG-BANG Test C Test B Test D Test E Test F Test A, B, C, D, E, F, G Test G

BIG BANG ● ● ● Most programmers use this method. Somewhat practical for small

BIG BANG ● ● ● Most programmers use this method. Somewhat practical for small systems. Not practical for large systems. Requires both stubs and drivers. It's difficult to find failures. Interface faults cannot be distinguished easily from other

SANDWICH Test A Test G Test E Test F Test D, G Test B,

SANDWICH Test A Test G Test E Test F Test D, G Test B, E, F Test A, B, C, D, E, F, G

SANDWICH ● ● Combines a Top-Down and a Bottom-Up approach. System is viewed as

SANDWICH ● ● Combines a Top-Down and a Bottom-Up approach. System is viewed as three layers, just like a sandwich (the target layer in the middle, the levels above and below). Testing converges on the target layer. Stubs for utilities need not be

MODIFIED SANDWICH Test A Test G Test D, G Test C Test E Test

MODIFIED SANDWICH Test A Test G Test D, G Test C Test E Test F Test D Test A, B, C, D, E, F, G Test B, E, F Test B

MODIFIED SANDWICH ● Allows upper-level components to be tested before merging them with others.

MODIFIED SANDWICH ● Allows upper-level components to be tested before merging them with others.

Comparison of Integration Strategies Handout

Comparison of Integration Strategies Handout