软件测试-7黑盒测试决策表法讲解
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
√
A5:不可能
√√
√
2019/6/1
14
根据决策表测试用例
编号 [a,b,c] 期望输出
DT1 DT2 DT3 DT4 DT5 DT6 DT7 DT8 DT9 DT10 DT11
412 142 124 555 ??? ??? 223 ??? 232 322 345
非三角形 非三角形 非三角形 等边三角形 不可能 不可能 等腰三角形 不可能 等腰三角形 等腰三角形 一般三角形
- YN Y N Y N Y N
A1:非三角形
√
A2:一般三角形 A3:等腰三角形
√
√
√√
A4:等边三角形
√
A5:不可能
√√
√
2019/6/1
13
条件:a,b,c是否可以
三角形问题的扩展决策表
构成三角形
表2
1
2
3
4 5 6 7 8 9 10 11
C1:a<b+c? C2:b<a+c? C3:c<a+b? C4:a=b? C5:a=c? C6:b=c?
条件桩
决策表
规则 1
2
选项
条件:c1 T
T
c2 T
T
c3 T
F
动作:a1 √
√
a2 √
a3
√
a4
动作桩
3,4 T F -
√
规则
条件项
5
6 7,8
F
F
F
T
T
F
T
F
-
√
√
√
√
动作项
决策表的生成
若c1、c2、c3都为真,则采取动作a1和a2; 若c1、c2都为真,c3为假,则采取动作a1和a3; 将任何一个条件组合的特定取值及相应要执
D3: {day=29}
D4: {day=30}
D5: {day=31}
year变量的有效等价类:
Y1: {year是闰年} Y2: {year不是闰年}
考虑各种有效的输入情况,程序中可能采 取的操作有以下六种:
a1: 不可能 a3: day复位
a2: day+1
a4: month+1
a5: 复位
2019/6/1
15
例2:NextDate函数的决策表测试用例设计
month变量的有效等价类:
M1: { month=4,6,9,11 }
M2: {month=1,3,5,7,8,10}
M3: {month=12} M4: { month=2 }
day变量的有效等价类:
D1: {1≤day≤27} D2: {day=28}
学者,男性当钳工,女性当车工;文化程度是 大学者技术员;
• 年龄满50及50以上,文化程度是小学或中学者
当材料员,文化程度是大学者当技术员。
习题
1、某软件的一个模块的需求规格说明书中描述: “……对于功率大于50马力的机器或者维修记录不全的或已
经运行10年以上的机器应予以优先的维修处理……”。 这里假定“维修记录不全”和“优先维修处理”有严格的定义。
√
√ √√
√√ √ √
√
√
√
√
√
选项 12 13 14 15 16 17 18 19 20 21 22
规则
条件:
c1:month
M3 M3 M3 M3 M4 M4 M4 M4 M4 M4 M4
c2:day c3:year
D2 D3 D4 D5 D1 D2 D2 D3 D3 D4 D5 - - - - - Y1 Y2 Y1 Y2 - -
若表中有两条以上规则具有相同的动作,并且在条件项之间存在极
为相似的关系,便可以合并。
合并后的条件项用符号“-”表示,说明执行的动作与该条件的取值
无关。
例题:三角形问题决策表
1. 确定规则个数。(确定条件和动作) 2. 列出所有的条件桩和动作桩 3. 填入输入项 4. 填入动作项,得到初始决策表 5. 化简。(合并相似规则)
a6: year+1
选项
规则
条件:
c1:month
c2:day
c3:year
动作:
a1:不可能 a2:day加1 a3:day复位 a4:month加1 a5:month复位 a6:year加1
1 2 3 4 5 6 7 8 9 10 11
M1 M1 M1 M1 M1 M2 M2 M2 M2 M2 M3 D1 D2 D3 D4 D5 D1 D2 D3 D4 D5 D1 - - ----- -- - -
国内乘客 头等舱 残疾乘客 行李重量W<=30kg 免费 (W-30)*2 (W-30)*3 (W-30)*4 (W-30)*6 (W-30)*8 (W-30)*12
1 2 345678 9
-T TTTFFF F
-T FTFTFT F
-F FTTFFT T
T F FFFFFF F
√
√
√
√
√√
√
√
√
动作:
a1:不可能
√√√
a2:day加1
√√√
√√
a3:day复位
√
√√
a4:month加1
√√
a5:month复位
√
a6:year加1
√
简化NextDate函数决策表
规则1、2、3都涉及有30天的月份day类 D1、D2和D3,并且它们的动作项都是 day加1,因此可以将规则1、2、3合并。
12
16
Test115
12
31
Test16
2
16
Test17
2
28
Test18
2
28
Test19
2
29
Test20
2
29
Test21-Test22
2
30
year 2001 2004 2001 2004 2001 2004 2001 2004 2004 2001 2004 2001 2004
预期输出 17/6/2001 1/7/2004
黑盒测试用例设计 ——决策表法
概述
在一个程序中,如果输入输出比较 多,输入之间、输出之间相互制约 的条件比较多,在这种情况下使用 决策表更合适,它可以清楚地表达 它们之间的各种复杂关系。
决策表法是黑盒测试方法中最为严 格、最具有逻辑性的测试方法
1 决策表的概念
决策表的概念:决策表是分析和表达多逻 辑条件下执行不同操作情况的工具。
后,不必检验别的规则. 如果某一规则的条件要执行多个操作任务,这些操
作的执行顺序无关紧要.
2019/6/1
24
决策表应用
决策表最突出的优点是,能够将复杂的问题 按照各种可能的情况全部列举出来,简明并 避免遗漏。
利用决策表能够设计出完整的测试用例集合。
运用决策表设计测试用例可以将条件理解为 输入,将动作理解为输出
动作
a1:不可能
√
√√
a2:day加1
√
√
√
√√√√
a3:day复位
√
√
√
√√
a4:month加1
√
a5:month复位
√
a6:year加1
√
测试用例表
测试用例
month
day
Test1-Test3
6
16
Test4
6
30
Test5
6
31
Test6-Test9
8
16
Test10
8
31
Test11-Test14
练习1
某校关于学生升留级的规定为:
• 一学期有三门考试课程不及格,直接留级; • 一学期考试和考察四门课程不及格者,不予补
考,直接留级;
练习2
ቤተ መጻሕፍቲ ባይዱ厂对一部分职工重新分配工作,分配原 则是:
• 年龄不满20岁,文化程度是小学者脱产学习,
文化程度是中学者当电工;
• 年龄满20岁但不足50岁,文化程度是小学或中
决策表的化简
8 F T F
×
2019/6/1
31
决策表的组成
决策表通常由以下4部分组成:
条件桩—列出问题的所有条件
条件项—针对条件桩给出的条件列出所有可能的取值
动作桩—列出问题规定的可能采取的操作
动作项—指出在条件项的各组取值情况下应采取的动作
条件桩 条件项 动作桩 动作项
将任何一个条件组合的 特定取值及相应要执行 的动作称为一条规则。 在决策表中贯穿条件项 和动作项的一列就是一 规 条规则。 则
类似地,有31天的月份day类D1、D2、 D3和D4也可合并,2月的D4和D5也可合 并。
简化后的NextDate函数决策表
1-3 4 5 6-9 10 11-14 15 16 17 18 19 20 21-22
条件:
c1:month c2:day c3:year
M1 M1 M1 M2 M2 M3 M3 M4 M4 M4 M4 M4 M4 - D4 D5 - D5 - D5 D1 D2 D2 D3 D3 D4、D5 - - - - - - - - Y1 Y2 Y1 Y2 -
输入变量之间存在逻辑关系;
涉及输入变量子集的计算;
输入与输出之间存在因果关系;
适用于使用决策表设计测试用例的情况:
规格说明以决策表形式给出,或较易转换为决策表. 条件的排列顺序不会也不应该影响执行的操作 规则的排列顺序不会也不应该影响执行的操作 当某一规则的条件已经满足,并确定要执行的操作
不可能 17/8/2004 1/9/2001 17/12/2004 1/1/2002 17/2/2004 29/2/2004 1/3/2001 1/3/2001
不可能 不可能
决策表测试的适用范围
if-else逻辑突出;
• 恒等: IF A THEN B • 非: IF (NOT A) THEN B • 或: IF (A OR B) THEN C • 与:IF (A AND B) THEN C
决策表实例
在一些数据处理问题当中,某些操作的实 施依赖于多个逻辑条件的组合,即:针对 不同逻辑条件的组合值,分别执行不同的 操作。决策表很适合于处理这类问题。
决策表的优点:
能够将复杂的问题按照各种可能的情况 全部列举出来,简明并且避免遗漏。因 此,利用决策表能够设计出完整的测试 用例集合。
该条件可以扩展成:
三角形问题的决策表用例设计
a+b>c b+c>a
c+a>b
表1
1-8 9 10 11 12 13 14 15 16
C1:abc能否构成三角形? N Y Y Y Y Y Y Y Y
C2:a=b?
- YY Y Y N N N N
C3:a=c?
- YY N N Y Y N N
C4:b=c?
感兴趣吗
题 糊涂吗
重读
建
继续
跳下一章
1~4
Y ---
56
NN YY YN √
√
议
休息
√
7~8 N N -
√
决策表的生成----构造决策表的5个步骤:
(1) 确定规则的个数。
有n个条件的决策表有2n个规则(每个条件取真、假值)。
(2) 列出所有的条件桩和动作桩。 (3) 填入条件项。 (4) 填入动作项,得到初始决策表。 (5) 简化决策表,合并相似规则。
N Y Y YY Y Y Y YYY - N Y YY Y Y Y YYY - - N YY Y Y Y YYY - - - YY Y Y N NNN - - - YY N N Y YNN - - - YN Y N Y NYN
A1:非三角形 √ √ √
A2:一般三角形
√
A3:等腰三角形
√
√√
A4:等边三角形
请建立该需求的决策表,并绘制出化简(合并规则)后的决 策表。
乘机可免费携带30kg的行李。超出重量按 比例收费:残疾乘客按超出重量的4倍收 取费用,若是国内乘客则只收取3倍于超 出部分的费用,若是头等舱则只收取2倍
于超出重量的费用;国内乘客头等舱收取 4倍于超出部分的费用,否则是6倍;头等 舱的国际乘客收取8倍超出部分的费用, 否则是12倍。
行的动作称为一条规则,在决策表中贯穿条 件项和动作项的一列就是一条规则。
决策表的简化
简化是以合并相似规则为目标;
若表中有两条以上规则具有相同的动作, 并且在条件项之间存在极为相似的关系, 便可以合并。
YY
Y
NN
N
YN
-
YY
Y
-N
-
NN
N
√√
√
√√
√
将“阅读指南”决策表简化
规则 选项
问 觉得疲倦吗