因果图法
一、定义
一种描述输入条件的组合及每种组合对应的输出的图形化工具,用来处理等价类划分和边界值考虑不到的情况,适用描述多种条件的组合,产生多个相应动作的测试方法;从程序规格说明书的描述中找出因果关系。
二、因果图说明
- 因:表示输入条件
- 果:表示输出条件
三、基本符号
1、因果之间的关系
Ci表示因,Ei表示果
(1)恒等
若C1=1,则E1=1
若C1=0,则E1=0
(2)非
若C1=1,则E1=0
若C1=0,则E1=1
(3)或
若C1,C2,C3中只要有一个为真,则E1为真
若C1,C2,C3都不为真,则E1为假
(4)且
若C1和C2同时为真,则E1真
若C1,C2不同时为真,则E1为假
2、约束条件(因与因,果与果)
(1)互斥
最多只能有一个成立
(2)包含
至少有一个必须成立
(3)唯一
a,b,c中必须有一个成立,且只有一个成立
(4)要求
一个成立,另一个必定成立
(5)屏蔽
a成立时,b一定不成立
a不成立时,b不能确定
四、基本步骤
- 分析不同的输入条件、输出结果,并进行分类。
- 分析输入条件之间的关系。
- 分析输出结果之间的关系。
- 根据分析结果画出因果图。
- 根据因果图,画出判定表。
- 根据判定表,编写测试用例。
五、案例
系统只接收50或100元纸币,一次只能使用一张纸币,一次充值金额只能为50元或100元;
- 若输入50元纸币,并选择充值50元,完成充值后退卡,提示充值成功;
- 若输入50元纸币,并选择充值100元,提示错误,并退回50元;
- 若输入100元纸币,并选择充值50元,则完成充值后退卡,提示充值成功,退回50元;
- 若输入100元纸币,并选择充值100元,完成充值后退卡,提示充值成功;
- 若输入纸币后在规定时间内不选择充值按钮,退回输入的纸币,并提示错误;
- 若选择充值按钮后不输入纸币,提示错误;
1、分析不同的输入条件、输出结果,并进行分类
输入条件:
- 输入50元
- 输入100元
- 充值50元
- 充值100元
输出条件:
a. 完成充值后退卡
b. 提示充值成功
c. 退回50元
d. 退回100元
e. 提示错误
2、分析输入条件之间的关系
1和2之间互斥
3和4之间互斥
1,2,3,4可以单独存在
3、分析输出结果之间的关系
a与d,e互斥
b与d,e互斥
c与d互斥
a与b必须同时出现
d与e必须同时出现
4、根据分析结果画出因果图
这里将每种组合分别画出
情况1:输入条件为(1),(3)时,得到a,b的组合
情况2:输入条件为(1),(4)时,得到c,e的组合
情况3:输入条件为(2),(3)时,得到a,b,c的组合
情况4:输入条件为(2),(4)时,得到a,b的组合
情况5:输入条件为(1)时,得到c,e的组合
情况6:输入条件为(2)时,得到d,e的组合
情况7:输入条件为(3)时,得到e
情况8:输入条件为(4)时,得到e
5、根据因果图,画出判定表
情况1情况2情况3情况4情况5情况6情况7情况81.输入50元111条件2.输入100元1113.充值50元1114.充值100元111a. 完成充值后退卡111b. 提示充值成功111动作c. 退回50元111d. 退回100元1e. 提示错误11111
6、根据判定表,编写测试用例
编号测试用例预期结果11.输入50元 3.充值50元a. 完成充值后退卡 b. 提示充值成功21.输入50元 4.充值100元c. 退回50元 e. 提示错误32.输入100元 3.充值50元a. 完成充值后退卡 b. 提示充值成功 c. 退回50元42.输入100元 4.充值100元a. 完成充值后退卡 b. 提示充值成功51.输入50元c. 退回50元 e. 提示错误62.输入100元d. 退回100元 e. 提示错误73.充值50元e. 提示错误84.充值100元e. 提示错误
版权归原作者 oneMoe 所有, 如有侵权,请联系我们删除。