阿里软件测试工程师推荐|测试用例设计方法——判定表法
判定表(Decision table)是另一种表达逻辑判断的工具。与结构化语言和判断树相比,判断表的优点是能把所有条件组合充分地表达出来;其缺点是判定表的建立过程较繁杂,且表达方式不如前两种简便。判定表在用于知识表达中,有许多其他方式所达不到的作用
判定表法定义
判定表是分析和表达逻辑条件下执行不同操作的情况的工具。
判定表的4个组成部分
判定表通常有以下四个部分组成:
1)条件桩(Condition Stub):在左上部,列出了问题的所有条件。通常认为列出的条件的次序无关紧要。
2)动作桩(Action Stub):在左下部,列出了问题规定可能采取的操作。这些操作的排列顺序没有约束。
3)条件项(Condition Entry):在右上部,列出针对它左列条件的取值。在所有可能情况下的真假值。
4)动作项(Action Entry):在右下部,列出在条件项的各种取值情况下应该采取的动作。
判定表法设计测试用例步骤以及案例讲解
判定表的建立步骤:
1)确定规则的个数.假如有n个条件。每个条件有两个取值(0,1),故有2的n次方种规则。
2)列出所有的条件桩和动作桩。
3)填入条件项。
4)填入动作项。得到初始判定表。
5)简化、合并相似规则(相同动作)。
案例:
判定表也称我决策表,能表示输入条件的组合,以及与每一输入组合对应的动作组合。与因果图法相似判定表法主要侧重输入条件之间的逻辑关系。
1.判定表主要包含以下五部分:
条件桩:列出所有可能的条件
条件项:列出所有的条件取值组合
动作桩:列出所有可能的操作
条件项:列出在每一种条件取值组合的情况下,执行动作桩中的哪些动作。
规则:一种条件取值组合与其对应的动作组合(即判定表中贯穿条件项和动作项的一列)构成判定表的一个规则。条件组合的数目就是规则的数目。
2.建立判定表可遵循的步骤
1)列出条件桩和动作桩
2)确定规则的个数,用来为规则编号。
若有n个原因,且每个原因的可取值为0或者1,那么将会有2n个规则。
3)完成所有条件项的填写。
4)完成所有的动作项的填写。(得到初始判定表)
5)合并相似规则,用以对初始判断表进行简化。
有两个或者多条规则具有相同的动作,并且条件项之间存在极为相似的关系就可以进行合并。
3.实例
问题描述: “……对于功率大于50马力的机器,并且维修记录不全或已运行10年以上的机器,应给予优先的维修处理……”
条件桩:
C1:功率大于50马力吗?
C2:维修记录不全吗?
C3:运行超过10年吗?
动作桩:
A1:进行优先处理
A2:作其他处理
生成判断表:
简化判定表:
1,2合并,5,7合并,6,8合并