因果图法的定义
因果图法是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况
特点:
(1)考虑输入条件的相互制约及组合关系
(2)考虑输出条件对输入条件的依赖关系
因果图的核心
因果图法比较适合输入条件比较多的情况,测试所有的输入条件的排列组合。所谓的原因就是输入,所谓的结果就是输出。
因果图的“因”—输入条件
因果图的“果”—输出结果
因果图法要注意考虑:
所有输入/输出条件的相互制约关系以及组合关系
输出结果对输入条件的依赖关系,也就是什么样的输入组合会产生怎样的输出结果,即“因果关系”
因果图中的基本符号
通常在因果图中用Ci表示原因,用Ei表示结果,各结点表示状态,可取值“0”或“1”。“0”表示某状态不出现,“1”表示某状态出现。
因果图中的约束条件
利用因果图导出测试用例需要经过以下几个步骤:
①找出所有的原因,原因即输入条件或输入条件的等价类。
②找出所有的结果,结果即输出条件。
③明确所有输入条件之间的制约关系以及组合关系。
哪些条件不能组合到一起,哪些条件可以组合到一起
④明确所有输出条件之间的制约关系以及组合关系。
哪些输出结果不能同时输出,哪些输出结果可以同时输出
⑤找出什么样的输入条件组合会产生哪种输出结果
⑥把因果图转换成判定表/决策表。
⑦为判定表/决策表中的每一列表示的情况设计测试用例。
案例:交通一卡通自动充值软件系统需求
-系统只接收50、100元纸币,一次只能使用一张纸币,十次充值金额只能为50元或100元。
-若输入50元纸币,并选择充值50元,完成充值后退卡,提示充值成功;
-若输入50元纸币,并选择充值100元,提示输入金额不足,并退回50元;
-若输入100元纸币,并选择充值50元,完成充值后退卡,提示充值成功,找零50元;
-若输入100元纸币,并选择充值100元,完成充值后退卡,提示充值成功;
-若输入纸币后在规定时间内不选择充值按钮,退回输入的纸币,并提示错误;
-若选择充值按钮后不输入纸币,提示错误
结果:
分析:
1、找到所有输入条件编号
2、找到所有输出条件编号
3、找出所有输入、输出的制约关系
根据因果图再制作出对应的“表格”