判定表
定义
是一种分析和表述工具,被测对象针对若干输入作出相应的反应;在遇到复杂业务逻辑时,判定表可以帮助理清业务逻辑
“输入”,不一定就是具体的输入动作,也可以是可变更的条件
重要概念:
条件 条件桩: 需求规格说明书定义的所有输入
条件项: 条件桩所有输入数据的真假值
动作 动作桩: 针对条件,被测对象可能采取的所有操作
动作项: 针对动作桩,被测对象可能的响应值
规则 : 动作项和条件项组合在一起,形成的所有业务逻辑规则
判定表应用步骤
- 理解需求,确定条件桩,动作桩
- 列条件桩、动作桩时,把所有可判断的对象都列出来,避免遗漏(无用之后再删减);
- 优化设计判定表:根据业务逻辑优化;说的比较模糊,理解不透彻
- 填写动作项:以上的例子中,填写的是是各个条件桩组合起来对应的动作桩的动作项,也即是0、1结果
- 根据判定表的输出结果,合并判定表/简化判定表(非必须)
- 简化原则:如果输出相同,在其对应的输入中,有且只有一个条件的取值对动作不产生影响,则可合并(为啥?是不是我写错了?)
- 抽取测试用例:
实例1:
结合以下例子,理解以上概念:
注释:如果使用等价类分析,无法测试到“可以主被叫”的情况;
等价类只会对“有效等价类”做组合,不会对“无效等价类”做组合,所以不会出现“未欠费、未停机”的“可以主被叫”的情况。
实例 2
需求:
订购单的检查:如果金额 > 500, 又未过期,发批准单和提货单
如果金额 > 500, 但过期了,则不发批准单
如果金额 < 500,不论是否过期,都发批准单和提货单,在过期的情况下,还需要发出通知单。
解释:如上情况比较简单,所以即使没有判定表也是可以(将条件清晰的罗列出来,逐个条件设计测试用例。)但是在复杂情况,判定表会发挥其作用。
注释:以上 是 2、4, 不是3、4;2、4 符合合并原则,输出相同;3、4的输出不同;