Integration testing

Integration testing provides systematic approaches for assembling the software in an incremental fashion. There are generally two approaches.

Top down Integration

1. Use top module as test driver

2. Develop "stubs" for all modulers subordinate to top module

3. Replace the stubs in a breadth-first or depth-first fashion

4. Use additional stubs as required in the downward expansion

5. Conduct test as each stub is replaced with a real module

This approach has the advantage that major control flow is tested first, and it provides rapid demonstration for functionality.