测试用例设计方法之因果图:因果图:
因果图提供了一个把规格转化为判定表的系 统化方法,从该图中可以产生测试数据。其 中, 原因是表示输入条件,结果是对输入执 行的一系 列计算后得到的输出。 因果图方法最终生成的就是判定表。它适合 于检查软件输入条件的各种组合情况
因果图的基本符合
恒等 非 或 与 异 或 唯一 要求 强制
因果图的步骤
1.把大的系统规格划分解成可以测试的规 格片段
2.分析分解后待测的系统规格,找出哪些 是原因,哪些是结果
3.画出因果图
4.把因果图转换成判定表
5.简化判定表
6.用判定表中的每一列生成测试用例
因果图转换判定表的方法
1、因果图的所有条件(因)填入判定表的条件桩中
2、因果图中的所有条件(果)填入判定表的动作桩中
3、因果图确定各个条件组合对应的动作,并且确定判定表中各个规则的条件项和动作项,在需要时优化判定表
因果图中的约束在实际问题中 输入状态相互之间,输出状态相互之间可能存在某些依赖关系,称为约束。
E约束(异):a和b中最多有一个可能为1,即a和b不能 同时 为1。 ØI
约束(或):a、b、c中至少有一个必须为1,即 a、b、 c不能同时为0。 Ø
O约束(唯一):a和b必须有一个且仅有一个为1。 Ø
R约束(要求):a是1时,b必须是1,即a为1时,b不能 为0。 Ø
M约束(强制):若结果a为1,则结果b强制为0。
因果图中的4种基本关系 在因果图的基本符号中,图中的左结点ci 表示输入状态 (或称原因),右结点ei表示输出 状态(或称结果)。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。
因果图的优点/缺点 (重点)
优点:
- 等价类法考虑各个输入条件可能出错的情况都考虑 ,但是对于多个输 入条件组合起来出错的情况却被 忽略了因果图法能够帮助我们按照一定步骤,高效的选择 测试用例,设计多 个输入条件组合用例
- 因果图法能够帮助我们按照一定步骤,高效的选择 测试用例,设计多 个输入条件组合用例
- 因果图分析还能为我们指出,程序规格说明描述中 存在什么问题,缺点:
输入条件和输出结果的因果关系,有难以从软件需求规格说明书得到。即使得到了这些因果关系,也会因为因果关系复杂导致因果图非常庞大,测试用例测试数目及庞大