决策表,也叫判定表。在所有的功能性测试方法中,基于决策表的测试方法被认为是最严格的,因为决策表具有逻辑严格性。
在一些数据处理问题当中,某些操作的实施以来与多个逻辑条件的组合,既针对不同逻辑条件的组合之,分别执行不同的操作;决策表就是分析和表达多逻辑条件下执行不同操作情况的工具。 1
决策表通常由以下4部分组成:
条件桩(condition stub):列出了问题的所有条件。通常认为列出的条件的次序无关紧要。
动作桩(action stub):列出了问题规定可能采取的操作。这些操作的排列顺序没有约束。
条件项(condition entry):列出针对它所列条件的取值,在所有可能情况下的真假值。作项(action entry):列出在条件项的各种取值情况下应该采取的动作。 2
决策表的生成: (1)确定规则的个数
? 有n个条件的决策表有2n个规则(每个条件取真、假值)。 (2)列出所有的条件桩和动作桩 (3)填入条件项
(4)填入动作项,得到初始决策表 (5)简化决策表,合并相似规则
? 若表中有两条以上规则具有相同的动作,并且在条件项之间存在 极为相似的关系,便可以合并。
? 合并后的条件项用符号“-”表示,说明执行的动作与该条件的取 值无关,称为“无关条件”。
举个例子↓↓
3
决策表的优缺点:
决策表最突出的优点是,能够将复杂的问题按照各种可能的情 况全部列举出来,简明并避免遗漏。
? 利用决策表能够设计出完整的测试用例集合。
? 运用决策表设计测试用例可以将条件理解为输入,将动作理解 为输出 4
何种情况下使用?
? 规格说明以决策表形式给出,或较容易转换为决策表;
? 输入与输出之间存在因果关系
? 规则的排列顺序不会也不应影响执行的操作;
? 当某一规则的条件已经满足,并确定要执行的操作后,不必检验别的规则