equivalence class testing [8] - software testing techniques (cis640)
TRANSCRIPT
![Page 1: Equivalence Class Testing [8] - Software Testing Techniques (CIS640)](https://reader036.vdocuments.us/reader036/viewer/2022081900/5a64d6cd7f8b9a92148b4a09/html5/thumbnails/1.jpg)
Equivalence Class Testing
Venkatesh-Prasad Ranganath Kansas State University
![Page 2: Equivalence Class Testing [8] - Software Testing Techniques (CIS640)](https://reader036.vdocuments.us/reader036/viewer/2022081900/5a64d6cd7f8b9a92148b4a09/html5/thumbnails/2.jpg)
Equivalence Classes
m
n
f
d
a c
e
b
m2m1m0, m1, m2, and m3 are equivalence classes of m
m0 m3
m1 and m2 are “valid”
equivalence classes of m
We can define similar eq.
classes for n
![Page 3: Equivalence Class Testing [8] - Software Testing Techniques (CIS640)](https://reader036.vdocuments.us/reader036/viewer/2022081900/5a64d6cd7f8b9a92148b4a09/html5/thumbnails/3.jpg)
Weak Normal Equivalence Class Testing
m
n
f
d
a c
e
b
Covers all valid eq. classes
of each variable
![Page 4: Equivalence Class Testing [8] - Software Testing Techniques (CIS640)](https://reader036.vdocuments.us/reader036/viewer/2022081900/5a64d6cd7f8b9a92148b4a09/html5/thumbnails/4.jpg)
Weak Robust Equivalence Class Testing
m
n
f
d
a c
e
b
Covers all eq. classes
of each variable
![Page 5: Equivalence Class Testing [8] - Software Testing Techniques (CIS640)](https://reader036.vdocuments.us/reader036/viewer/2022081900/5a64d6cd7f8b9a92148b4a09/html5/thumbnails/5.jpg)
Strong Normal Equivalence Class Testing
m
n
f
d
a c
e
b
Covers all combinations of
all valid eq. classes of each variable
![Page 6: Equivalence Class Testing [8] - Software Testing Techniques (CIS640)](https://reader036.vdocuments.us/reader036/viewer/2022081900/5a64d6cd7f8b9a92148b4a09/html5/thumbnails/6.jpg)
Strong Robust Equivalence Class Testing
m
n
f
d
a c
e
b
Covers all combinations of all eq. classes
of each variable
![Page 7: Equivalence Class Testing [8] - Software Testing Techniques (CIS640)](https://reader036.vdocuments.us/reader036/viewer/2022081900/5a64d6cd7f8b9a92148b4a09/html5/thumbnails/7.jpg)
Limitations• Arriving at correct equivalent classes may not be
easy • Often relies on domain knowledge
• Possible to introduce • redundant test cases • incomplete test suite • “impossible” test cases
![Page 8: Equivalence Class Testing [8] - Software Testing Techniques (CIS640)](https://reader036.vdocuments.us/reader036/viewer/2022081900/5a64d6cd7f8b9a92148b4a09/html5/thumbnails/8.jpg)
Type of Triangle• Universe of test data (input) is the set of all triples of
positive integers • Properties
• p0(x, y, z) is true if x+y>z and z+x>y and y+z>x • p1(x, y, z) is true if x==y==z • p2(x, y, z) is true if x==y or y==z or z==x
• Equivalence Classes • Not-a-triangle: all triples satisfying !p0 • Equilateral: all triples satisfying p0 and p1
• since p1 implies p0, we could drop p0 • Isosceles: all triples satisfying p0, !p1, and p2 • Scalene: all triples satisfying p0, !p1, and !p2