当前位置:文档之家› 决策表方法+

决策表方法+

27
软件测试—功能性测试
4.5 测试用例的设计
NextDate问题
不关心条目对完整决策的 识别有微妙影响。
四 决 策 表
若条件引用了等价类,则“—”的实际含义为:“必须失 败” 条件 规则1 规则2 规则3 输入条件的等价类 Y C1:月份在M1中吗? M1={月份|每月31天} M2={月份|每月30天} M3={月份|此月为2月} …… 规则总数: 8个 C2:月份在M2中吗? C3:月份在M3中吗? 规则条数 A1: A2: ……
R2={<a,b,c>|有三条边a,b,c的等腰三角形} R3={<a,b,c>|有三条边a,b,c的不等边三角形}
R4={<a,b,c>|三条边a,b,c不构成三角形}
能构成三角形?
23
软件测试—功能性测试
4.5 测试用例的设计
四 决 策 表
输入条件的等价类 三角形问题的决策表 D1={<a,b,c>|a>=b+c} D2={<a,b,c>|b>=a+c} 通过增加行动,显示何时规则在逻辑上不可能满足 D3={<a,b,c>|c>=a+b} 通过条件选择,扩展决策表的规模 C1:a,b,c构成三角形? C2:a=b吗? C3:a=c吗? C4:b=c吗? A1:非三角形 A2:不等边三角形 A3:等腰三角形 A4:等边三角形 A5:不可能 N Y Y Y Y Y Y Y N Y Y N Y Y Y N N Y N Y Y Y N Y N Y N N Y Y N N N
Else 发批准书及发货单
Endif 金额 欠款>60 发批准书、发货单和赊欠报告 <=500 Endif 欠款<=60 发批准书、发货单
20
软件测试—功能性测试
4 决策表
原因 基本组成 决策表的化简 决策表的生成 测试用例的设计 讨论
21
软件测试—功能性测试
4.5 测试用例的设计
四 决 策 表
软件测试—功能性测试
Condition Stub:列出问题
的所有条件
4.2 基本组成
读书指南决策表
1 2 Y Y N 3 Y N Y 4 Y N N Y Y Y
Condition Entry :针对左列
5 N Y Y 6 N Y N 7 N N Y 8 N N N
条件取值,给出真假值
四 决 策 表
17
软件测试—功能性测试
4.4 决策表的生成
四 决 策 表
根据软件规格说明,确定规则个数 列出所有条件桩 填入条件项Condition Entry 填入动作项Action Entry 产生决策表并化简
决策表的产生可能需要迭代进行 注意完备性、无冗余性和一致性。
18
软件测试—功能性测试
4.4 决策表的生成
问 题 建 议
功率大于50马力吗? 维修记录不全吗? 运行10年以上吗? 进行优先的维修处理 做其它处理
× × ×
×
×
×
×
×
19
软件测试—功能性测试
4.4 决策表的生成
检查发货单
If( 发货单金额超过$500 )
四 决 策 表
发货单金额 赊欠情况 不发批准书 操 发出批准书 作 发出发货单 发出赊欠报告 条 件
四 决 策 表
C2:a=b吗? C3:a=c吗?
C4:b=c吗?
-
Y Y
Y
Y Y
N
Y N
Y
Y N
N
N Y
Y
N Y
N
N N
Y
N N
N
A1:非三角形 A2:不等边三角形
A3:等腰三角形 A4:等边三角形 A5:不可能
× ×
× × × × ×
10
× ×
软件测试—功能性测试
决策表的各种表示方法
细化条件
四 决 策 表
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 ×
×
×
×
软件测试—功能性测试
决策表的各种表示方法
增加一行规则条数统计
四 决 策 表
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:不可能 N 32 × Y N 16 × Y Y N 8 × Y Y Y Y Y Y 1 Y Y Y Y Y N 1 Y Y Y Y N Y 1 Y Y Y Y N N 1 Y Y Y N Y Y 1 Y Y Y N Y N 1 Y Y Y N N Y 1 Y Y Y N N N 1 × × × ×
软件测试—功能性测试
软件测试
1
软件测试—功能性测试
功能性测试
边界值测试 等价类测试 基于决策表的测试 功能性测试的回顾
2
软件测试—功能性测试
4 决策表
原因 基本组成 决策表的化简 决策表的生成 测试用例的设计 讨论
3
软件测试—功能性测试
4.1 产生的原因
四 决 策 表
决策表方法是功能性测试方法 中最严格的。 决策表方法可适用各种情况, 不必要求 数据的独立性
你觉得疲倦吗? 问 你对内容感兴趣吗? 书中的内容使你糊涂? 请回到本章开头重读 建 议 继续读下去 跳到下一章去读

× ×
× × × × 规则 Action × If × Entry :在条件 8 then 组合下应采取的行动
Action 停止阅读,请休息 Stub :列出问题规
定可能采取的行动
软件测试—功能性测试
用决策表表示测试用例,则输入即为条 件,输出即为行动,有时,条件最终引 用输入的等价类,行动则引用软件的主 要功能处理部分 决策表可机械地强制为完备的,故可得 到测试用例的完整集合
22
软件测试—功能性测试
4.5 测试用例的设计
三角形问题
三角形类型? 四 决 策 表
输出的等价类
R1={<a,b,c>|有三条边a,b,c的等边三角形}
r5 N r6 N r7-8 N
条件取值,给出真假值 决策表的各个部分例

四 决 策 表
c1 条
c2 c3 a1
Y Y
Y N
N -
Y Y
Y N
N -

行 动
a2
a3
× ×
×
Action a4 Stub :列出问题规
定可能采取的行动
规则 if × then ×
× ×
×
组合下应采取的行动
Action × Entry :在条件 7
四 决 策 表
条件桩
条件项
规则
行动桩 行动项
Action Stub :
列出问题规定可能采取 的行动
Action Entry :
在条件组合下应采取 的行动 6
软件测试—功能性测试
Condition Stub:列出问题
的所有条件
4.2 基本组成
r1 Y r2 Y r3-4 Y
Condition Entry :针对左列
4.2 基本组成
决策表的特点
四 决 策 表
如果条件条目具有二值逻辑,则决策表 的条件部分是旋转了90度的真值表 保证覆盖所有可能的条件值组合
决策表的完备性保证一种完备的测试
9

软件测试—功能性测试
决策表的各种表示方法
增加行动--通过增加行动,可显示何时规则在逻辑上不可能满足
C1:a,b,c构成三角形? N Y Y Y Y Y Y Y Y
26
Y Y Y Y Y Y 1
Y Y Y Y Y N 1
Y Y Y Y N Y 1
Y Y Y Y N N 1
Y Y Y N Y Y 1
Y Y Y N Y N 1
Y Y Y N N Y 1
Y Y Y N N N 1
×
×
软件测试—功能性测试
4.5 测试用例的设计
改进的三角形问题的测试用例
四 决 策 表
若条件引用了等价类,则“—”的实际含义为:“必须失 败” 13
软件测试—功能性测试
4.5 测试用例的设计
NextDate问题
四 决 策 表
若条件引用了等价类,则“—”的实际含义为:“必须失 败” 条件 规则1 规则2 规则3 输入条件的等价类 Y C1:月份在M1中吗? M1={月份|每月31天} M2={月份|每月30天} M3={月份|此月为2月} …… 规则总数: 8个 C2:月份在M2中吗? C3:月份在M3中吗? 规则条数 A1: A2: ……
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:不可能 × × × ×
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
用例ID 1 2 3 4 5 6 7 8 9 10 11
a 4 1 1 5 ? ? 2 ? 3 2 3
b 1 4 2 5 ? ? 3 ? 2 2 4
c 2 2 4 5 ? ? 2 ? 2 3 5
预期输出 非三角形 非三角形 非三角形 等边三角形 不可能 不可能 等腰三角形 不可能 等腰三角形 等腰三角形 不等边三角形
相关主题