Part 2: W09-2 Integration Testing Flashcards
What is integration testing?
Testing interaction between modules.
What approaches exist for integration testing?
- Functional decomposition (Functional dependency)
- Call graph (Interaction dependency)
- Paths (Flow dependency)
What are the four types of Functional decomposition?
- Big Bang
- Top-Down
- Bottom-up
- Sandwich
How does Big Bang Functional decomposition work?
Integrate entire system then test entire system.
How does Top-Down Functional decomposition work?
Test top most function (main) then test the functions it calls.
How does Bottom-Up Functional decomposition work?
Test units at lowest level first then test function that call those lowest units.
How does Sandwich Functional decomposition work?
Test both main functions and lowest level functions and build towards the middle.
What are the pros and cons of Big Bang Functional decomposition?
Pros - everything is done before testing
Cons - may miss interface tests
What are the pros and cons of Top-Down Functional decomposition?
Pros - verifies major functions early
Cons - many stubs will be needed and they will be discarded late
What are the pros and cons of Bottom-Up Functional decomposition?
Pros - verifies data processing first, no stubs needed
Cons - many driver modules needed
How does Pair-Wise Call Graph based integration work?
Testing is restricted to two units (one does calling, one does receiving)
How does Neighbourhood Call Graph based integration work?
Testing units are restricted to direct neighbours in call graph.
How does Path based test integration work?
Create tests based on module execution.
What is an MM-Path?
Interleaved sequence of Module Execution Paths (MEPs)
What is an MEP?
Module Execution Path: sequence of statements from source to sink node