决策表

  • 概念

因果图、决策表是一种充分考虑系统之间的输入组合、约束以及输出因果关系的用例设计方法。

  • 适用范围

适合:决策表特别适合于针对不同逻辑条件的组合,测试对象需要执行不同操作的场景。

不适合:

  1. 输入和输出不明确,或输入与输出的因果关系不明确的情况
  2. 被分析的特点和功能点过于复杂,输入项目很多的情况下。输入项过多,会造成决策表非常庞大,没有工具辅助的情况下,难以操作。
  3. 系统输入之间相互约束少,不需要做大范围的组合测试时,不宜用本工程方法,不然会产生大量用例冗余。
  4. 系统输入之间存在顺序先后的可变性。
    例如,两个输入之间可以交换顺序,且交换顺序后,他们的输出是不一样的。
    判定表的输入是无法排序的。
  • 决策表的组成

条件桩: 列出系统的所有输入,通常认为列出的输入次序无关紧要

动作桩: 列出系统所有可能执行的操作,这些执行操作没有顺序约束

条件项: 列出输入项的各种取值

动作项: 列出输入项的各种取值情况下应该采取的动作

  • 决策表的步骤
  1. 列出所有的条件桩和动作桩
  2. 确定规则的数目
  3. 填入条件项和动作项得到初始的决策表
  4. 简化相似的规则,得到优化的决策表
  5. 每列规则,设计一个测试用例

【示例

  需求:

公司有如下规定:

  • 中国去欧美的航线所有座位都有食物供应。每个座位都可以播放电影
  • 中国去非欧美的国外航线都有食物供应,只有商务仓可以播放电影
  • 中国国内的航班的商务仓有食物供应,但是不可以播放电影
  • 中国国内的航班的经济仓除非飞行时间大于2小时就有食物供应,但是不可以播放电影

1. 列出所有的条件桩和动作桩

等价类:

    A1={航线为国外欧美航线}

    A2={航线为国外非欧美航线}

    A3={航线为国内航线}

    P1={舱位为经济舱}

    P2={舱位为商务舱}

    T1={飞行时间大于2小时}

    T2={飞行时间不大于2小时}

条件桩

    C1:航线为{A1,A2,A3}之一

    C2:舱位为{P1,P2}之一

    C3:飞行时间为{T1,T2}之一

动作桩

    A1:食物供应

    A2:电影播放

2. 确定规则的数目

3x2x2=12

3. 填入条件项和动作项得到初始的决策表

  规则 1 2 3 4 5 6 7 8 9 10 11 12
条件桩 C1航线 A1 A1 A1 A1 A2 A2 A2 A2 A3 A3 A3 A3
C2类型 P1 P1 P2 P2 P1 P1 P2 P2 P1 P1 P2 P2
C3时间 T1 T2 T1 T2 T1 T2 T1 T2 T1 T2 T1 T2
动作桩 A1食物  
A2电影            

4. 简化相似的规则,得到优化的决策表

  1 2 3 4 5
条件桩 C1航线 A1 A2 A2 A3 A3
C2类型 - P1 P2 P1 P2
C3时间 - - - T1 -
动作桩 A1食物
A2电影      

5. 每列规则,设计一个测试用例

用例编号 输入 预期输出
1 中国-欧美航线/所有座位/全时 提供食物/播放电影
2 非中国-欧美国外航线/经济舱/全时 提供食物
3 非中国-欧美国外航线/商务舱/全时 提供食物/播放电影
4 国内航线/经济舱/大于2小时 提供食物
5 国内航线/商务舱/全时  

参考链接


决策表

发布者

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注