当前位置:文档之家› 软件测试-7黑盒测试决策表法

软件测试-7黑盒测试决策表法


三角形问题的决策表用例设计
表1
C1:abc能否构成三角形? C2:a=b? C3:a=c? C4:b=c? A1:非三角形 A2:一般三角形 A3:等腰三角形 A4:等边三角形 A5:不可能
该条件可以扩展成: a+b>c b+c>a c+a>b
13
Y N Y Y
1-8
N √
9
Y Y Y Y
10
Y Y Y N
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} D3: {day=29} D4: {day=30} D5: {day=31}
7~8
N N -
问 题 建 议
觉得疲倦吗 感兴趣吗 糊涂吗 重读 继续
跳下一章
休息


决策表的生成----构造决策表的5个步骤:
(1)列出所有的条件桩和动作桩。 (2)填入条件项 (3)填入动作项 (4)确定规则的个数,得到初始决策表。 (5) 简化决策表,合并相似规则。
有n个条件的决策表有2n个规则(每个条件取真、假值)
决策表的简化


简化是以合并相似规则为目标; 若表中有两条以上规则具有相同的动作, 并且在条件项之间存在极为相似的关系, 便可以合并。
Y Y N N Y N √ √ Y N - √ Y Y - N N N Y - N



将“阅读指南”决策表简化
规则
选项
1~4
Y ---
5
N Y Y √
6
N Y N √
1 国内乘客 -
2 T
3 T
4 T
5 T
6 F
7 F
8 F
9 F
头等舱
残疾乘客 行李重量W<=30kg 免费 (W-30)*2

- T √
T
F F
F
F F
T
T F √
F
T F
T
F F
F
F F
T
T F
F
T F
(W-30)*3
(W-30)*4 (W-30)*6 (W-30)*8 (W-30)*12 √ √
条件桩
规则
条件项
决策表
规则 选项
条件:c1 c2 c3 动作:a1 a2 a3 a4
动作桩
1
T T T √ √
2
T T F √ √
3,4
T F -
5
F T T √ √
6
F T F √
7,8
F F -

动作项

决策表的生成


若c1、c2、c3都为真,则采取动作a1和a2; 若c1、c2都为真,c3为假,则采取动作a1和a3; 将任何一个条件组合的特定取值及相应要执 行的动作称为一条规则,在决策表中贯穿条 件项和动作项的一列就是一条规则。
Test5
Test6-Test9 Test10 Test11-Test14 Test115 Test16 Test17 Test18 Test19 Test20 Test21-Test22
6
8 8 12 12 2 2 2 2 2 2
31
16 31 16 31 16 28 28 29 29 30
2001
M1 M1 M1 M2 M2 - D4 D5 - D5 - - - - - √
M3 - -
M3 D5 -
M4 M4 M4 M4 M4 D1 D2 D2 D3 D3 - Y1 Y2 Y1 Y2 √
M4
D4、D5
- √

√ √



√ √ √


√ √
√ √
测试用例表
测试用例 Test1-Test3 Test4 month 6 6 day 16 30 year 2001 2004 预期输出 17/6/2001 1/7/2004
√ √ √ √ √


14
根据决策表测试用例
编号
DT1 DT2 DT3 DT4 DT5 DT6 DT7 DT8 DT9 DT10 DT11
2016/6/14
[a,b,c]
412 142 124 555 ??? ??? 223 ??? 232 322 345
期望输出
非三角形 非三角形 非三角形 等边三角形 不可能 不可能 等腰三角形 不可能 等腰三角形 等腰三角形 一般三角形



规格说明以决策表形式给出,或较易转换为决策表. 条件的排列顺序不会也不应该影响执行的操作 规则的排列顺序不会也不应该影响执行的操作 当某一规则的条件已经满足,并确定要执行的操作 后,不必检验别的规则. 如果某一规则的条件要执行多个操作任务,这些操 作的执行顺序无关紧要.
2016/6/14


√ √ √



√ √ √

选项 规则
12
13 14 15 16 17 18 19 20 21 22
条件: c1:month c2:day c3:year 动作: a1:不可能 a2:day加1 a3:day复位 a4:month加1 a5:month复位 a6:year加1
M3 M3 M3 M3 M4 M4 M4 M4 M4 M4 M4 D2 D3 D4 D5 D1 D2 D2 D3 D3 D4 D5 - - - - - Y1 Y2 Y1 Y2 - - √
若表中有两条以上规则具有相同的动作,并且在条件项之间存在极
为相似的关系,便可以合并。 合并后的条件项用符号“-”表示,说明执行的动作与该条件的取值 无关。
例题:三角形问题决策表
1.
2. 3. 4. 5.
确定条件和动作 列出所有的条件桩和动作桩 填入输入项 填入动作项,得到初始决策表 化简。(合并相似规则)
黑盒测试用例设计 ——决策表法
概述
在一个程序中,如果输入输出比较 多,输入之间、输出之间相互制约 的条件比较多,在这种情况下使用 决策表更合适,它可以清楚地表达 它们之间的各种复杂关系。 决策表法是黑盒测试方法中最为严 格、最具有逻辑性的测试方法

1 决策表的概念

决策表的概念:决策表是分析和表达多逻 辑条件下执行不同操作情况的工具。
24
决策表应用



决策表最突出的优点是,能够将复杂的问题 按照各种可能的情况全部列举出来,简明并 避免遗漏。 利用决策表能够设计出完整的测试用例集合。 运用决策表设计测试用例可以将条件理解为 输入,将动作理解为输出
练习1

某校关于学生升留级的规定为:
• 一学期有三门考试课程不及格,直接留级; • 一学期考试和考察四门课程不及格者,不予补
习题
1、某软件的一个模块的需求规格说明书中描述: “……对于功率大于50马力的机器或者维修记录不全的或已 经运行10年以上的机器应予以优先的维修处理……”。
这里假定“维修记录不全”和“优先维修处理”有严格的定义。
请建立该需求的决策表,并绘制出化简(合并规则)后的决 策表。




乘机可免费携带30kg的行李。超出重量按 比例收费: 残疾乘客按超出重量的4倍收取费用,若 是国内乘客则只收取3倍于超出部分的费 用,若是头等舱则只收取2倍于超出重量 的费用; 国内乘客头等舱收取4倍于超出部分的费 用,否则是6倍; 头等舱的国际乘客收取8倍超出部分的费 用,否则是12倍。

√ √ √ √
决策表的化简
/14
31
2016/6/14 1 2 3 4 5 6 7 8
条件:a,b,c是否可以 构成三角形
9 10 11
N √
Y N √
Y Y N √
Y Y Y Y Y Y
Y Y Y Y Y N
Y Y Y Y N Y
Y Y Y Y N N
Y Y Y N Y Y
Y Y Y N Y N
Y Y Y N N Y
Y Y Y N N N √
决策表实例

在一些数据处理问题当中,某些操作的实 施依赖于多个逻辑条件的组合,即:针对 不同逻辑条件的组合值,分别执行不同的 操作。决策表很适合于处理这类问题。
决策表的优点:

能够将复杂的问题按照各种可能的情况 全部列举出来,简明并且避免遗漏。因 此,利用决策表能够设计出完整的测试 用例集合。
决策表的组成
√ √ √ √ √ √ √ √ √ √ √ √


简化NextDate函数决策表


规则1、2、3都涉及有30天的月份day类 D1、D2和D3,并且它们的动作项都是 day加1,因此可以将规则1、2、3合并。 类似地,有31天的月份day类D1、D2、 D3和D4也可合并,2月的D4和D5也可合 并。
• 恒等: IF A THEN B • 非: IF (NOT A) THEN B • 或: IF (A OR B) THEN C • 与:IF (A AND B) THEN C

输入变量之间存在逻辑关系; 涉及输入变量子集的计算; 输入与输出之间存在因果关系;
适用于使用决策表设计测试用例的情况:

决策表通常由以下4部分组成:
条件桩—列出问题的所有条件 条件项—针对条件桩给出的条件列出所有可能的取值 动作桩—列出问题规定的可能采取的操作 动作项—指出在条件项的各组取值情况下应采取的动作
相关主题