当前位置:文档之家› 7.黑盒测试(3)-决策表

7.黑盒测试(3)-决策表


为什么?
办法会有的…
等价类 条件桩
M1={月份:每月有30天} M2={月份:每月有31天} M3={月份:此月是2月} D1={日期:1<=日期 <=28} D2={日期:日期=29} D3={日期:日期=30} D4={日期:日期=31} Y1={年:年是闰年} Y2={年:年是平年}
动作桩
√ √ √ √ √ √ √
规则

动作项
规则合并(化简)
将具有相同动作,并且其条件项之间存在着极为相似关系的 两条或多条规则合并为一条规则
1
问 题 问 题 建 议 建 议 你觉得疲倦吗? 你觉得疲倦吗? 你对内容感兴趣吗? 你对内容感兴趣吗? 书中内容使你胡涂吗? 书中内容使你胡涂吗? 请回到本章开头重读 请回到本章开头重读 继续读下去 跳到下一章去读 继续读下去 Y Y Y
Y1
Y2
Y1
..
案例分析-NextDate函数的测试用例
确定行动桩…
A1:不可能 A2:日期增1 A3:日期复位(置1) A4:月份增1 A5:月份复位(置1) A6:年增1
NextDate函数的扩展条目决策表 条件 1 2 3 4 5 6 7 8 9 10 11 12 13 14
建议
建议 当测试逻辑时,决策表是一个非常好的选择. 为了降低测试用例个数,可以使用扩展项决策表 决策表并不是专用于设计测试用例的方法,它同样可以 应用于其他方面,例如需求分析
实战演习 1
解法如下: 确定规则的个数。对于本题有2个条件(销售、库存),每个条件 可以有两个取值,故有22=4种规则。 列出所有的条件桩和动作桩。 填入条件项。 填入动作项,得到初始决策表,如下表所示。
规则 选项 条件: C1:销售好? C2:库存低? 动作: a1:增加生产 a2:继续生产 a3:停止生产 1 2 3 4
C1:月份在 M1 M1 M1 M1 M2 M2 M2 M2 M3 M3 M3 M3 M3 M3 C2:日在 C3:年在 A1:不可能 A2:日增1
A3:日复位 A4:月增1
D1 D2 D3 D4 D1 D2 D3 D4 D1 D1 D2 D2 D3 D4 √ √
√ √
-




-
Y1 Y2 Y1 Y2 √ √ ?
F √
T F √
T T F √
T T T T T T
T T T T T F
T T T T F T
T T T T F F
T T T F T T
T T T F T F
T T T F F T
T T T F F F

√ √ √ √ √


6 得到测试用例
用例ID
DT1
a
4
b
1
c
2
预期输出
非三角形
DT2
DT3 DT4 DT5
M1={月份:每月有30天} M2={月份:每月有31天} M3={月份:此月是2月} D1={日期:1<=日期 <=28} D2={日期:日期=29} D3={日期:日期=30} D4={日期:日期=31} Y1={年:年是闰年} Y2={年:年是平年}
条件桩 C1:月份在{M1,M2,M3}中之一 C2:日期在{D1,D2,D3,D4}中之一 C3:年在{Y1,Y2}中之一
4 填入动作项
C1:a<b+c?
C2:b<a+c? C3:C<a+b? C4:a=b? C5:a=c? C6:b=c? A1:非三角形 A2:一般三角形 A3:等腰三角形 A4:等边三角形 A5:不可能
F
F F F F F

F
F F F F T

F
F F F T F

F
F F F T T

F
F F T F F
进一步优化
两项因素没有影响
优化
案例分析-三角形问题
1列出所有的条件桩和行动桩 2 确定规则的个数
条件桩
行动桩
规则数
C1:a<b+c? C2:b<a+c? C3:C<a+b? C4:a=b? C5:a=c? C6:b=c?
非三角形 一般三角形 等腰三角形 等边三角形 不可能
2^6=64
3 填入条件项
预期输出
2001年4月13日 2001年4月29日 2004年4月30日 2004年5月1日 不可能 2001年5月13日 2004年5月29日
8
9
5
5
29
30
2004
2001
2004年5月30日
2001年5月31日
课堂练习 某学生成绩管理系统,要求“对平均成绩在90分以 上,且没有不及格科目的学生,或班级成绩排名在 前五位的学生,在程序中将学生的姓名用红色标 识”,请建立该判定表。
C4:a=b?
C5:a=c? C6:b=c? A1:非三角形 A2:一般三角形 A3:等腰三角形 A4:等边三角形 A5:不可能
F
F F

F
F T

F
T F

F
T T

T
F F

T
F T

T
T F

T
T T

F
F F

F
F T


… …
C1:a<b+c? C2:b<a+c? C3:C<a+b? C4:a=b? C5:a=c? C6:b=c? A1:非三角形 A2:一般三角形 A3:等腰三角形 A4:等边三角形 A5:不可能
C1:月份在M1中 C2:月份在M2中 C3:月份在M3中 C4:日期在D1中 C5:日期在D2中 C6:日期在D3中 C7:日期在D4中 C8:年是闰年 C9:年是平年
规则数?
2^9=512 太大!
新办法…
等价类
条件桩 C1:月份在{M1,M2,M3}中之一 C2:日期在{D1,D2,D3,D4}中之一 C3:年在{Y1,Y2}中之一
2
Y Y N
3
4
Y N N
5
N 2 Y N Y Y √Y
6
N3 YN NY
7
N N Y
8
1Y YN -Y -
4N NN NN -
N


√ √ √ √



停止阅读,请休息 跳到下一章去读 停止阅读,请休息


决策表的类型 决策表
有限条目决策表
扩展条目决策表 条件可以有多个 值
所有条件都是二 叉条件(真/假)
规则:任何一个条件组合的特定取值及其相应要执行的操作称为规则。
决策表举例ຫໍສະໝຸດ 条件桩 条件项1 问 题 你觉得疲倦吗? 你对内容感兴趣吗? 书中内容使你胡涂吗? Y Y Y
2 Y Y N
3 Y N Y
4 Y N N
5 N Y Y
6 N Y N
7 N N Y
8 N N N
建 议
请回到本章开头重读 继续读下去 跳到下一章去读 停止阅读,请休息
建 议
请回到本章开头重读 继续读下去 跳到下一章去读 停止阅读,请休息 √ √ √ √
√ √ √ √
决策表的组成
条件桩:列出了问题得所有条件。通常认为列出的条件的次序无关紧要。 动作桩:列出了问题规定可能采取的操作。这些操作的排列顺序没有约束。 条件项:列出针对它左列条件的取值。在所有可能情况下的真假值。 动作项:列出在条件项的各种取值情况下应该采取的动作。
D4 -
5 M1
D5 √
6 M2
D1 -
7 M2
D2 -
8 M2
D3 -
9 M2
D4 -
10 M2
D5 -
A1:不可能
A2:日增1 A3:日复位 A4:月增1 A5:月复位
√ √ √ √ √



√ √ √
A6:年增1
新的NextDate函数的扩展条目决策表续…: (结合不关心条目,可得到有22条规则的决策表) 条件 C1:月份在
第3章 黑盒测试方法
1 2 3 4
黑盒测试法概述
等价类测试
主 要 内 容
边界值测试
基于决策表的测试
5
6
因果图法
其它方法
等价类划分法
1
边界值法
2
黑盒测试
5
其它
决策表法
3
4
因果图法
3.4 基于决策表的测试
定义
也称判定表,是分析和表达多逻辑条件下执行不同操作的 情况的工具
决策表的用途
能够将复杂的问题按照各种可能的情况全部列举出来,简 明并避免遗漏,设计出完整的测试用例集合。
? ? √ √


√ ?
A5:月复位
A6:年增1 注意规则8,10
?
?
案例分析-NextDate函数(方法二)
利用等价类 M1={月份:每月有30天} M2={月份:每月有31天,12月除外} M3={月份:此月是12月} M4={月份:此月是2月} D1={日期:1<=日期<=27} D2={日期:日期=28} D3={日期:日期=29} D4={日期:日期=30} D5={日期:日期=31} Y1={年:年是闰年} Y2={年:年是平年}
一个决策表由“条件和活动”两部分组成,也就是列 出了一个测试活动执行所需的条件组合。所有可能的 条件组合定义了一系列的选择,而测试活动需要考虑 每一个选择。
相关主题