当前位置:
文档之家› 测试用例设计-错误推测法、判定表、因果图
测试用例设计-错误推测法、判定表、因果图
2.判定表
举例3: 分析— 条件桩:1. 导入单位工程为清单计价;
2. 当前工程为定额计价工程,存在“导入清单计价工程”菜单; 3. “导入措施项目”勾选; 4. 导入窗口点“确定”; 5. 提示窗口点“确定” 动作桩:21. 执行导入清单计价工程操作; 22. 选择的项目工程文件或单位工程的定额计价工程,则给提示; 23. 选择的项目工程文件或单位工程的定额计价工程,系统自动弹出导 入GBQ的选项窗口; 24. 措施项目不被导入,提示导入成功; 25. 措施项目被导入,提示导入成功; 26. 退出提示窗口
25 N N N N N N N N N N N N N N N N
26 N N N N N N N N N N N N N N N N
2.判定表
举例3: 简化判定表—
1
2
3
5
6
7
9
17 25
条件 1 桩2
Y
Y
Y
Y
Y
Y
Y
NN
Y
Y
Y
Y
Y
Y
N
Y
N
3
Y
Y
Y
N
N
N ———
4
Y
Y
N
Y
Y
N ———
5
Y
N—
况不可能出现,为表明这些特殊情况,在因果图上用一些记号表明约束或限制 条件; 转换:把因果图转换为判定表; 输出:把判定表的每一列拿出来作为依据,设计测试用例
3.因果图
举例1: 需求—
“……对于功率大于50马力的机器,并且维修记录不全或已运行10年以上的机器
,应给予优先的维修处理……”
Y
N ————
动作 21 桩 22
Y
Y
Y
Y
Y
Y
N
Y
N
N
N
N
N
N
N
N
Y
N
23
Y
Y
Y
Y
Y
Y
N
NN
24
NN
N
Y
Y
NN
NN
25
Y
Y
NN
N
NN
NN
26
Y
N
N
Y
N
N
N
N
N
目录
1. 错误推测法 2. 判定表法 3. 因果图法 4. 判定表vs因果图
3.因果图
定义: 因果图法是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法。 适合于检查程序输入条件的各种组合情况。 优点: 考虑输入条件的各种组合、输入条件之间的相互制约关系;
区别
使用
定义
本质 当输入条件过多
时
二者往往结合使用,使用因果图可以得到判定表。它可以看作判定表法的前期 阶段,也可以直接应用判定表
2.判定表
举例: 图a:两规则动作项一样,条件项3不同,在1、2条件项分别取Y、N时,无论条 件3取何值,都执行同一操作,即要执行的动作与条件3无关,可合并; 图b:两规则动作项一样,条件项2左侧的 - 包含N,在1、3条件项分别取Y、N 时,无论条件2取何值,都执行同一操作,即要执行的动作与条件2无关,可合并 ;
26 Y N N N Y N N N N N N N N N N N
2.判定表
举例3: 初始判定表2—
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
条1
件 桩
2
3
NNNNNNNNNNNNNNNN Y Y Y Y Y Y Y YNNNNNNNN Y Y Y YNNNNY Y Y YNNNN
4) 动作项(Action Entry):列出在条件项的各种取值情况下应该采取的动作
2.判定表
组成:
条件桩
有限条件桩 扩展条件桩
举例:
1. 性别(男,女) 2. 对齐方式(左对齐,右对齐,居中对齐)
所有条件都是二 值条件(真/假)
条件可以有多个 值
2.判定表
规则及规则合并: 规则:任何一个条件组合的特定取值及其相应要执行的操作称为规则。在判定表 中贯穿条件项和动作项的一列就是一条规则
3.因果图
设计步骤: 需求:分析软件规格说明描述中, 哪些是原因(即输入条件或输入条件的等价类
),哪些是结果(即输出条件), 并给每个原因和结果赋予一个标识符; 分析:分析软件规格说明描述中的语义,找出原因与结果之间,原因与原因之
间对应的关系,根据这些关系,画出因果图; 关联:由于语法或环境限制, 有些原因与原因之间,原因与结果之间的组合情
简化:就是规则合并有两条或多条规则具有相同的动作,并且其条件项之间存在 着极为相似的关系 • 规则合并:若两条或多条规则的动作项相同,条件项只有一项不同,则可将该
项合并,合并后的条件项用符号 – 表示,说明执行的动作与该条件的取值无 关,称为 无关条件; • 规则包含:无关条件项 – 在逻辑上又可包含其他的条件项取值,具有相同动 作的规则还可进一步合并
3.因果图-因果关系
因果关系有4种:恒等、否定、逻辑或、逻辑与 说明: 因果图中的 左结点,表示输入状态(或称原因); 右结点,表示输出状态(或称结果) 左结点、右结点均可取值0或1,0表示某状态不出现(假),1表示某状态出现 (真)
3.因果图-因果关系
恒等关系:如果A为1,那么B为1
A
B
否定关系:如果A为1,那么B为0
2.判定表
举例3: 初始判定表1—
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1YYYYYYYYYYYY Y Y Y Y Y Y Y YNNNNNNNN Y Y Y YNNNNY Y Y YNNNN
4 Y YNNY YNNY YNNY YNN
E约束(异):a和b中至多有一个为1,即a和b不能同时为1; I约束(或):a、b和c中至少有一个必须为1,即 a、b 和c不能同时为0; O约束(唯一);a和b必须有一个,且仅有1个为1; R约束(要求):a为1时,b必须为1,即不可能a为1时b为0
3.因果图-约束
2)输出条件约束:M约束(强制):若结果a为1,则结果b强制为0
测试用例设计方法 —错误推测法、判定表、因果图
目录
1. 错误推测法 2. 判定表法 3. 因果图法 4. 判定表vs因果图
1.错误推测法
1. 方法定义: 基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性的设计测试 用例的方法。 2. 思路: 列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据他们选择测试 用例。需要完成的前提条件如下: A、深度熟悉被测系统的业务、需求; B、对被测系统或类似系统之前的缺陷分布情况进行过系统的分析。包括功能缺 陷,数据缺陷,接口缺陷和界面缺陷等等。
分析— 原因: C1:功率大于50马力吗? C2:维修记录不全吗? C3:运行超过10年吗? 结果: A1:进行优先处理 A2:作其他处理
3.因果图
举例1: 因果图—
C1
∧
11
C2
C3
∨
A1
∨
A2
3.因果图
举例2: 需求— 某软件规格说明中包含这样的要求:第一列字符必须是A或B,第二列字符必须 是一个数字,在此情况下进行文件的修改。但如果第一列字符不正确,则给出信 息L;如果第二列字符不是数字,则给出信息M。 分析— 原因: 1. 第一列字符是A; 2. 第一列字符是B; 3. 第二列字符是一数字 结果: 21. 修改文件; 22. 给出信息L; 23. 给出信息M
条件 1
桩
2
动作 21
桩
22
23
1
2
3
4
5
6
A
A
B
B 其他 其他
Y
N
Y
N
Y
N
Y
N
Y
N
N
N
N
N
N
N
Y
Y
N
Y
N
Y
N
Y
2.判定表
举例3: 需求— 清单转定额1. 导出清单计价的单位工程; 2. 新建定额计价工程,选择【导入导出】菜单,点击【导入清单计价工程】,系 统自动弹出导入GBQ的选项窗口,提供 “导入措施项目”选项,选择导入措施 项目,并点【确定】,按规则导入定额子目; 3. 执行导入操作后,弹出“提示“窗口,点”确定“退出该窗口; 4. 只支持导入单位工程的清单计价工程,如果选择的项目工程文件或单位工程的 定额计价工程,则给提示;
2.判定表
判定表的建立步骤:(根据软件规格说明) 确定规则的个数;
假如有n个条件: 有限条件桩,每个条件有两个取值(0,1),有2^n种规则; 扩展条件桩,每个条件有依次有n1、n2……个取值,有n1*n2*……种规则; 列出所有的条件桩和动作桩; 填入条件项; 填入动作项,得到初始判定表; 简化.合并相似规则(相同动作)
1.错误推测法
3. 优缺点: 优点: 充分发挥个人的经验和潜能,命中率高; 集思广益; 方便使用; 快速容易切入
缺点: 覆盖率难以保证; 可能丢失大量未知的区域; 带有主观性且难以复制,过多的依赖于个人的经验
1.错误推测法
4. 举例: 特殊字符的验证;
输入长度的验证;
2.判定表
举例1: 需求— “……对于功率大于50马力的机器并且维修记录不全,或已运行10年以上的机器 ,应给予优先的维修处理……” 分析—
条件桩: C1:功率大于50马力吗? C2:维修记录不全吗? C3:运行超过10年吗? 动作桩: A1:进行优先处理 A2:作其他处理
2.判定表