1 .引言 等价类划分方法和边界值分析方法,都是着重考虑输入条件,但未考虑输入条件之间的联系、相互组合等。考虑输入条件之间的相互组合,可能会产生一些新的情况。但要检查输入条件的组合不是一件容易的事情,即使把所有输入条件划分成等价类,他们之间的组合情况也相当多。因此必须考虑采用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例。这就需要利用因果图(逻辑模型)。 因果图(Cau se-EffectGraphing )提供了一个把规格转化为判定表的系统化方法,从该图中可以产生测试数据。其中原因是表示输入条件,结果是对输入执行的一系列计算后得到的输出。 因果图方法最终生成的就是判定表,它适合于检查程序输入条件的各种组合情况。 2 .因果图介绍 2 .1 图例说明 1 、4 种符号分别表示了规格说明中向 4 种因果关系。如图 2-1 所示。 图 2-1 因果图关系 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。“与”也可有任意个输入。 2 、约束 输入状态相互之间还可能存在某些依赖关系,称为约束。例如,某些输入条件本身不可能同时出现。输出状态之间也往往存在约束。在因果图中,用特定的符号标明这些约束。如图2-2 所示。 图2-2 因果图约束 A.输入条件的约束有以下 4 类: ① E 约束(异):a 和b 中至多有一个可能为 1,即 a 和b 不能同时为 1。 ② I 约束(或):a、b 和 c 中至少有一个必须是 1,即 a、b 和 c 不能同时为 0。 ③ O 约束(唯一);a 和 b 必须有一个,且仅有 1 个为 1。 ④R 约束(要求):a 是 1 时,b 必须是 1,即不可能 a 是 1 时 b 是 0。 B.输出条件约束类型 输出条件的约束只有 M 约束(强制):若结果 a 是 1,则结果 b 强制为 0。 2 .3 因果图法设计测试用...