Upload
areej-al-majed
View
215
Download
0
Embed Size (px)
Citation preview
7/28/2019 Path Testing Solution
1/4
1.3 Basis Path Testing
A testing mechanism proposed by McCabe.
Aim is to derive a logical complexity measure of a procedural design and use this as a
guide for defining a basic set of execution paths.
Test cases which exercise basic set will execute every statement at least once.
1.3.1 Flow Graph Notation
Notation for representing control flow
On a flow graph:
Arrows called edges represent flow of control Circles called nodes represent one or more actions. Areas bounded by edges and nodes called regions. Apredicate node is a node containing a condition
Any procedural design can be translated into a flow graph.
Note that compound boolean expressions at tests generate at least two predicate nodeand additional arcs.
Example:
7/28/2019 Path Testing Solution
2/4
7/28/2019 Path Testing Solution
3/4
1: WHILE NOT EOF LOOP
2: Read Record;
2: IF field1 equals
0 THEN3: Add field1 to
Total
3: Increment
Counter
4: ELSE
4: IF field2
equals 0 THEN
5: Print
Total, Counter
5: Reset
Counter
6: ELSE
6: Subtract
field2 from Total
7: END IF
8: END IF
8: Print "End
Record"
9: END LOOP
9: Print Counter
Example has:
Independent Paths:1. 1, 92. 1, 2, 3, 8, 1, 93. 1, 2, 4, 5, 7, 8, 1, 94. 1, 2, 4, 6, 7, 8, 1, 9
Cyclomatic Complexity of 4; computed using any of these 3 formulas:1. #Edges - #Nodes + #terminal vertices (usually 2)2. #Predicate Nodes + 13.Number of regions of flow graph.
Cyclomatic complexity provides upper bound for number of tests required toguarantee coverage of all program statements.
Could we omit path #1 since it's covered in #2?
1.3.3 Deriving Test Cases
7/28/2019 Path Testing Solution
4/4
1. Using the design or code, draw the corresponding flow graph.2. Determine the cyclomatic complexity of the flow graph.3. Determine a basis set of independent paths.4. Prepare test cases that will force execution of each path in the basis set.
Note: some paths may only be able to be executed as part of another test.
This page was originally created byDr. A.J. Sobey([email protected]).
Access: Unrestricted.
Created: Semester 2, 1995
Updated: 8th June, 1997
The original URL: http://louisa.levels.unisa.edu.au/se/testing-notes/test01_3.htm appears to be no longer
working, so I copied the page here.
http://www.unisanet.unisa.edu.au/staff/Homepage.asp?Name=Anthony.Sobeyhttp://www.unisanet.unisa.edu.au/staff/Homepage.asp?Name=Anthony.Sobeyhttp://www.unisanet.unisa.edu.au/staff/Homepage.asp?Name=Anthony.Sobeymailto:[email protected]:[email protected]:[email protected]:[email protected]://www.unisanet.unisa.edu.au/staff/Homepage.asp?Name=Anthony.Sobey