按判定覆盖准则进行测试是指,设计若干测试用例,运行被侧程序,使得程序中每个判断的取真分支和取假分支至少经历一次,即判断的真假值均曾被满足。
判定覆盖又称为分支覆盖。
若选用的两组测试用例是:
则可分别执行路径ace和abd,从而使两个判断的4个分支c、e和b、d分别得到覆盖。
当然,我们也可以选用另外两组测试用例:
分别路径acd及abe,同样也可覆盖4个分支。
我们注意到,上述两组测试用例不仅满足了判定覆盖,同时还做到语句覆盖。
从这一点看似乎判定覆盖比语句覆盖更强一些,但让我们设想,在此程序段中的第2个判断条件X>1如果错写成X<1,使用上述测试用例CASE5,照样能按原路径执行(abe),而不影响结果。
这个事实说明,只作到判定覆盖仍无法确定判断内部条件的错误。
因此,需要有更强的逻辑覆盖准则去检验判断内的条件。
以上仅考虑了两出口的判断,我们还应把判定覆盖准则扩充到多出口判断(如CASE语句)的情况。