Lec 10 Integration Testing- 1 CSCE 747 Fall 2013
CSCE 747 Software Testing and Quality Assurance
Lecture 10 – Integration Testing
9/30/2013 1
Lec 10 Integration Testing- 2 CSCE 747 Fall 2013 2
Last Time Integration & System
Testing Part III Levels of Testing Ch 12, pp
181-199
Today Integration & System
Testing Part III Integration Testing
Ch 13, pp 201-227
Jorgensen, Paul C. Software Testing A Craftsman Approach
Lec 10 Integration Testing- 3 CSCE 747 Fall 2013
Table 13.1 SATM Units
Jorgensen, Paul C. Software Testing A Craftsman Approach
Lec 10 Integration Testing- 4 CSCE 747 Fall 2013
SATM Functional Decomposition
Jorgensen, Paul C. Software Testing A Craftsman Approach
Lec 10 Integration Testing- 5 CSCE 747 Fall 2013Jorgensen, Paul C. Software Testing
A Craftsman Approach
Lec 10 Integration Testing- 6 CSCE 747 Fall 2013
SATM Call Graph
Jorgensen, Paul C. Software Testing A Craftsman Approach
Lec 10 Integration Testing- 7 CSCE 747 Fall 2013
Stubs for Top Down Integration
Jorgensen, Paul C. Software Testing A Craftsman Approach
Lec 10 Integration Testing- 8 CSCE 747 Fall 2013
Figure 13.3 Top-down Integration
Jorgensen, Paul C. Software Testing A Craftsman Approach
Lec 10 Integration Testing- 9 CSCE 747 Fall 2013
Figure 13.3 Top-down Integration
Jorgensen, Paul C. Software Testing A Craftsman Approach
Lec 10 Integration Testing- 10 CSCE 747 Fall 2013
Figure 13.3 Top-down Integration
Jorgensen, Paul C. Software Testing A Craftsman Approach
Lec 10 Integration Testing- 11 CSCE 747 Fall 2013
Bottom-Up Integration
Jorgensen, Paul C. Software Testing A Craftsman Approach
Lec 10 Integration Testing- 12 CSCE 747 Fall 2013
Sandwich Integration
John Montagu, 4th Earl of Sandwich
Jorgensen, Paul C. Software Testing A Craftsman Approach
Lec 10 Integration Testing- 13 CSCE 747 Fall 2013
Call Based Graph Integration
Pairwise integration
Neighborhood integration InteriorNodes =
nodes – sources – sinks
Neighborhoods Interior+source
nodeJorgensen, Paul C. Software Testing
A Craftsman Approach
Lec 10 Integration Testing- 14 CSCE 747 Fall 2013
Neighborhood Integration
Jorgensen, Paul C. Software Testing A Craftsman Approach
Lec 10 Integration Testing- 15 CSCE 747 Fall 2013
Path Based Integration
Jorgensen, Paul C. Software Testing A Craftsman Approach
Lec 10 Integration Testing- 16 CSCE 747 Fall 2013
New and Extended Concepts
Definition: A source node in a program is a statement at which program execution begins or resumes.
Definition: A sink node in a program is a statement at which program execution stops.
Definition: A module execution path is a sequence of statements that begins with a source node and ends with a sink node, with no intervening sink nodes.
Jorgensen, Paul C. Software Testing A Craftsman Approach
Lec 10 Integration Testing- 17 CSCE 747 Fall 2013
Definition: A message is a programming language mechanism by which one unit transfers control to another unit.
Definition: An MM-Path is an interleaved sequence of module execution paths and messages.
Jorgensen, Paul C. Software Testing A Craftsman Approach
Lec 10 Integration Testing- 18 CSCE 747 Fall 2013
Fig 13.8 MM-Paths across three Units
Jorgensen, Paul C. Software Testing A Craftsman Approach
Lec 10 Integration Testing- 19 CSCE 747 Fall 2013
Definition: Given a set of units, their MM-Path graph is the directed graph in which nodes are module execution paths and edges correspond to messages and returns from one unit to another.
Jorgensen, Paul C. Software Testing A Craftsman Approach
Lec 10 Integration Testing- 20 CSCE 747 Fall 2013
Figure 13.10 Data Quiescence
Jorgensen, Paul C. Software Testing A Craftsman Approach
Lec 10 Integration Testing- 21 CSCE 747 Fall 2013
SATM code
Jorgensen, Paul C. Software Testing A Craftsman Approach
Lec 10 Integration Testing- 22 CSCE 747 Fall 2013Jorgensen, Paul C. Software Testing
A Craftsman Approach
Lec 10 Integration Testing- 23 CSCE 747 Fall 2013Jorgensen, Paul C. Software Testing
A Craftsman Approach
Lec 10 Integration Testing- 24 CSCE 747 Fall 2013Jorgensen, Paul C. Software Testing
A Craftsman Approach
Lec 10 Integration Testing- 25 CSCE 747 Fall 2013Jorgensen, Paul C. Software Testing
A Craftsman Approach
Lec 10 Integration Testing- 26 CSCE 747 Fall 2013Jorgensen, Paul C. Software Testing
A Craftsman Approach
Lec 10 Integration Testing- 27 CSCE 747 Fall 2013Jorgensen, Paul C. Software Testing
A Craftsman Approach
Lec 10 Integration Testing- 28 CSCE 747 Fall 2013
UML Sequence Diagram a sample MM-Path
Jorgensen, Paul C. Software Testing A Craftsman Approach
Lec 10 Integration Testing- 29 CSCE 747 Fall 2013
MM-Path directed graphs
Jorgensen, Paul C. Software Testing A Craftsman Approach
Lec 10 Integration Testing- 30 CSCE 747 Fall 2013
Call Graph of “Integration” Version
Jorgensen, Paul C. Software Testing A Craftsman Approach
Lec 10 Integration Testing- 31 CSCE 747 Fall 2013
SATM Integration Version
Function isLeapYear(year) lastDayOfMonth( ) getDate()
Jorgensen, Paul C. Software Testing A Craftsman Approach
Lec 10 Integration Testing- 32 CSCE 747 Fall 2013
isLeap()
Jorgensen, Paul C. Software Testing A Craftsman Approach
Lec 10 Integration Testing- 33 CSCE 747 Fall 2013
lastDayOfMonth
Jorgensen, Paul C. Software Testing A Craftsman Approach
Lec 10 Integration Testing- 34 CSCE 747 Fall 2013
validDate()
Jorgensen, Paul C. Software Testing A Craftsman Approach
Lec 10 Integration Testing- 35 CSCE 747 Fall 2013
Decomposition Based Integration
Jorgensen, Paul C. Software Testing A Craftsman Approach
Lec 10 Integration Testing- 36 CSCE 747 Fall 2013
Call Graph Based Integration
Jorgensen, Paul C. Software Testing A Craftsman Approach
Lec 10 Integration Testing- 37 CSCE 747 Fall 2013
MM-Path-Based Integration
Jorgensen, Paul C. Software Testing A Craftsman Approach
Lec 10 Integration Testing- 38 CSCE 747 Fall 2013
Table13.4 Comparison of Integration Testing Strategies
Lec 10 Integration Testing- 39 CSCE 747 Fall 2013Jorgensen, Paul C. Software Testing
A Craftsman Approach