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 Last Time Integration & System Testing Part III Levels of Testing Ch 12, pp Today Integration & System Testing Part III Integration Testing Ch 13, pp Jorgensen, Paul C. Software Testing A Craftsman Approach 2
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 2013 Jorgensen, 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 node Jorgensen, 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 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 2013 Jorgensen, Paul C. Software Testing A Craftsman Approach
Lec 10 Integration Testing- 23 CSCE 747 Fall 2013 Jorgensen, Paul C. Software Testing A Craftsman Approach
Lec 10 Integration Testing- 24 CSCE 747 Fall 2013 Jorgensen, Paul C. Software Testing A Craftsman Approach
Lec 10 Integration Testing- 25 CSCE 747 Fall 2013 Jorgensen, Paul C. Software Testing A Craftsman Approach
Lec 10 Integration Testing- 26 CSCE 747 Fall 2013 Jorgensen, Paul C. Software Testing A Craftsman Approach
Lec 10 Integration Testing- 27 CSCE 747 Fall 2013 Jorgensen, 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 2013 Jorgensen, Paul C. Software Testing A Craftsman Approach