一些测试方法 - 判定-条件覆盖

判定-条件覆盖要求设计足够的测试用例,使得判断中每个条件的所有可能至少出现一次,并且每个判断本身的判定结果也至少出现一次。

例中两个判断各包含两个条件,这4个条件在两个判断中可能有8种组合,它们是:① A 〉1,B = 0 记为 T1,T2 ② A 〉1,B ≠ 0 记为 T1,F2 ③ A ≤1,B = 0 记为 F1,T2 ④ A ≤1,B ≠ 0 记为 F1,F2 ⑤ A =2,X 〉1 记为 T3,T4 ⑥ A =2,X ≤ 1 记为 T3,F4 ⑦ A ≠2,X 〉1 记为 F3,T4 ⑧ A ≠2,X ≤ 1 记为 F3,F4这里设计了4个测试用例,用以覆盖上述8种条件组合:

我们注意到,这一程序段共有四条路径。以上4个测试用例固然覆盖了条件组合,同时也覆盖了4个分支,但仅覆盖了3条路径,却漏掉了路径acd。

前面讨论的多种覆盖准则,有的虽提到了所走路径问题,但尚未涉及到路径的覆盖,而路径能否全面覆盖在软件测试中是个重要问题,因为程序要取得正确的结果,就必须消除遇到的各种障碍,沿着特定的路径顺利执行。

如果程序中的每一条路径都得到考验,才能说程序受到了全面检验。