当前位置:文档之家› 第3章(4)黑盒测试方法4-因果图法分解

第3章(4)黑盒测试方法4-因果图法分解

• 将因果图转换成决策表; • 根据决策表中每一列设计测试用例
课堂回顾: Logo
1、以下四个图例分别表示什么关系:
c1
e1
c1 ~ e1
c1
c2
∨ e1
c3
c1 ∧ e1
c2
课堂回顾: Logo
2、以下五种图例又分别表示什么关系??
a
E
I
b
a
R
b
a
a
b
O
b
c
a
M
b
Logo
3、叙述因果图法设计测试用例的步骤
因果图法设计测试用例思想 Logo
• 首先从程序规格说明书的描述中, 找出因(输入条件)和果(输出结果 或者程序状态的改变),
• 然后通过因果图转换为判定表,最 后为判定表中的每一列设计一个测 试用例.
因果图法的定义: Logo
• 是一种利用图解法分析输入的各种 组合情况,从而设计测试用例的方 法,它适合于检查程序输入条件的 各种组合情况。
为0,“与”也可有任意个输入。
Logo
• 在实际问题当中输入状态相互之间还可能 存在某些依赖关系,称为“约束”
a E
b 异
a
I
b
或c
(a)
(
a
R
M
b 要求
b 强制
(d)
(e)
Logo
–E约束(异):a和b中最多有一个可能为1, 即a和b不能同时为1;
a E
b 异
Logo
什么是因果关系?? Logo
• 拿破仑说: • “失一个钉子,坏了一只蹄铁; • 坏了一只蹄铁,折了一匹战马; • 折了一匹战马,伤了一位骑士; • 伤了一位骑士,输了一场战斗;
• 输了一场战斗,亡了一个帝国。” • 这就是因果关系
因果图法举例 Logo
• 程序的规格说明要求:输入的第一个 字符必须是“#”或“*”,第二个字 符必须是一个数字,在此情况下进行 文件的修改;如果第一个字符不是“#” 或“*”,则给出信息N;如果第二个 字符不是数字,则给出信息M。
因果图中出现的基本符号 Logo
原因
结果
通常在因果图中用Ci表示原因,用Ei 表示结果,各结点表示状态,可取值 “0”或“1”。“0”表示某状态不出 现,“1”表示某状态出现。
主要的原因与结果之间的关系 Logo
c1
e1
(a)恒等
c1 ~ e1 (b)非
c1
V
c2
e1
c3
(c)或
V
c1 e1
c2
–M约束(强制):若结果a是1,则结果b强制为0。
因果图法设计测试用例步骤: Logo
• 分析程序规格说明书描述的语义内容,找出“原 因”和“结果”,将其表示成连接各个原因与各 个结果的“因果图”。
• 由于语法或环境限制,有些原因与原因之间或与 结果之间的组合情况不能出现,用记号标明约束 或限制条件;
软件测试
第3章 黑盒测试方法
——因果图法
目录
1 因果图法设计测试用例思想
2
因果图的定义
3 因果图法设计测试用例步骤
4
使用因果图法的优点
5
案例分析
Logo
因果图法产生的背景 Logo
等价类划分法和边界值分析方 法都是着重考虑输入条件,但没有 考虑输入条件的各种组合、输入条 件之间的相互制约关系。这样虽然 各种输入条件可能出错的情况已经 测试到了,但多个输入条件组合起 来可能出错的情况却被忽视了。
c3
~
a3
具有E约束的因果图表示
1 C1 1 C2 1 C3 1 11 a1 a2 a3 不可能 √ 测试 用例
将因果图转化为判定表
23 4 5 6 11 1 0 0 10 0 1 1 01 0 1 0
1 11 1





#3 #B *7 *M
Logo
78 00 00 10 00 √√

C2 CM
(4)设计测试用例 Logo
• 最左边两列,原因c1和c2同时为1不可能,排 除掉,根据表可设计出6个测试用例。
–Test1:输入数据-#3 –Test2:输入数据-#B –Test3:输入数据-*7 –Test4:输入数据-*M –Test5:输入数据-C2 –Test6:输入数据-CM
和N
预期输出--修改文件 预期输出--给出信息M
• 与:若c1和c2都是1,则e1为1,否则e1为0, “与”也可有任意个输入。用符号“∧” 表示。
c1 e1
c2
V
Logo
–恒等:若c1是1,则e1也为1,否则e1为 0;
–非:若c1是1,则e1为0,否则e1为1; –或:若c1或c2或c3是1,则e1是1,否则
e1为0,“或”可有任意个输入; –与:若c1和c2都是1,则e1为1,否则e1
Logo
• 对于输入条件的约束有4种:
–E约束(异):a和b中最多有一个可能为1,即a和b 不能同时为1;
–I约束(或):a、b、c中至少有一个必须是1,即a、 b、c不能同时为0;
–O约束(唯一):a和b必须有一个且仅有一个为1; –R约束(要求):a是1时,b必须是1;
• 对于输出条件的约束只有M约束
(d)与
Logo
• 恒等:若c1是1,则e1也为1,否则 e1为0;
c1
e1
Logo
–非:若c1是1,则e1为0,否则e1 为1;用符号“~”表示。
c1 ~ e1
Logo
• 或:若c1或c2或c3是1,则e1是1, 否则e1为0,“或”可有任意个输
入;用符号“V”表示。
c1
V
c2
e1
c3
Logo
步骤: Logo
1.分析程序的规格说明,列出原因和结果;
2.找出原因与结果之间的因果关系、原 因与原因之间的约束关系,画出因果图。
3.将因果图转换成决策表; 4.根据3中的决策表,设计测试用例的输 入数据和预期输出。
解法如下: Logo
• (1)在明确了上述要求后,可以明确地将 原因和结果分开。
–I约束(或):a、b、c中至少有一个必须 是1,即a、b、c不能同时为0;
a
I
b
或c
Logo
–O约束(唯一):a和b必须有一个且仅有 一个为1;
a O
b 唯一
Logo
–R约束(要求):a是1时,b必须是1;
a R
b 要求
Logo
• M约束(强制):若结果a是1,则结果b强 制为0。
a M
b 强制
预期输出--修改文件 预期输出--给出信息M
预期输出--给出信息N 预期输出--给出信息M
–原因:c1-第一个字符是“#” c2-第一个字符是“*” c3-第二个字符是一个数字
–结果:a1-给出信息N a2-修改文件 a3-给出信息M
(2)因果图
c1 V 10
c2
V
Logo
10为导出结果的中间原因
a1 ~
a2
c3
~
a3
因果图表示
带有E约束的因果图 Logo
c1
a1
E
V 10
~
V
c2
a2
相关主题