230 likes | 456 Views
Wk 11 Glass Box Testing, Flow Graphs, Test Coverage. SW Engineering of Standalone Programs. Basis set for statement coverage testing. Draw the flow graph Count the bounded regions including the “outside region”
E N D
Wk 11 Glass Box Testing, Flow Graphs, Test Coverage SW Engineering of Standalone Programs SW Eng Standalone Progs, Univ of Colorado Boulder
Basis set for statement coverage testing • Draw the flow graph • Count the bounded regions including the “outside region” • N is the number of linearly independent paths through the program control structure • A linearly independent path includes one node of the control flow graph not contained in any other • Create a basis set of linearly independent paths • Prepare test cases to force execution of each path in the basis set. • Execution of these test cases yields ______ coverage SW Eng Standalone Progs, Univ of Colorado Boulder
Flow Graph:McCabe’s is25 SW Eng Standalone Progs, Univ of Colorado Boulder
Flow Graph Revelations SW Eng Standalone Progs, Univ of Colorado Boulder
Complexity impact SW Eng Standalone Progs, Univ of Colorado Boulder
Uses of Test Coverage Measurement • Measure test suite completeness • Identify risk areas • Combine execution counts with complexity • Understand complex code segments that are frequently executed • Understand criticality • Assist in creating new test cases • Assist in manual detection of faults • Prioritize test cases for regression tests SW Eng Standalone Progs, Univ of Colorado Boulder
Some More Test Coverage terms SW Eng Standalone Progs, Univ of Colorado Boulder
Test Coverage MeasuresCompleteness of Test Suite SW Eng Standalone Progs, Univ of Colorado Boulder
Test Coverage MeasurementMinimize and select regression tests 377 Total Tests Blocks Decisions P-uses All-uses 75% 65% 38% 44% 160 Total Tests Blocks Decisions P-uses All-uses 75% 65% 38% 44% 5% of original tests provide 85% of original coverage 18 Total Tests Blocks Decisions P-uses All-uses 62% 52% 30% 37% 42% of the original tests provide identical coverage SW Eng Standalone Progs, Univ of Colorado Boulder
Unit Test Coverage vsSystem Test Errors SW Eng Standalone Progs, Univ of Colorado Boulder
System Test Observed & Expected Failures SW Eng Standalone Progs, Univ of Colorado Boulder
System Test Failure Rate over Active Hrs SW Eng Standalone Progs, Univ of Colorado Boulder
System Test Case Completion Graph SW Eng Standalone Progs, Univ of Colorado Boulder
HW 7 start of code getop(s, lim) /*get next operator or operand */ char all; int lim; { int i, c; while ((c = getch ( ) ) == ‘ ‘|| c == ‘\t’ || c == ‘\n’) ; if (c ! = ‘.’ && (c<‘0’ || c>’9’)) return (c); s[0] = c; for (i=1; (c=getchar()) >= ‘0’ && c <=‘9’; i++) if (i < lim) s[i] = c; if ... SW Eng Standalone Progs, Univ of Colorado Boulder
Inspections SW Eng Standalone Progs, Univ of Colorado Boulder
What are inspections? • Means of verifying work products • Manual examination technique • One piece at a time • Small group of peers – at least 4 SW Eng Standalone Progs, Univ of Colorado Boulder
Purpose • Verification of a work product against • established criteria • product specifications SW Eng Standalone Progs, Univ of Colorado Boulder
How performed? • Planning • Overview • Preparation • Meeting • Re-work • Follow up SW Eng Standalone Progs, Univ of Colorado Boulder
Roles of participants • Author • Moderator • Reader • Recorder • Inspector SW Eng Standalone Progs, Univ of Colorado Boulder
The meeting • Each participant reports preparation time • Reader paraphrases • Pace should be effective • Not too slow, not too fast • Inspectors look, listen, and think simultaneously • Author and inspectors speak up if they disagree with reader’s paraphrase – need to decide which is correct. If Reader, Recorder notes location & brief description of issue • Moderator can adjust pace and “atmosphere” SW Eng Standalone Progs, Univ of Colorado Boulder
End of meeting • Recorder’s list goes to author • After rework, at a minimum, author reviews changes with one inspector. • Better – inspect the changed item SW Eng Standalone Progs, Univ of Colorado Boulder
Benefits • Errors found at faster rate • Errors found early are cheaper to fix • Cross-training • Learn good and bad techniques by seeing them, e.g. coding techniques SW Eng Standalone Progs, Univ of Colorado Boulder
A Word about Extreme Programming • My personal view of extreme programming is that Beck & Cunningham managed to incorporate many effective software engineering tasks into short iterations with high feedback. • One example: pair programming is ... SW Eng Standalone Progs, Univ of Colorado Boulder