首先判定表法也是一种常用的黑盒测试用例设计方法。
什么叫判定表法?
就是指把所有的输入条件、所有可能采取的动作按表格列出来,每一种条件和动作的组合构成一条规则,也即一条用例。
判定表法当中有几个概念,条件桩,动作桩,条件项,动作项。先分别介绍一下,
条件桩:列出所有的输入条件,顺序不重要
动作桩:列出问题规定的所有可能采取的动作,顺序不重要
条件项:列出各个条件所有可能的取值
动作项:列出所有可能采取的动作
这里条件桩和动作桩组成表格的行,条件项和动作项组成表格的列,这样组合成的表格即是依据判定表法得出的一张原始用例集合。
不过到此为此并没有结束
条件和动作之间可能存在直接或间接的约束关系
1、利用约束关系剔除部分用例
比如条件和动作的某些组合是互斥的、不合法或不可能发生的,所以需要将这些组合从原始用例集合中剔除。
2、利用约束关系合并部分用例
比如说当匹配某个条件时,不管其他条件是否匹配,可能采取的动作都是一致的,此时就可以合并其他条件跟这个匹配条件的组合,保留一条。
优点:
1、从最完整的用例集合,到最后的用例集,保证是最少且有效的。
2、适合输入条件和动作组合不是很多的情况。
缺点:
如果输入条件和动作组合特别庞大时,判定表法实施起来难度比较大,几乎无法使用。
个人觉得,判定表法的几个概念也较难理解,其实判定表法很简单,就是把所有输入项的可能值和可能输入的动作做个完全遍历的组合集,然后把组合集中不合法的、冗余的组合项给剔除,最后得到的就是有效且最少的测试用例组合。