Selenium 学习(0.17)——软件测试之测试用例设计方法——白盒测试——逻辑覆盖法(条件覆盖和条件判定覆盖)

        条件覆盖

        设计测试用例,使每个判断中每个条件的可能取值至少满足一次。

        条件判定覆盖

        通过设计足够的测试用例,满足如下条件:
        所有条件的可能至少执行一次的取值
        所有判断的可能结果至少执行一次

        条件判定覆盖同时满足判定覆盖和条件覆盖

        案例描述

        Java 代码段如下所示,请使用白盒测试的、辑覆盖方法为其设计测试用例。
        if 〈 a > 1 b = 0 ){
                x = x/a
        };
        if(a == 2 || x > 1) {
                x = x + 1
        };

Selenium 学习(0.17)——软件测试之测试用例设计方法——白盒测试——逻辑覆盖法(条件覆盖和条件判定覆盖)_第1张图片

        两个判定中有四个条件,每个条件均可取真假两种值:
        若要实现条件覆盖,应使以下 8 种结果成立:
        a > 1    a <= 1   b == 0   b != 0          【在P1点出现】
        a ==2   a != 2    x > 1    x <= 1          【在P3点出现】
        为了覆盖以上 8 种可能,可设计如下两组测试用例:实现了条件覆盖,也实现了判定覆盖。

Selenium 学习(0.17)——软件测试之测试用例设计方法——白盒测试——逻辑覆盖法(条件覆盖和条件判定覆盖)_第2张图片

         这不是绝对的,在某种条件下,可能出现实现了条件覆盖而未实现判定覆盖的情形。

Selenium 学习(0.17)——软件测试之测试用例设计方法——白盒测试——逻辑覆盖法(条件覆盖和条件判定覆盖)_第3张图片

        这两组测试用例均使流程图中的第二个判定取值为真,而未覆盖到第二个判定取值为假的情况,没有实现了判定覆盖。 

        条件覆盖比判定覆盖增加了综合判定的测试,增加了测试路径,要达到条件覆盖要足够多的测试用例。但条件覆盖并不保证判定覆盖,条件覆盖只能保证每个条件至少有一次为真,而不考虑所有的判定结果。

        既然条件覆盖也不一定包含判定覆盖,就自然会提出一种能同时满足两种覆盖标准的逻辑覆盖。这就是条件判定覆盖,条件判定覆盖测试用例如下所示:

Selenium 学习(0.17)——软件测试之测试用例设计方法——白盒测试——逻辑覆盖法(条件覆盖和条件判定覆盖)_第4张图片

         两种测试用例就是先前为实现条件覆盖而设计的第一种测试用例,他同时满足了判定覆盖准则和条件覆盖准则,弥补了两者的不足。

=========================================================================
        有点乱有点乱,回头再来消化一遍罢!

你可能感兴趣的:(selenium,selenium,学习,测试用例)