1.定义:
因果图法是:一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况。
等价类划分方法和边界值分析方法都是着重考虑输入条件,但没有考虑输入条件的各种组合、输入条件之间的相互制约关系。这样虽然各种输入条件可能出错的情况已经测试到了,但多个输入条件组合起来可能出错的情况却被忽视了。
首先从程序规格说明书的描述中,找出因(输入条件)和果(输出结果或者程序状态的改变),然后通过因果图转换为判定表,最后为判定表中的每一列设计一个测试用例。是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况。
2.绘画因果发的流程图:
3.绘画图时,表示原因和结果的关系:
通常在因果图中用Ci表示原因,用Ei表示结果,各结点表示状态,可取值“0”或“1”。“0”表示某状态不出现,“1”表示某状态出现。
¡ 恒等:若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,“与”也可有任意个输入。
4.绘画图时,表示原因与原因的关系:
l 对于输入条件的约束有4种:
l E约束(异):a和b中最多有一个可能为1,即a和b不能同时为1;
l I约束(或):a、b、c中至少有一个必须是1,即a、b、c不能同时为0;
l O约束(唯一):a和b必须有一个且仅有一个为1;
l R约束(要求):a是1时,b必须是1;
l 对于输出条件的约束只有M约束
M约束(强制):若结果a是1,则结果b强制为0。
1.1生成用例的步骤
(1) 分析软件规格说明描述中,那些是原因(即输入条件或输入条件的等价类),那些是结果(即输出条件), 并给每个原因和结果赋予一个标识符。
(2) 分析软件规格说明描述中的语义。找出原因与结果之间,原因与原因之间对应的关系。根据这些关系,画出因果图。
(3) 由于语法或环境限制,有些原因与原因之间,原因与结果之间的组合情况不可能出现。 为表明这些特殊情况,在因果图上用一些记号表明约束或限制条件。
(4) 把因果图转换为判定表。
1.2 原因之间的约束
因果图中有4种符号描述原因之间的约束关系,1种符号描述结果之间的约束关系。下面分别介绍:
- 排他性约束:各个原因之间不能同时为真,但可以同时为假。举个例子,小明同学不可能同时属于A班和B班,但可能既不是A班的,也不是B班的,而是C班的。
- 包含性约束:各个原因中总有一个为真。即可以同时为真,但不可以同时为假。举个例子,支付宝买家付款时,有个输入条件(既原因)是余额支付、网银支付,买家可以选择单独余额支付或者单独网银支付,也可以同时选择余额支付和网银支付2种方式。但是不可以选择不支付。
- 必要性约束:当原因a为真时,原因b必须同时为真;但是原因b为真时,原因a既可以为真,也可以为假。举数字证书的例子:现有的业务规则下,如果申请了数字证书(原因a),那么该用户必然通过了支付宝认证(原因b)。反之,如果用户通过了支付宝认证,那么不一定申请了数字证书(a)。