实验三 黑盒测试
一、实验目的
(1)能熟练应用黑盒测试技术进行测试用例设计
(2)对测试用例进行优化设计
二、 实验设备
主流 PC 机一套,要求安装 windows 操作系统和 Office 工具
三、 实验内容
1.日期问题
用决策表测试法测试以下程序:该程序有三个输入变量 month、day、year(month 、
day 和 year 均为整数值,并且满足:1month12 和 1day31),分别作为输入日期的月
份、日、年份,通过程序 可以输出该输入日期在日历上隔两天的日期。例如,输入为 2004
年 11 月 29 日,则该程序的输出为 2004 年 12 月 2 日。
(1) 分析各种输入情况,列出为输入变量 month、day、year 划分的有效等价类。
(2) 分析程序的规格说明,并结合以上等价类划分的情况,给出问题规定的可能采取
的操作(即列出所有的动作桩)。
(3) 根据(1)和(2)画出简化后的决策表。
四、实验步骤
(1)划分等价类
M1:{mouth:mouth 有 30 天};
M2:{mouth:mouth 有 31 天,12 月除外};
M3:{mouth:mouth 有 12 月};
M4:{mouth:mouth 有 2 月};
D1:{day:1≤day≤27};
D2:{day:day=28};
D3:{day:day=29};
D4:{day:day=30};
D5:{day:day=31};
Y1:{year:year 是闰年};
Y1:{year:year 是不闰年};
(2)建立决策表
1
2
3
4
5
6
7
8
9
10
11
M1
D1
-
M1
D2
-
M1
D3
-
√ √ √
M1
D5
-
√
M1
D4
-
√
√
M2
D1
-
M2
D2
-
M2
D3
-
M2
D4
-
√ √ √ √
M3
D1
-
√
M2
D5
-
√
√
选
规
项
C1:mouth 在
则
条件
C2:day 在
C3:year 在
A1:不可能
A2:day 加 2
A3:day 复位
动作
A4:mouth 加 1
A5:mouth 复位
A6:year 加 1
选
项
规
则
C1:mouth 在
条件
C2:day 在
C3:year 在
A1:不可能
12
13
14
15
16
17
18
19
20
21
22
M1
D1
-
M1
D2
-
M1
D3
-
M1
D4
-
M1
D5
-
M2
D1
M2
D2
M2
D3
M2
D4
Y1
Y2
Y1
Y2
M2
D5
-
M3
D1
-
√ √ √
A2:day 加 2
√ √ √
√ √
A3:day 复位
动作
A4:mouth 加 1
A5:mouth 复位
A6:year 加 1
√
√
√
√ √
√ √
(3)简化决策表
1-3
4
5
6-9
选
项
规
则
C1:mouth 在
条件
C2:day 在
C3:year 在
A1:不可能
M1
D1-D3
-
A2: day 加 2
√
A3:day 复位
动作
A4:mouth 加 1
A5:mouth 复位
A6:year 加 1
M1
D4
-
√
√
10
M2
D5
-
M2
D1-D4
-
M1
D5
-
√
11-14
15
M3
D1-D4
-
√
√
√
M3
D5
-
√
√
√
选 项
规
则
C1:mouth 在
条件
C2:day 在
C3:year 在
A1:不可能
A2: day 加 2
A3:day 复位
动作
A4:mouth 加 1
A5:mouth 复位
A6:year 加 1
20
M4
D3
Y2
√
21-22
M4
D4,D5
-
√
16
M4
D1
-
√
17
M4
D2
18
M4
D2
19
M4
D3
Y1
Y2
Y1
√
√
√
√
√
(4)决策表测试用例
测试用例
mouth
day
Test1-3
Test4
Test5
Test6-9
Test10
Test11-14
Test15
Test16
Test17
Test18
Test19
Test20
Test21-22
6
6
6
1
1
12
12
2
2
2
2
2
2
16
30
31
16
31
16
31
16
28
28
29
29
30
Year
2001
2001
2001
2001
2001
2001
2002
2001
2004
2001
2004
2001
2001
预期输出
18/6/2001
2/7/2001
不可能
18/1/2001
2/2/2001
18/12/2001
2/1/2002
18/2/2001
30/2/2004
2/3/2001
2/3/2004
不可能
不可能
五、实验小结
通过本次实验我对决策表法有了进一步的认识,在所有的黑盒测试方法中,基于决策表
的测试是最严格、最具有逻辑性的测试方法。它把作为条件的所有输入的各种组合值以及对
应输出值都罗列出来而形成的表格。她能够将复杂的问题按照各种可能的情况全部列举起
来,简明并避免遗漏。