因果图分析法: 前面介绍的等价类划分方法和边界值分析方法,都是着重考虑输入条件,但未考虑输入条件之间的联系, 相互组合等考虑输入条件之间的相互组合,可能会产生一些新的情况但要检查输入条件的组合不是一件容易的事情,即使把所有输入条件划分成等价类,他们之间的组合情况也相当多因此必须考虑采用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例这就需要利用因果图(逻辑模型) 因果图方法最终生成的就是判定表,它适合于检查程序输入条件的各种组合情况 因果图中使用了简单的逻辑符号,以直线联接左右结点左结点表示输入状态(或称原因),右结点表示输出状态(或称结果) ci表示原因,通常置于图的左部;ei表示结果,通常在图的右部ci和ei均可取值0或1,0表示某状态不出现,1表示某状态出现 因果图概念—关系4种符号分别表示了规格说明中向4种因果关系如上图所示①恒等:若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与”也可有任意个输入。
因果图概念--约束输入状态相互之间还可能存在某些依赖关系,称为约束例如, 某些输入条件本身不可能同时出现输出状态之间也往往存在约束在因果图中,用特定的符号标明这些约束 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是0B.输出条件约束类型 输出条件的约束只有M约束(强制):若结果a是1,则结果b强制为0 一、 分析中国象棋中走马的实际情况(下面未注明的均指的是对马的说明) 1、如果落点在棋盘外,则不移动棋子;2、如果落点与起点不构成日字型,则不移动棋子;3、如果落点处有自己方棋子,则不移动棋子;4、如果在落点方向的邻近交叉点有棋子(绊马腿),则不移动棋子;5、如果不属于1-4条,且落点处无棋子,则移动棋子;6、如果不属于1-4条,且落点处为对方棋子(非老将),则移动棋子并除去对方棋子;7如果不属于1-4条,且落点处为对方老将,则移动棋子,并提示战胜对方,游戏结束。
二、 根据分析明确原因和结果 原因: 1、 落点在棋盘外; 2、 落点与起点不构成日字; 3、 落点处为自己方棋子; 4、 落点方向的邻近交叉点有棋子; 5、 不属于1-4条且落点处无棋子; 6、 不属于1-4条且落点处为对方棋子(非老将); 7、 不属于1-4条且落点处为对方老将 结果: 21、不移动棋子; 22、移动棋子; 23、移动棋子,并除去对方棋子; 24、移动棋子,并提示战胜对方,结束游戏 因果图:1光a。