【资料】软件测试-8黑盒测试因果图法.汇编
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
非:若c1是1,则e1为0,否则e1为1;
或:若c1或c2或c3是1,则e1是1,否则 e1为0,“或”可有任意个输入;
与:若c1和c2都是1,则e1为1,否则e1 为0,“与”也可有任意个输入。
在实际问题当中输入状态相互之间还可能存在 某些依赖关系,称为“约束”
a
a
a
a
a
E
I
bO
R
M
b 异
a R
b 要求
M约束(强制):若结果a是1,则结果b强制为 0。
a M
b 强制
对于输入条件的约束有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;
或c
b 唯一
b 要求
b 强制
(a)
(b)
(c)
(d)
(e)
E约束(异):a和b中最多有一个可能为1 ,即a和b不能同时为1;
ຫໍສະໝຸດ Baidua E
b 异
I约束(或):a、b、c中至少有一个必须 是1,即a、b、c不能同时为0;
a
I
b
或c
O约束(唯一):a和b必须有一个且仅有 一个为1;
a O
b 唯一
R约束(要求):a是1时,b必须是1;
将因果图转换成判定表; 根据判定表中每一列设计测试用例
因果图法举例
程序的规格说明要求:输入的第一个字符必须 是“#”或“*”,第二个字符必须是一个数字, 在此情况下进行文件的修改;如果第一个字符 不是“#”或“*”,则给出信息N;如果第二个 字符不是数字,则给出信息M。
步骤:
1. 分析程序的规格说明,列出原因和结果; 2. 找出原因与结果之间的因果关系、原因与原
因之间的约束关系,画出因果图。 3. 将因果图转换成决策表; 4. 根据3中的决策表,设计测试用例的输入数据
和预期输出。
解法如下:
(1)在明确了上述要求后,可以明确地将原 因和结果分开。
原因:c1-第一个字符是“#” c2-第一个字符是“*”
c3-第二个字符是一个数字 结果:a1-给出信息N
a2-修改文件 a3-给出信息M
(2)因果图
10为导出结果的中间原因
c1
a1
V 10
~
V
c2
a2
c3
~
a3
因果图表示
带有E约束的因果图
c1
E
V 10
c2
V
a1 ~
a2
c3
~
a3
具有E约束的因果图表示
(3)将因果图转换成决策表
规则 1
选项
条件
c1
1
c2
1
c3
1
10
动作
a1
a2
a3
不可能
√
测试用例
c1
e1
非:若c1是1,则e1为0,否则e1 为1;
c1 ~ e1
或:若c1或c2或c3是1,则e1是1 ,否则e1为0,“或”可有任意个 输入;
c1
V
c2
e1
c3
与:若c1和c2都是1,则e1为1, 否则e1为0,“与”也可有任意个 输入。
c1 e1
c2
V
恒等:若c1是1,则e1也为1,否则e1为 0;
因果图中出现的基本符号
原因
结果
通常在因果图中用Ci表示原因,用Ei表 示结果,各结点表示状态,可取值“0” 或“1”。“0”表示某状态不出现,“1” 表示某状态出现。
主要的原因与结果之间的关系
c1
e1
(a)恒等
c1
V
c1 ~ e1 c2
e1
(b)非
c3
(c)或
V
c1 e1
c2
(d)与
恒等:若c1是1,则e1也为1,否 则e1为0;
2
3
4
56
7
8
1
1
1
0
0
0
0
1
0
0
1
1
0
0
0
1
0
1
0
1
0
1
1
1
1
0
0
√
√
√
√
√
√
√
√
#3 #A *6 *B A1 GT
(4)设计测试用例
最左边两列,原因c1和c2同时为1不可能,排除掉, 根据表可设计出6个测试用例。
Test1:输入数据-#3 预期输出--修改文件 Test2:输入数据-#B 预期输出--给出信息M Test3:输入数据-*7 预期输出--修改文件 Test4:输入数据-*M 预期输出--给出信息M Test5:输入数据-C2 预期输出--给出信息N Test6:输入数据-CM 预期输出--给出信息M和N
原因及结果
原因
中间状态 结果
c1:投入1元5角硬币; c2:投入2元硬币; c3:按“可乐”按钮; c4:按“雪碧”按钮; c5:按“红茶”按钮; 11:已投币 12:已按钮 a1:退还5角硬币; a2:送出“可乐”饮料; a3:送出“雪碧”饮料; a4:送出“红茶”饮料;
因果图
V V
V V
C1
E1
E
V
11
C2 E2
使用因果图法的优点:
(1)考虑到了输入情况的各种组合以及各个 输入情况之间的相互制约关系。
(2)能够帮助测试人员按照一定的步骤,高 效率的开发测试用例。
(3)因果图法是将自然语言规格说明转化成 形式语言规格说明的一种严格的方法,可以 指出规格说明存在的不完整性和二义性。
因果图法案例分析
有一个处理单价为1元5角的盒装饮料的自动售 货机软件。若投入1元5角硬币,按下“可乐”, “雪碧”或“红茶”按钮,相应的饮料就送出 来。若投入的是两元硬币,在送出饮料的同时 退还5角硬币。
软件测试-8黑盒测试因果图法.
什么是因果关系??
拿破仑说: “失一个钉子,坏了一只蹄铁; 坏了一只蹄铁,折了一匹战马; 折了一匹战马,伤了一位骑士; 伤了一位骑士,输了一场战斗;
输了一场战斗,亡了一个帝国。” 这就是因果关系
因果图法的定义:
是一种利用图解法分析输入的各 种组合情况,从而设计测试用例 的方法,它适合于检查程序输入 条件的各种组合情况。
对于输出条件的约束只有M约束
M约束(强制):若结果a是1,则结果b强制为0。
课堂回顾:
1、以下四个图例分别表示什么关系:
c1
e1
c1 ~ e1
c1
∨
c2
e1
c3
c1 ∧ e1
c2
课堂回顾:
2、以下五种图例又分别表示什么关系??
a
a
a
E
I
b
b
O
b
c
a
R
b
a
M
b
因果图法设计测试用例思想
首先从程序规格说明书的描述中 ,找出因(输入条件)和果(输出结 果或者程序状态的改变),
然后通过因果图转换为判定表, 最后为判定表中的每一列设计一 个测试用例.
因果图法设计测试用例步骤:
分析程序规格说明书描述的语义内容,找出“ 原因”和“结果”,将其表示成连接各个原因 与各个结果的“因果图”。
由于语法或环境限制,有些原因与原因之间或 与结果之间的组合情况不能出现,用记号标明 约束或限制条件;
或:若c1或c2或c3是1,则e1是1,否则 e1为0,“或”可有任意个输入;
与:若c1和c2都是1,则e1为1,否则e1 为0,“与”也可有任意个输入。
在实际问题当中输入状态相互之间还可能存在 某些依赖关系,称为“约束”
a
a
a
a
a
E
I
bO
R
M
b 异
a R
b 要求
M约束(强制):若结果a是1,则结果b强制为 0。
a M
b 强制
对于输入条件的约束有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;
或c
b 唯一
b 要求
b 强制
(a)
(b)
(c)
(d)
(e)
E约束(异):a和b中最多有一个可能为1 ,即a和b不能同时为1;
ຫໍສະໝຸດ Baidua E
b 异
I约束(或):a、b、c中至少有一个必须 是1,即a、b、c不能同时为0;
a
I
b
或c
O约束(唯一):a和b必须有一个且仅有 一个为1;
a O
b 唯一
R约束(要求):a是1时,b必须是1;
将因果图转换成判定表; 根据判定表中每一列设计测试用例
因果图法举例
程序的规格说明要求:输入的第一个字符必须 是“#”或“*”,第二个字符必须是一个数字, 在此情况下进行文件的修改;如果第一个字符 不是“#”或“*”,则给出信息N;如果第二个 字符不是数字,则给出信息M。
步骤:
1. 分析程序的规格说明,列出原因和结果; 2. 找出原因与结果之间的因果关系、原因与原
因之间的约束关系,画出因果图。 3. 将因果图转换成决策表; 4. 根据3中的决策表,设计测试用例的输入数据
和预期输出。
解法如下:
(1)在明确了上述要求后,可以明确地将原 因和结果分开。
原因:c1-第一个字符是“#” c2-第一个字符是“*”
c3-第二个字符是一个数字 结果:a1-给出信息N
a2-修改文件 a3-给出信息M
(2)因果图
10为导出结果的中间原因
c1
a1
V 10
~
V
c2
a2
c3
~
a3
因果图表示
带有E约束的因果图
c1
E
V 10
c2
V
a1 ~
a2
c3
~
a3
具有E约束的因果图表示
(3)将因果图转换成决策表
规则 1
选项
条件
c1
1
c2
1
c3
1
10
动作
a1
a2
a3
不可能
√
测试用例
c1
e1
非:若c1是1,则e1为0,否则e1 为1;
c1 ~ e1
或:若c1或c2或c3是1,则e1是1 ,否则e1为0,“或”可有任意个 输入;
c1
V
c2
e1
c3
与:若c1和c2都是1,则e1为1, 否则e1为0,“与”也可有任意个 输入。
c1 e1
c2
V
恒等:若c1是1,则e1也为1,否则e1为 0;
因果图中出现的基本符号
原因
结果
通常在因果图中用Ci表示原因,用Ei表 示结果,各结点表示状态,可取值“0” 或“1”。“0”表示某状态不出现,“1” 表示某状态出现。
主要的原因与结果之间的关系
c1
e1
(a)恒等
c1
V
c1 ~ e1 c2
e1
(b)非
c3
(c)或
V
c1 e1
c2
(d)与
恒等:若c1是1,则e1也为1,否 则e1为0;
2
3
4
56
7
8
1
1
1
0
0
0
0
1
0
0
1
1
0
0
0
1
0
1
0
1
0
1
1
1
1
0
0
√
√
√
√
√
√
√
√
#3 #A *6 *B A1 GT
(4)设计测试用例
最左边两列,原因c1和c2同时为1不可能,排除掉, 根据表可设计出6个测试用例。
Test1:输入数据-#3 预期输出--修改文件 Test2:输入数据-#B 预期输出--给出信息M Test3:输入数据-*7 预期输出--修改文件 Test4:输入数据-*M 预期输出--给出信息M Test5:输入数据-C2 预期输出--给出信息N Test6:输入数据-CM 预期输出--给出信息M和N
原因及结果
原因
中间状态 结果
c1:投入1元5角硬币; c2:投入2元硬币; c3:按“可乐”按钮; c4:按“雪碧”按钮; c5:按“红茶”按钮; 11:已投币 12:已按钮 a1:退还5角硬币; a2:送出“可乐”饮料; a3:送出“雪碧”饮料; a4:送出“红茶”饮料;
因果图
V V
V V
C1
E1
E
V
11
C2 E2
使用因果图法的优点:
(1)考虑到了输入情况的各种组合以及各个 输入情况之间的相互制约关系。
(2)能够帮助测试人员按照一定的步骤,高 效率的开发测试用例。
(3)因果图法是将自然语言规格说明转化成 形式语言规格说明的一种严格的方法,可以 指出规格说明存在的不完整性和二义性。
因果图法案例分析
有一个处理单价为1元5角的盒装饮料的自动售 货机软件。若投入1元5角硬币,按下“可乐”, “雪碧”或“红茶”按钮,相应的饮料就送出 来。若投入的是两元硬币,在送出饮料的同时 退还5角硬币。
软件测试-8黑盒测试因果图法.
什么是因果关系??
拿破仑说: “失一个钉子,坏了一只蹄铁; 坏了一只蹄铁,折了一匹战马; 折了一匹战马,伤了一位骑士; 伤了一位骑士,输了一场战斗;
输了一场战斗,亡了一个帝国。” 这就是因果关系
因果图法的定义:
是一种利用图解法分析输入的各 种组合情况,从而设计测试用例 的方法,它适合于检查程序输入 条件的各种组合情况。
对于输出条件的约束只有M约束
M约束(强制):若结果a是1,则结果b强制为0。
课堂回顾:
1、以下四个图例分别表示什么关系:
c1
e1
c1 ~ e1
c1
∨
c2
e1
c3
c1 ∧ e1
c2
课堂回顾:
2、以下五种图例又分别表示什么关系??
a
a
a
E
I
b
b
O
b
c
a
R
b
a
M
b
因果图法设计测试用例思想
首先从程序规格说明书的描述中 ,找出因(输入条件)和果(输出结 果或者程序状态的改变),
然后通过因果图转换为判定表, 最后为判定表中的每一列设计一 个测试用例.
因果图法设计测试用例步骤:
分析程序规格说明书描述的语义内容,找出“ 原因”和“结果”,将其表示成连接各个原因 与各个结果的“因果图”。
由于语法或环境限制,有些原因与原因之间或 与结果之间的组合情况不能出现,用记号标明 约束或限制条件;