3.2.4 因果图
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
和b不能同时为1;
I约束(或):a、b、c中至少有一个必须是1,
即a、b、c不能同时为0;
a E 异 b I 或 a b c
因果图中常用的约束的关系
O约束(唯一):a和b必须有一个且仅有一个为1; R约束(要求):a是1时,b必须是1;
a O 唯一 b 要求 R
a
b
因果图中常用的约束的关系
M约束(强制):若结果a是1,则结果b强制为0。
a M b 强制
课堂回顾
1、以下四个图例分别表示什么关系:
c1
e1
c1
~
e1
c1 c2 c3
∨
c1 e1
∧
e1
c2
课堂回顾
2、以下五种图例又分别表示什么关系?
a
E
a
I
a
O
b
b c
b
a
R
a
M
b
b
因果图法设计测试用例步骤:
分析程序规格说明书描述的语义内容,找 出“原因”和“结果”,将其表示成连接 各个原因与各个结果的“因果图”。 由于语法或环境限制,有些原因与原因之 间或与结果之间的组合情况不能出现,用 记号标明约束或限制条件; 将因果图转换成决策表; 根据决策表中每一列设计测试用例
原因之间的约束关系,画出因果图。
将因果图转换成决策表;
根据3中的决策表,设计测试用例的输入
数据和预期输出。
解法如下:
(1)在明确了上述要求后,可以明确地将原 因和结果分开。
原因:c1-第一个字符是“#” c2-第一个字符是“*” c3-第二个字符是一个数字 结果:a1-给出信息N a2-修改文件 a3-给出信息M
软件测试技术
3.2.4 因果图法
授课教师:***
知识回顾
判定表的组成? 判定表的类型 判定表设计测试用例的步骤 有限项判定表
特点:所有条件都是二值条件 (真/假),有n个条件的 1、列出所有的条件桩和动作桩
扩展项判定表 步
判定表有2n个规则 2、 确定规则的个数
特点:条件可以有多个值,有 n个条件的判定表的规 3、 填入条件项、动作项
因果图法举例
程序的规格说明要求:输入的第一个字 符必须是“#”或“*”,第二个字符必 须是一个数字,在此情况下进行文件的 修改;如果第一个字符不是“#”或 “*”,则给出信息N;如果第二个字 符不是数字,则给出信息M。
步骤:
分析程序的规格说明,列出原因和结果;
找出原因与结果之间的因果关系、原因与
能同时为1;
I约束(或):a、b、c中至少有一个必须是1,即a、b
、c不能同时为0;
O约束(唯一):a和b必须有一个且仅有一个为1; R约束(要求):a是1时,b必须是1; 对于输出条件的约束只有M约束 M约束(强制):若结果a是1,则结果b强制为0。
因果图中常用的约束的关系
E约束(异):a和b中最多有一个可能为1,即a
因果图中出现的基本符号
Ci
原因 结果
Ei
通常在因果图中用Ci表示原因,用Ei
表示结果,各结点表示状态,可取值 “0”或“1”。“0”表示某状态不出现, “1”表示某状态出现。
主要的原因与结果之间的关系
c1 c1 e1 c2 V V e1
c1
e1
c1
~
e1
c2 c3
(a)恒等
(b)非
(c)或
(d)与
如果使用有限条目决策表规则比较多时, 可以 5、根据决策表设计测试用例 转化为扩展条目决策表。
则的个数为n个条件所有值的笛卡尔积。 4、简化决策表
骤
判定表的组成
将任何一个条件组合的 特定取值及相应要执行的 动作称为一条规则。 在决策表中贯穿条件项 和动作项的一列就是一条 规则。 1. 条件桩—列出问题的所有条件。 2. 条件项—针对条件桩给出的条件,列出所有可能的取值。 3. 动作桩—列出问题规定的可能采取的操作。
恒等:若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为0, “与”也可有任意个输入。
因果图中常用的约束的关系
在实际问题当中输入状态相互之间还可能存在某
些依赖关系,称为“约束”
a E 异 b I 或 a b c O 唯一 b 要求 (d) a R b b 强制 (e)
a
a M
(a)
(b)
(c)
因果图中常用的约束的关系
在实际问题当中输入状态相互之间还可能存在某些依赖关
系,称为“约束”
对于输入条件的约束有4种:
E约束(异):a和b中最多有一个可能为1,即a和b不
需求规格说明中的因果关系
作用
能够按一定步骤,高效率地选择测试用例 指出程序规约描述中存在着的问题
因果图法设计测试用例思想
首先从程序规格说明书的描述中,找出因 (输入条件)和果(输出结果或者程序状态 的改变) 然后通过因果图转换为判定表,最后为判 定表中的每一列设计一个测试用例。
百度文库
3
1 0 0 0 1 1 1
4
1 0 0 0 0 1 0
5
0 1 1 0 0 1 1 √ √
6
0 1 0 1 0 1 1 √ √
7
0 1 0 0 1 1 1 √
8
0 1 0 0 0 1 0
9
0 0 1 0 0 0 1
10 11
0 0 0 1 0 0 1 0 0 0 0 1 0 1
a1:退还5角硬币 a2:送出“可乐”饮料 √ a3:送出“雪碧”饮料 a4:送出“红茶”饮料
4. 动作项—指出在条件项的各组取值情况下应采取的动作。
主要内容
本章内容
因果图分析法
因果图介绍
利用因果图导出测试用例
举例
因果图法分析法
因果图法是一种利用图解法分析输入的各种组 合情况,最终生成的是判定表,从而设计测试 用例。它适合于检查程序输入条件的各种组合 情况。 因果图分析依据
√ √ √ #3
√
#B
√
√
*M C2
√
CM
*7
(4)设计测试用例
最左边两列,原因c1和c2同时为1不可能,排除 掉,根据表可设计出6个测试用例。
Test1:输入数据-#3 Test2:输入数据-#B Test3:输入数据-*7 Test4:输入数据-*M Test5:输入数据-C2 Test6:输入数据-CM
举例2:自动售货机
画出因果图,并加上约束条件
33
举例2:自动售货机
转换成判定表
34
谢谢大家!
(2)因果图
10为导出结果的中间原因
c1 V 10 ~ V
a1
c2
a2
c3
~
因果图表示
a3
带有E约束的因果图
c1 E V 10 ~ a1
c3
~
具有E约束的因果图表示
V
c2
a2
a3
将因果图转化为判定表
规则 1 2 3 4 5 6 7 8
选项
条件 c1 c2 c3 10 动作 a1 a2 a3 不可能 测试用例 1 1 1 1 1 0 1 0 1 1 1 0 0 1 0 1 1 1 0 1 0 1 0 0 1 0 √ 0 0 0 0 √
结果
(2)画出因果图
C1 V V V V E2 E3 E4 E C2 V E1 11
C3
E
C4
V
12
C5
(3)决策表
1
c1:投入1元5角硬币 c2:投入2元硬币 c3:按“可乐”按钮 c4:按“雪碧”按钮 c5:按“红茶”按钮 11:已投币 12:已按钮 1 0 1 0 0 1 1
2
1 0 0 1 0 1 1
举例2:自动售货机
分析原因和结果
结果: 21、售货机〖零钱找完〗灯亮 22、退还1元硬币 23、退还5角硬币 24、送出橙汁饮料 25、送出啤酒饮料
原因: 1、售货机有零钱找 2、投入1元硬币 3、投入5角硬币 4、押下橙汁按钮 5、押下啤酒按钮
31
第二步:画出因果图,并加上约束条件, 所有原因结点列在左边,所有结果结点列在右边。建立 中间结点,表示处理的中间状态。11、12、13、14为中 间条件: 11、投入1元硬币且押下饮料按钮 12、押下〖橙汁〗或〖啤酒〗的按钮 13、应当找5角零钱并且售货机有零钱找 14、钱已付清
√ √
√
(4)设计测试用例
用例 编号 1 2 测试用例 投入1元5角,按“可乐” 投入1元5角,按“雪碧” 预期输出 送出“可乐”饮料 送出“雪碧”饮料
3
4 5 6
投入1元5角,按“红茶”
投入2元,按“可乐” 投入2元,按“雪碧” 投入2元,按“红茶”
送出“红茶”饮料
找5角,送出“可乐” 找5角,送出“雪碧” 找5角,送出“红茶”
课堂练习(自动售货机)
有一个处理单价为5角钱的饮料的自动售货机,其规格说明 如下: (1)若投入5角钱或1元钱的硬币,押下【橙汁】或【啤酒】 的按钮,则相应的饮料就送出来。 (2)若售货机没有零钱找,则一个显示【零钱找完】 的红 灯亮,这时在投入1元硬币并押下按钮后,饮料不送出来而 且1元硬币也退出来; (3)若有零钱找,则显示【零钱找完】 的红灯灭,在送出 饮料的同时退还5角硬币。 请绘制出因果图和判定表,并给出相应的测试用例。
预期输出--修改文件 预期输出--给出信息M 预期输出--修改文件 预期输出--给出信息M 预期输出--给出信息N 预期输出--给出信息M和N
使用因果图法的优点:
( 1)考虑到了输入情况的各种组合以及各个输入 情况之间的相互制约关系。 ( 2)能够帮助测试人员按照一定的步骤,高效率 的开发测试用例。 ( 3)因果图法是将自然语言规格说明转化成形式 语言规格说明的一种严格的方法,可以指出规格 说明存在的不完整性和二义性。
案例分析1
有一个处理单价为1元5角的盒装饮料的 自动售货机软件。若投入1元5角硬币, 按下“可乐”,“雪碧”或“红茶”按 钮,相应的饮料就送出来。若投入的是 两元硬币,在送出饮料的同时退还5角硬 币。
(1)分析原因及结果
c1:投入1元5角硬币; c2:投入2元硬币; 原因 c3:按“可乐”按钮; c4:按“雪碧”按钮; c5:按“红茶”按钮; 11:已投币 中间状态 12:已按钮 a1:退还5角硬币; a2:送出“可乐”饮料; a3:送出“雪碧”饮料; a4:送出“红茶”饮料;