软工之白盒测试的6种逻辑覆盖

      在屡战屡败,屡败屡战中,不断积累经验。

      有些概念还是写出来比较好。有时候光靠想,会绕进死胡同的。

      白盒测试有6种逻辑覆盖。他们的强弱程度由弱到强分别是:语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、组合条件覆盖、路径覆盖。这本是一个理解概念就OK的知识点,但是总是混淆不清,今天就在这里梳理一下。

一、清理小白

      对于以上概念,首先要区分一下, 什么是条件,什么是判定 。区分开这两种,上面的6种方法,也就迎刃而解了。

判定

        决定逻辑的分支

条件

        进行决定逻辑分支的一个子条件

还是看一个例子吧  

                                     软工之白盒测试的6种逻辑覆盖_第1张图片

例子中存在的判定:

    1  P1:A>1 and B=0

    2  P2:A>=2 or B>1   

例子中存在的条件

    1  T1:A>1              

    2  T2:B=0           

    3  T3:A>=2                 

    4  T4:B>1

例子中的路径

    四条:bd、be 、cd、ce

      有没有一个很清晰的概念在脑子里了?

二、逻辑覆盖

就拿上图中的例子,来进一步理解这些概念。
   1、语句覆盖
只需要一个用例就可以,就可以执行完;即语句执行至少一次。
   2、判定覆盖
         在判定覆盖中,每个判定的可能取值都有两种结果,true和false。只要将每个判定可能取值执行 一次即可

   3、条件覆盖

    在若干个测试用例中,运行被测程序,使得程序中每个判定的每个条件的可能取之至少执行一次。

4、判定/条件覆盖

    既是 判定覆盖,又是条件覆盖。即两个覆盖都执行一下。

5、组合条件覆盖

     使得每个判定中条件的各种可能组合都至少出现一次。显然,满足"条件组合覆盖"的测试用例是一定满足"判定覆盖"、"条件覆盖"和"判定/条件覆盖"的

6、路径覆盖

    顾名思义,就是对于所有的分支 至少经过一次。

    通过分析很容易看出来。四条路径,分别需要四个测试用例。

 总结

    通过以上的例子,白盒测试,就是追求以较少的测试用例,来找出更多的错误。

       白盒测试,比起黑盒测试来说,对测试人员的要求比较高,测试人员往往都是比开发人员水平经验高的人员来做。因为是要测试程序内部的结构。所以,制定合理的测试用例,也是一件很不容易的事情啊。测试的工作也同样很重要。

参考:http://www.docin.com/p-595018789.html

fighting!

你可能感兴趣的:(软件设计师之路,【软件工程思想】,软件架构师之路)