3.2.3 判定表
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
步 骤
3、 填入条件项、动作项 4、简化决策表 5、根据决策表设计测试用例
课堂练习 打印机打印文件问题
问题描述:
打印机是否能打印出来正确的内容,有多个因
素影响,包括驱动程序、纸张、墨粉等。
假定:优先警告缺纸,然后警告没有墨粉,最后警 告驱动程序不对。
请你使用判定表方法设计测试用例。
课堂练习
判定表
什么是判定表?
判定表也称决策表,是分析和表达多逻辑条件下执
行不同操作的情况的工具。
决策表能够将复杂的问题按照各种可能的情况全部 列举出来,简明并避免遗漏,设计出完整的测试用 例集合。
判定表实例——“阅读指南”决策表
规则 选项 你觉得疲倦吗? 问 题 你对内容感兴趣吗? 书中内容使你胡涂吗? 请回到本章开头重读 建 议 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
建 议
规则合并实例——“阅读指南”决策 表
规则 选项 你觉得疲倦吗?
1 Y — —
5 N Y Y √
6 N Y N √
7 N N —
问 题
你对内容感兴趣吗? 书中内容使你胡涂吗? 请回到本章开头重读 继续读下去 跳到下一章去读 停止阅读,请休息
建 议
√ √
决策表的建立步骤
1、列出所有的条件桩和动作桩 2、 确定规则的个数
决策表的简化主要包含两个方面:规则合并与规则包含
(1)规则合并
如果两条或多条规则的动作项相同,条件项只有一项不同,则 可以将该项合并,合并后的条件项用符号“-”表示,说明执行 的动作与该条件的取值无关,称为无关条件。
(2)规则包含 条件项“—”在逻辑上包含其它的条件。
(1)两条规则合并成一条
条件项“—” 表示与取值 无关。
C4:b=c? A1:非三角形
F F
F
F F
F
F
T T T T F F F T T F F
T F T T F
F F T T T T T T F F T T
F T F T F T
T T F
T F
T F
√ √ √ √ √ √ √ √
A2:一般三角形 A3:等腰三角形 A4:等边三角形
A5:不可能
√ √ √
√ √ √
A3: 打9折
A4: 不打折
√
√
√
根据决策表设计测试用例
对每一条规则设计一个测试用例:
用例 1 2 3 4 5 6 顾客身份 会员 会员 会员 普通 普通 普通 购物金额 50 500 2000 50 500 2000 预期输出 40(打8折) 400(打8折) 1400(打7折) 50(不打折) 450(打9折) 1800(打9折)
A3:等腰三角形
A4:等边三角形
√ √ √
√
√
A5:不可能
√ √
5 简化决策表
规 1 2 3 4 5 6 7 8 9 1 0 F T T 1 1 1 1 1 1 1 2 3 4 5 6 T T T T T T
则 桩
C1:a,b,c构成三角 形? F F F F F F F
C2:a=b? C3:a=c?
A1:打7折 A2:打8折 A3:打9折 A4:不打折 A5:不可能
2 确定规则的个数
规则数
2^6=64 太大!
修改条件桩使有限条目决策表成为扩展条目决策表
条件桩: C1:顾客为会员 或普通顾客 C2:购物金额为
(0,100)或 [100,1000)或 [1000, ∞)
动作桩: A1:打7折
主要内容
1 2 3 4 5
引入原因 基本组成 判定表的化简 判定表的生成 测试用例设计
引入原因
等价类划分法和边界值分析方法的局限性:
等价类划分法和边界值分析方法比较适合输入变量或 输入条件相互独立的情况,但是当输入变量或输入条件相 互依赖、相互制约的时候,采用等价类划分法和边界值分 析方法是难以描述的,测试效果也很难保障。 在实际应用中,许多输入是由多个因素构成,而不是 单一因素,这时就需要多因素组合分析。
4. 动作项—指出在条件项的各组取值情况下应采取的动作。
判定表类型
判定表
有限条目判定表 特点:所有条件 都是二值条件(真 /假),有n个条件 的判定表有2n个 规则 扩展条目判定表 特点:条件可以有 多个值,有n个条件 的判定表的规则的 个数为n个条件所有 值的笛卡尔积。
重点掌握有限条目判定表
决策表的简化
1列出所有的条件桩和行动桩
这一步是关键,如何得到三角问题的“条件桩”和“行动桩
”? 我们通过分析三角问题的处理过程(业务逻辑)得到:
当判断出a=b=c时,程序输出“等边三角形”。
当判断出a=b或b=c或a=c时,程序输出“等腰三角形”
。
当a!=b且b != c且c !=a时,程序输出“一般三角形” 可以看出程序的输出由a,b,c之间是否相等的关系决定,即 a=b?, a=c?, b=c?,这样我们可以把a=b?, a=c?, b=c?当 作条件桩,把程序的输出当作动作桩。
F F T T T T T T F F T T F T F T F T
√ √ √ √ √ √ √ √
根据决策表设计测试用例
(1)对每一条规则设计一个测试用例:
用例 1 2 3 4 5 6 7 8 a 1 3 3 4 ? 4 ? ? b 2 4 4 3 ? 4 ? ? c 4 5 4 4 ? 3 ? ? 预期输出 非三角形 一般三角形 等腰三角形 等腰三角形 ? 等腰三角形 ? ?
T
T √
T
F
FБайду номын сангаас
T
F
F
T
T
T
F
F
T
F
F
A1:打印内容
A2:提示没有纸张 A3:提示没有墨粉 A4:提示驱动程序不对
√
√ √ √
√
√
√
第四步:简化决策表
课堂练习
简化后的决策表
规则 条件桩 C1:是否有纸张? C2:是否有墨粉? C3:驱动程序是否正确?
1
T
2
T
3
T
4
F
T
T √
T
F
F
—
—
— √
A1:打印内容
1列出所有的条件桩和行动桩
从该程序的功能可以看出:
• 程序的输出即顾客的应付款由顾客的身份和 其购物金额决定,这样我们可以把顾客的身 份和其购物金额当作条件桩,把程序的输出 当作动作桩。
1列出所有的条件桩和行动桩
条件桩
行动桩
C1:会员顾客? C2:普通顾客? C3:购物金额<100? C4:购物金额>=100? C5:购物金额<1000? C6:购物金额>=1000?
授课教师:***
知识回顾
等价类划方法的基本思想
等价类划分是把程序中所有可能的输入数据(有效的 等价类划方法确定测试用例的步骤 从理论上来说,边界值可分为
),即程序的输入域划分成若干部分(子集),然 仅考虑有效区间单个变量边界值(一般边界值):用 或无效的 步骤: 什么是边界值分析方法? 后从每一个子集中选取少数具有代表性的数据作为测 对每个输入或外部条件划分等价类 在最小值,略高于最小值,正常值,略低于最大值和 试用例进行测试。该测试方法是一种重要的、常用的 边界值分析法就是对输入或输出的边界值进行测 为每一个有效等价类和无效等价类规定一个唯一的编号 最大值处取变量的值。如果被测变量个数为 n,则测 试的一种黑盒测试方法。通常边界值分析法是作为对 设计一个测试用例,使其尽可能多地覆盖尚未覆盖的有效等 黑盒测试用例设计方法。 试用例个数为 4n+1 价类, 重复这一步直到所有有效等价类均被测试用例所覆盖 等价类划分法的补充,这种情况下,其测试用例来自 同时考虑有效区间和无效区间单个变量边界值(健壮 等价类的边界。 设计一个测试用例,使其只覆盖一个无效等价类,重复这一 步,直到所有无效等价类均被覆盖 边界值):除了在最小值,略高于最小值,正常值, 略低于最大值和最大值处取变量的值,还要在略超过 最大值以及略小于最小值之处值。如果被测变量个数 为n,则测试用例个数为6n+1
4 填入动作项
3 4 5 6 7 8 9 1 1 1 0 1 2
F T T T T
1
2
1 1 1 1 3 4 5 6
T T T T T T T T F F T T F T F T
T T T T F F F F F T T F F T T T F T F T √ T F
T T F T F
T F
√ √ √ √ √ √ √ √
根据决策表设计测试用例
(2)去掉不存在的情况:
用例 a b c 预期输出
1 2 3 4 5 6
1 3 3 4 4 3
2 4 4 3 4 3
4 5 4 4 3 3
非三角形 一般三角形 等腰三角形 等腰三角形 等腰三角形 等边三角形
案例2
某付款程序实现如下功能:普通顾客一次购物 累计少于100元,不打折,一次购物累计多于 或等于100元,打9折;会员顾客按会员价格一 次购物累计少于1000元,打8折,一次购物累 计等于或多于1000元打7折。 试用决策表法设计其测试用例。
一般边界值
函数y = f (x1,x2) 输入变量的取值范围分别为:x1 ∈[a,b], x2 ∈ [c,d] ,
X2 d
c a b X1
一般边界值
健壮边界值
函数y = f (x1,x2) 输入变量的取值范围分别为:x1 ∈[a,b], x2 ∈ [c,d] ,
X2 d
c a
b X1
健壮边界值
继续读下去
跳到下一章去读 停止阅读,请休息 √ √ √ √
√
√ √
判定表的组成
将任何一个条件组合的 特定取值及相应要执行的 动作称为一条规则。 在决策表中贯穿条件项 和动作项的一列就是一条 规则。 1. 条件桩—列出问题的所有条件。 2. 条件项—针对条件桩给出的条件,列出所有可能的取值。
3. 动作桩—列出问题规定的可能采取的操作。
(2)两条规则的进一步合并
条件项“— ”在逻辑上 包含其它的 条件。
规则合并实例——“阅读指南”决策 表
规则 选项 你觉得疲倦吗? 问 题 1 Y 2 Y 3 Y 4 Y 5 N 6 N 7 N 8 N
你对内容感兴趣吗?
书中内容使你胡涂吗? 请回到本章开头重读
Y
Y
Y
N
N
Y
N
N
Y
Y √
Y
N
N
Y
N
1列出所有的条件桩和行动桩
条件桩
行动桩
C1:a,b,c构成三 角形? C2:a=b? C3:a=c? C4:b=c?
A1:非三角形
A2:一般三角形 A3:等腰三角形 A4:等边三角形 A5:不可能
2 确定规则的个数
规则数
2^4=16
3 填入条件项
规则
条件桩 C1:a,b,c构成三角 形? C2:a=b? C3:a=c? C4:b=c? A1:非三角形 A2:一般三角形 F F F F F F F F F F F F F F
A2:打8折
A3:打9折
A4:不打折
2 确定规则的个数
规则数?
2×3=6
3 填入条件项
规则 1 2 3
4 填入动作项
4 5 6
桩 C1: 顾客为会员或普通 会员 会员 会员 普通 普通 普通 顾客 C2:购物金额为 (0,10 [100,1 [1000, [100,10 [1000, (0,100)或 (0,100) 000) ∞) 00) ∞) [100,1000)或[1000, 0) ∞) A1: 打7折 A2: 打8折
第一步:列出所有的条件桩和动作桩
条件桩
行动桩
C1:是否有纸张? C2:是否有墨粉? C3:驱动程序是否 正确?
A1:打印内容 A2:提示没有纸张 A3:提示没有墨粉 A4:提示驱动程序 不对
课堂练习
第二步:确定规则的个数
规则数
2^3=8
课堂练习
第三步:填入条件项、动作项
规则 条件桩 C1:是否有纸张? C2:是否有墨粉? C3:驱动程序是否正确? 1 T 2 T 3 T 4 T 5 F 6 F 7 F 8 F
A2:提示没有纸张 A3:提示没有墨粉 A4:提示驱动程序不对
√
√
案例1——三角形问题
对于三角形问题,设计其决策表,然后根据该决
策表设计相应的测试用例。
问题描述: “一个程序读入三个整数。把此三个数值看成是一
个三角形的三个边。这个程序要打印出信息,说明这个 三角形是三边不等的、是等腰的、还是等边的。”
对每个输入或外部条件划分等价类为每一个有效等价类和无效等价类规定一个唯一的编号设计一个测试用例使其尽可能多地覆盖尚未覆盖的有效等价类重复这一步直到所有有效等价类均被测试用例所覆盖设计一个测试用例使其只覆盖一个无效等价类重复这一步直到所有无效等价类均被覆盖什么是边界值分析方法
软件测试技术
3.2.3 判定表方法
√
√ √
√ √
三角问题决策表
规 1 2 3 则 桩 4 5 6 7 8 9
C1:a,b,c构成三角 形?
C2:a=b? C3:a=c? C4:b=c? A1:非三角形 A2:一般三角形 A3:等腰三角形 A4:等边三角形 A5:不可能
F T T
— F F — F F — F T
√
T T T T T T
N
建 议
继续读下去 跳到下一章去读
√ √ √
停止阅读,请休息
√
√
√
√
规则合并实例——“阅读指南”决策 表
规则 1 Y Y — 3 Y N — 5 N Y Y √ √ √ √ √ 6 N Y N 7 N N —
选项
你觉得疲倦吗?
问 题
你对内容感兴趣吗? 书中内容使你胡涂吗? 请回到本章开头重读 继续读下去 跳到下一章去读 停止阅读,请休息