Professional Documents
Culture Documents
Agenda
Robustness Testing
Worst Case Testing
Special Value Testing
Examples
Equivalence Classes
Agenda
Robustness Testing
Worst Case Testing
Special Value Testing
Examples
Equivalence Classes
F(x1, x2), a x1 b, c x2 d
Boundary value analysis focuses on the
boundary of the input space to identify test
cases
The rationale behind boundary value
testing is that errors tend to occur near the
extreme values of an input variable
Agenda
Robustness Testing
Worst Case Testing
Special Value Testing
Examples
Equivalence Classes
Boolean variables
Agenda
Robustness Testing
Worst Case Testing
Special Value Testing
Examples
Equivalence Classes
10
Agenda
Robustness Testing
Worst Case Testing
Special Value Testing
Examples
Equivalence Classes
11
Robustness Testing
Robustness Testing
13
Agenda
Robustness Testing
Worst Case Testing
Special Value Testing
Examples
Equivalence Classes
14
For each variable create the set <min, min+, nom, max-, max>
Take the Cartesian product of these sets to generate test cases
16
x2
c
a
x1
17
Agenda
Robustness Testing
Worst Case Testing
Special Value Testing
Examples
Equivalence Classes
18
Agenda
Robustness Testing
Worst Case Testing
Special Value Testing
Examples
Equivalence Classes
20
min = 1
min+ = 2
nom = 100
max- = 199
max = 200
Case
1
2
3
4
5
6
7
8
9
10
11
12
13
a
100
100
100
100
100
100
100
100
100
1
2
199
200
b
100
100
100
100
100
1
2
199
200
100
100
100
100
c
1
2
100
199
200
100
100
100
100
100
100
100
100
Expected Output
Isosceles
Isosceles
Equilateral
Isosceles
Not a Triangle
Isosceles
Isosceles
Isosceles
Not a Triangle
Isosceles
Isosceles
Isosceles
Not a Triangle
21
a
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
b
1
1
1
1
1
2
2
2
2
2
100
100
100
100
100
199
199
199
199
199
200
200
200
200
200
1
1
1
1
1
c
1
2
100
199
200
1
2
100
199
200
1
2
100
199
200
1
2
100
199
200
1
2
100
199
200
1
2
100
199
200
Expected Output
Equilateral
Not a Triangle
Not a Triangle
Not a Triangle
Not a Triangle
Not a Triangle
Isosceles
Not a Triangle
Not a Triangle
Not a Triangle
Not a Triangle
Not a Triangle
Isosceles
Not a Triangle
Not a Triangle
Not a Triangle
Not a Triangle
Not a Triangle
Isosceles
Not a Triangle
Not a Triangle
Not a Triangle
Not a Triangle
Not a Triangle
Isosceles
Not a Triangle
Isosceles
Not a Triangle
Not a Triangle
Not a Triangle
Case
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
a
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
100
100
100
100
100
100
100
100
100
100
b
2
2
2
2
2
100
100
100
100
100
199
199
199
199
199
200
200
200
200
200
1
1
1
1
1
2
2
2
2
2
c
1
2
100
199
200
1
2
100
199
200
1
2
100
199
200
1
2
100
199
200
1
2
100
199
200
1
2
100
199
200
Expected Output
Isosceles
Equilateral
Not a Triangle
Not a Triangle
Not a Triangle
Not a Triangle
Not a Triangle
Isosceles
Not a Triangle
Not a Triangle
Not a Triangle
Not a Triangle
Not a Triangle
Isosceles
Scalene
Not a Triangle
Not a Triangle
Not a Triangle
Scalene
Isosceles
Not a Triangle
Not a Triangle
Isosceles
Not a Triangle
Not a Triangle
Not a Triangle
Not a Triangle
Isosceles
Not a Triangle
Not a Triangle
22
Agenda
Robustness Testing
Worst Case Testing
Special Value Testing
Examples
Equivalence Classes
23
month
min = 1
min+ = 2
nom = 6
max- = 11
max = 12
day
min = 1
min+ = 2
nom = 15
max- = 30
max = 31
year
min = 1812
min+ = 1813
nom = 1912
max- = 2011
max = 2012
year
1812
1813
1912
2011
2012
1912
1912
1912
1912
1912
1912
1912
1912
Expected Output
June 16, 1812
June 16, 1813
June 16, 1912
June 16, 2011
June 16, 2012
June 2, 1912
June 3, 1912
July 1, 1912
error
January 16, 1912
February 16, 1912
November 16, 1912
December 16, 1912
24
month
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
day
1
1
1
1
1
2
2
2
2
2
15
15
15
15
15
30
30
30
30
30
31
31
31
31
31
1
1
1
1
1
year
1812
1813
1912
2011
2012
1812
1813
1912
2011
2012
1812
1813
1912
2011
2012
1812
1813
1912
2011
2012
1812
1813
1912
2011
2012
1812
1813
1912
2011
2012
Expected Output
January 2, 1812
January 2, 1813
January 2, 1912
January 2, 2011
January 2, 2012
January 3, 1812
January 3, 1813
January 3, 1912
January 3, 2011
January 3, 2012
January 16, 1812
January 16, 1813
January 16, 1912
January 16, 2011
January 16, 2012
January 31, 1812
January 31, 1813
January 31, 1912
January 31, 2011
January 31, 2012
February 1, 1812
February 1, 1813
February 1, 1912
February 1, 2011
February 1, 2012
February 2, 1812
February 2, 1813
February 2, 1912
February 2, 2011
February 2, 2012
Case
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
month
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
6
6
6
6
6
6
6
6
6
6
day
2
2
2
2
2
15
15
15
15
15
30
30
30
30
30
31
31
31
31
31
1
1
1
1
1
2
2
2
2
2
year
1812
1813
1912
2011
2012
1812
1813
1912
2011
2012
1812
1813
1912
2011
2012
1812
1813
1912
2011
2012
1812
1813
1912
2011
2012
1812
1813
1912
2011
2012
Expected Output
February 3, 1812
February 3, 1813
February 3, 1912
February 3, 2011
February 3, 2012
February 16, 1812
February 16, 1813
February 16, 1912
February 16, 2011
February 16, 2012
error
error
error
error
error
error
error
error
error
error
June 2, 1812
June 2, 1813
June 2, 1912
June 2, 2011
June 2, 2012
June 3, 1812
June 3, 1813
June 3, 1912
June 3, 2011
June 3, 2012
25
Agenda
Robustness Testing
Worst Case Testing
Special Value Testing
Examples
Equivalence Classes
26
locks
1
1
1
2
5
10
10
9
10
10
10
11
14
18
18
17
18
18
18
19
48
70
70
69
70
stocks
1
1
2
1
5
10
9
10
10
10
11
10
14
18
17
18
18
18
19
18
48
80
79
80
80
barrels
1
2
1
1
5
9
10
10
10
11
10
10
14
17
18
18
18
19
18
18
48
89
90
90
90
sales
100
125
130
145
500
975
970
955
1000
1025
1030
1045
1400
1775
1770
1755
1800
1825
1830
1845
4800
7775
7770
7755
7800
commission
10
12.5
13
14.5
50
97.5
97
95.5
100
103.75
104.5
106.75
160
216.25
215.5
213.25
220
225
226
229
820
1415
1414
1411
1420
comment
output minimum
output minimum +
output minimum +
output minimum +
midpoint
border point border point border point border point
border point +
border point +
border point +
midpoint
border point border point border point border point
border point +
border point +
border point +
midpoint
output maximum output maximum output maximum output maximum
28
locks
10
18
18
stocks
11
17
19
barrels
9
19
17
sales
1005
1795
1805
commission
100.75
219.25
221
comment
border point +
border point border point +
29
Agenda
Robustness Testing
Worst Case Testing
Special Value Testing
Examples
Equivalence Classes
30
Equivalence Classes
Motivations
second guess the likely implementation , and think about the functional
manipulations that must somehow be present in the implementation
31
Equivalence Classes
32
Agenda
Robustness Testing
Worst Case Testing
Special Value Testing
Examples
Equivalence Classes
33
A = A1 A2 A3
B = B1 B2 B3 B4
C = C1 C2
a1 A1, b3 B3, c2 C2
Test Case
WE1
WE2
WE3
WE4
a
a1
a2
a3
a1
b
b1
b2
b3
b4
c
c1
c2
c1
c2
Agenda
Robustness Testing
Worst Case Testing
Special Value Testing
Examples
Equivalence Classes
35
Test Case
SE1
SE2
SE3
SE4
SE5
SE6
SE7
SE8
SE9
SE10
SE11
SE12
SE13
SE14
SE15
SE16
SE17
SE18
SE19
SE20
SE21
SE22
SE23
SE24
a
a1
a1
a1
a1
a1
a1
a1
a1
a2
a2
a2
a2
a2
a2
a2
a2
a3
a3
a3
a3
a3
a3
a3
a3
b
b1
b1
b2
b2
b3
b3
b4
b4
b1
b1
b2
b2
b3
b3
b4
b4
b1
b1
b2
b2
b3
b3
b4
b4
c
c1
c2
c1
c2
c1
c2
c1
c2
c1
c2
c1
c2
c1
c2
c1
c2
c1
c2
c1
c2
c1
c2
c1
c2
36
Agenda
Robustness Testing
Worst Case Testing
Special Value Testing
Examples
Equivalence Classes
37
Problems:
Very often, the specification does not define
what the expected output for an invalid test
case should be a lot of time spent in
defining expected outputs
Strongly typed languages eliminate the need
for the consideration of invalid inputs
39
Agenda
Robustness Testing
Worst Case Testing
Special Value Testing
Examples
Equivalence Classes
40
a
5
2
3
4
b
5
2
4
1
c
5
3
5
2
Expected Output
Equilateral
Isosceles
Scalene
Not a Triangle
41
42
Agenda
Robustness Testing
Worst Case Testing
Special Value Testing
Examples
Equivalence Classes
43
Input variables
1 month 12
1 day 31
1812 year 2012
Traditional approach
M1 = { month : 1 month 12 }
D1 = { day : 1 day 31 }
Y1 = { year : 1812 year 2012 }
Case ID
TE1
TE2
TE3
TE4
TE5
TE6
TE7
Month
6
-1
13
6
6
6
6
Day
15
15
15
-1
32
15
15
Year
1912
1912
1912
1912
1912
1811
2013
Expected Output
6/16/1912
invalid input
invalid input
invalid input
invalid input
invalid input
invalid input
44
45
Month
6
7
2
6
Day
14
29
30
31
Year
1900
1912
1913
1900
Expected Output
6/15/1900
7/30/1912
invalid input
invalid input
Month
6
6
6
6
6
6
6
6
6
6
6
6
7
7
7
7
7
7
Day
14
14
14
29
29
29
30
30
30
31
31
31
14
14
14
29
29
29
Year
1900
1912
1913
1900
1912
1913
1900
1912
1913
1900
1912
1913
1900
1912
1913
1900
1912
1913
Expected Output
6/15/1900
6/15/1912
6/15/1913
6/30/1900
6/30/1912
6/30/1913
07/01/1900
07/01/1912
07/01/1913
ERROR
ERROR
ERROR
7/15/1900
7/15/1912
7/15/1913
7/30/1900
7/30/1912
7/30/1913
Case ID
SE19
SE20
SE21
SE22
SE23
SE24
SE25
SE26
SE27
SE28
SE29
SE30
SE31
SE32
SE33
SE34
SE35
SE36
Month
7
7
7
7
7
7
2
2
2
2
2
2
2
2
2
2
2
2
Day
30
30
30
31
31
31
14
14
14
29
29
29
30
30
30
31
31
31
Year
1900
1912
1913
1900
1912
1913
1900
1912
1913
1900
1912
1913
1900
1912
1913
1900
1912
1913
Expected Output
7/31/1900
7/31/1912
7/31/1913
08/01/1900
08/01/1912
08/01/1913
2/15/1900
2/15/1912
2/15/1913
ERROR
03/01/1912
ERROR
ERROR
ERROR
ERROR
ERROR
ERROR
ERROR
46
Agenda
Robustness Testing
Worst Case Testing
Special Value Testing
Examples
Equivalence Classes
47
Lock
Stock
L1 = { lock: 1 lock 70 }
L2 = { lock: lock < 1 }
L3 = { lock: lock > 70 }
S1 = { stock: 1 stock 80 }
S2 = { stock: stock < 1 }
S3 = { stock: stock > 80 }
Barrel
B1 = { barrel: 1 barrel 90 }
B2 = { barrel: barrel < 1 }
B3 = { barrel: barrel > 90 }
48
locks
35
0
71
stocks
40
0
81
barrels sales
commission
45
3900
640
0
ERROR
ERROR
91
ERROR
ERROR
Test Case
SE1
SE2
SE3
SE4
SE5
SE6
SE7
SE8
SE9
SE10
SE11
SE12
SE13
SE14
SE15
SE16
SE17
SE18
SE19
SE20
SE21
SE22
SE23
SE24
SE25
SE26
SE27
locks
35
35
35
35
35
35
35
35
35
0
0
0
0
0
0
0
0
0
71
71
71
71
71
71
71
71
71
stocks
40
40
40
0
0
0
81
81
81
40
40
40
0
0
0
81
81
81
40
40
40
0
0
0
81
81
81
barrels
45
0
91
45
0
91
45
0
91
45
0
91
45
0
91
45
0
91
45
0
91
45
0
91
45
0
91
sales
commission
3900
640
ERROR
ERROR
ERROR
ERROR
ERROR
ERROR
ERROR
ERROR
ERROR
ERROR
ERROR
ERROR
ERROR
ERROR
ERROR
ERROR
ERROR
ERROR
ERROR
ERROR
ERROR
ERROR
ERROR
ERROR
ERROR
ERROR
ERROR
ERROR
ERROR
ERROR
ERROR
ERROR
ERROR
ERROR
ERROR
ERROR
ERROR
ERROR
ERROR
ERROR
ERROR
ERROR
ERROR
ERROR
ERROR
ERROR
ERROR
ERROR
ERROR
ERROR
ERROR
ERROR
49
Test Case
OR1
OR2
OR3
locks
5
15
25
stocks
5
15
25
barrels
5
15
25
sales
500
1500
2500
commission
50
175
360
50
Agenda
Robustness Testing
Worst Case Testing
Special Value Testing
Examples
Equivalence Classes
51
2.
3.
4.
6.
7.
53
Agenda
Robustness Testing
Worst Case Testing
Special Value Testing
Examples
Equivalence Classes
55