目录
一、判定表组成
![](https://i-blog.csdnimg.cn/blog_migrate/bbdd4f6f2e2f2f908af25d54ed186614.png)
1、判定表的概念
-
在很多情况下的输入条件之间会存在制约关系,不同的条件组合会产生不同的操作结果,例如输入1执行代码A、输入2执行代码B,输入1和2得到的结果不同;这种不同的输入执行不同的操作的情况下,可以选择判定表进行测试,判定表能将复杂的条件组合表达的更加明确。
2、判定表与因果图的关系
-
在测试中可以直接用判定表,但是当所测功能逻辑特别复杂时,可以先构建因果图,再生成判定表。
-
通过因果图生成执行条件的组合到结果之间的关系,再转成判定表。因果图只是一个图形,帮助更好的理解需求规格说明书文字表达的输入之间的制约情况,因果图最终还是产生判定表。
3、条件桩
-
列出问题的所有条件。
-
通常认为列出的条件次序无关紧要。
4、动作桩
-
列出问题规定可能采取的操作。
-
这些操作的排列顺序没有约束。
5、条件项
-
列出针对它左列条件的取值。在所有可能情况下的真假值。
6、动作项
-
列出在条件项的各种取值情况下应该采取的动作。
7、规则
-
任何一个条件组合的特定取值及其相应要执行的操作称为规则。
-
在判定表中贯穿条件项和动作项的一列就是一条规则。判定表中列出多少组条件取值,也就有多少条规则。
![](https://i-blog.csdnimg.cn/blog_migrate/559a074e9f2da8ff293011045cf32b37.png)
二、判定表建立
1、确定规则个数(依据软件规格说明)
-
假如有n个条件,每个条件有两个取值(0,1),故有2n(2的n次方)种规则。
2、列出所有的条件桩和动作桩
3、填入条件项
4、填入动作项。制定初始判定表
5、简化。合并相似规则或者相同动作
-
若表中有两条以上规则具有相同的动作,并且在条件项之间存在极为相似的关系,便可以合并。合并后的条件项用符号“-”表示,说明执行的动作与该条件的取值无关,称为无关条件。
-
本来是两条规则,但是无论条件c的条件项的值是什么,都不影响最后执行动作项1,所以可以将条件c的条件项合并,用符号“-”表示。
![](https://i-blog.csdnimg.cn/blog_migrate/b04060e486d1dc3bcb7151c4fd1c0f27.png)
三、适合使用判定表设计测试用例的条件
1、规格说明以判定报表的形式给出,或很容易转换成判定表
2、条件的排列顺序不影响执行哪些操作
3、规则的排列顺序不影响执行哪些操作
4、当某一规则的条件已经满足,并确定要执行的操作后,不必检验别的规则
5、如果某一规则要执行多个操作,这些操作的执行顺序无关紧要
四、考点
1、判定表驱动法的特点
![](https://i-blog.csdnimg.cn/blog_migrate/c9efd59310e1786aee461f2e884e11f7.png)