05因果图法和决策表法
1因果图
因果图(Cuase-effect Graph)是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法。
为什么要有因果图法:
- 因果图提供了把需求转化为判定表的系统化方 法。
- 因果图最终生成的就是判定表,它适合于检查 程序输入的各种组合情况。
原因:输入条件
结果:输出
2因果图的画法
- 恒等。若原因出现,则结果出现;若原因 不出现,则结果不出现。
- 非。若原因出现,则结果不出现;若原因 不出现,则结果出现。
- 或。若几个原因中有一个出现,则结果出现 ;若几个原因均不出现,则结果不出现。
- 与。若几个原因都出现,结果才出现;若 几个原因中有一个不出现,则结果不出现。
3因果图中的约束条件
从原因方面考虑主要有4种约束条件:
- E(互斥、排他)。a、b两个原因不会同时出现,最 多只有一个出现。
- I(包含、或)。a、b、c三个原因至少有一个出现。
- O(唯一)。a、b两个原因必须有一个出现,且仅有 一个出现。
- R(要求)。a出现时b必定出现。
从结果方面考虑主要有1种约束条件:
M(屏蔽,强制)。a出现时,b必定不出现;a不出 现时,b则不确定。
4利用因果图设计测试用例应遵循的步骤
- 分析程序的规格说明书中哪些是原因,哪些是结果。所 谓原因,是指输入条件或输入条件的等价类,而结果是指 输出条件。给每一个原因和结果赋一个标识符(唯一的编 号)。
- 分析程序规格说明书中的语义,确定原因与原因,原因 与结果之间的关系,画出因果图。
- 由于语法环境的限制,一些原因与原因之间,原因与结 果之间的组合不能出现。对于这些特殊情况,在因果图中 用一些记号标明约束或限制条件。
- 将因果图转化为判定表。
- 根据判定表的每一列设计测试用例。
当然,若能直接得到判定表,可以直接根据判定表设计测 试用例。
5决策表
决策表,也叫判定表。在所有的功能性测试方法中,基于决策表的测试方法被认为是最严格的,因为决策表具有逻辑严格性。
决策表一直被用来表示和分析复杂逻辑关系
决策表有四个部分:桩部分、条目部分、条件部分、行动部分。
6决策表说明
决策表的测试
-
决策表的条件是真值表(0,1)(T,F)(Y ,N)
-
保证能够考虑了所有可能的条件组合
-
使用决策表标识测试用例,能够保证一种完备 的测试
-
为了使用决策表标识测试用例,我们把条件解 释为输入,把行动解释为输出。
-
决策表是说明性的,给出的条件没有特别的顺 序,而且所选择的行动发生时也没有任何特定 顺序
7决策表的组成
决策表通常由4个部分组成,如下图:
- 条件桩(condition stub):列出了问题的所有条件。通常 认为列出的条件的次序无关紧要。 红色部分
- 动作桩(action stub):列出了问题规定可能采取的操作 。这些操作的排列顺序没有约束。 蓝色部分
- 条件项(condition entry):列出针对它所列条件的取值, 在所有可能情况下的真假值。 绿色部分
- 动作项(action entry):列出在条件项的各种取值情况下 应该采取的动作。 粉红色部分
规则:任何一个条件组合的特定取值及其相应要执行的 操作。在决策表中贯穿条件项和动作项的一列就是一条规 则。显然,决策表中列出多少组条件取值,也就有多少规 则,条件项和动作项就有多少列。
8决策表测试用例设计步骤
决策表法测试用例设计步骤:
- 列出所有的条件桩和动作桩
- 确定规则的个数(2的条件桩次方)
- 填入条件项
- 填入动作项
- 简化决策表,合并类似规则或相同动作