一.因果图法概念
1、等价类分割法和边界值分析方法都侧重于输入条件,但没有考虑输入条件的各种组合,输入条件之间的相互制约关系。
2、因果图是通过图解分析输入的各种组合情况,设计测试用例的方法,适用于检查程序输入条件的各种组合情况。
3、因果图法考虑了输入情况的各种组合和输出情况之间的相互制约关系
二、因果关系图中出现的基本符号
通常,在因果图中,用Ci表示原因,用Ei表示结果,各节点表示状态,可能的值为“0”或“1”。 “0”表示不出现某个状态,“1”表示出现某个状态。
三.因果关系
(恒等)如果C1是1,则e1也是1
非:如果C1是1,则e1是0
或者c1或c2或c3为1,则e1为1
and :如果c 1和c2都是1,则e1是1
四.约束
1、在实际问题中,输入状态之间、输出状态之间可能存在某种依存关系,被称为“约束”
2、输入条件之间的约束有四个约束: e (排除或)、I ) in )、o ) o (只)、r ) r (请求)
3、对输出条件的约束只有m(mandate )约束。
4、在因果图中,这些约束用特定的符号表示
五.因果图法测试用例的设计步骤
1、根据程序规格书描述的内容,分析确定“原因”和“结果”,找出原因与原因之间,找出原因与结果的对应关系,显示为连接各个原因与结果的“因果图”。
2、由于语法或环境限制,原因和原因之间、原因和结果之间不可能有组合。 因果上用符号表示制约或限制条件;
3、将因果图转换为判定表
4、根据判定表各列设计测试用例
六.因果图案例
1、程序规格说明要求:
的第一个字符必须是“#”或“*”,第二个字符必须是数字。 在这种情况下,进行文件的变更。
如果第一个字符不是“#”或“*”,则消息n;
如果第二个字符不是数字,则给出消息m。
2、步骤:
2.1分析程序规格说明,列举原因和结果;
2.2找出原因与结果之间的因果关系、原因与原因之间的约束关系,画出因果图。
2.3将因果图转换为判定表;
2.4根据判定表,设计测试用例的输入数据和预期输出。
2.5列举原因和结果
原因: c1--第一个字母是“#”
c2--第一个字母是“*”
c3--第一个字母是数字
结果: e1--输出信息n
e2--修改文件
e3--给予信息的m
2.6因果图
2.7将因果图转换为判定表
2.8测试用例设计
最左边的两列可以排除原因c1和c2不能同时为1,并根据表设计6个测试用例
七.使用因果图法的好处
1、考虑了输入情况的各种组合和各输入情况之间的相互制约关系。
2、可以帮助测试人员按照一定的步骤,有效地开发测试用例。
3、因果图法是将自然语言规格说明转换为形式语言规格说明的严格方法,可以指出规格说明的不完备性和二义性。