因果图分析法实例讲解(3页).doc
- 因果图分析法: 前面介绍的等价类划分方法和边界值分析方法,都是着重考虑输入条件,但未考虑输入条件之间的联系, 相互组合等。考虑输入条件之间的相互组合,可能会产生一些新的情况。但要检查输入条件的组合不是一件容易的事情,即使把所有输入条件划分成等价类,他们之间的组合情况也相当多。因此必须考虑采用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例。这就需要利用因果图(逻辑模型)。 因果图方法最终生成的就是判定表,它适合于检查程序输入条件的各种组合情况。 因果图中使用了简单的逻辑符号,以直线联接左右结点。左结点表示输入状态(或称原因),右结点表示输出状态(或称结果)。 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是0。B.输出条件约束类型 输出条件的约束只有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、移动棋子,并提示战胜对方,结束游戏。 因果图:-第 3 页-