因果图法
1. 引言
等价类划分方法和边界值分析方法,都是着重考虑输入条件,但未考虑输
入条件之间的联系、相互组合等。考虑输入条件之间的相互组合,可能会产生
一些新的情况。但要检查输入条件的组合不是一件容易的事情,即使把所有输
入条件划分成等价类,他们之间的组合情况也相当多。因此必须考虑采用一种
适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用
例。这就需要利用因果图(逻辑模型)。
因果图(Cause-EffectGraphing)提供了一个把规格转化为判定表的系统化方
法,从该图中可以产生测试数据。其中原因是表示输入条件,结果是对输入执
行的一系列计算后得到的输出。
因果图方法最终生成的就是判定表,它适合于检查程序输入条件的各种组合情
况。
2. 因果图介绍
2.1 图例说明
1、4 种符号分别表示了规格说明中向 4 种因果关系。
2、因果图中使用了简单的逻辑符号,以直线联接左右结点。左结点表示输
入状态(或称原因),右结点表示输出状态(或称结果)。
3、ci 表示原因,通常置于图的左部;ei 表示结果,通常在图的右部。ci
和 ei 均可取值 0 或 1,0 表示某状态不出现,1 表示某状态出现。
2.2 因果图概念
1、关系(图 2-1 因果图关系)
①恒等:若 ci 是 1,则 ei 也是 1;否则 ei 为 0。
②非:若 ci 是 1,则 ei 是 0;否则 ei 是 1。
③或:若 c1 或 c2 或 c3 是 1,则 ei 是 1;否则 ei 为 0。“或”可有任意个
输入。
④与:若 c1 和 c2 都是 1,则 ei 为 1;否则 ei 为 0。“与”也可有任意个