首页 > 代码库 > 软工——详解白盒测试

软工——详解白盒测试

   软件测试,是一个容易被遗忘的过程。人们都看到了软件开发的美好,却忽视了软件测试的重要性。

软件测试目的:现程序中的错误。

   为了发现程序的错误,测试用例的制定也是非常重要的。只有尽可能用较少的测试用例,检测出程序的错误。

软件测试计划的制定:

   之前学习软件工程的时候,白盒测试中的覆盖不太清楚。在复习软考的过程中,又重新看了一遍软工。终于明白各种覆盖,究竟是什么意思了。接下来请看详解。

 

    对于软件的测试,是在软件开发的全部生命过程中。只是不同阶段,测试的重心和测试方法不同而已。

 

计划何时制定:

         

计划何时执行:

   而测试计划的执行,正好与制定计划相反。

   在详细阶段:编码的时候伴随着单元测试。

             完成之后,进行集成测试。

              确认完成,交工的时候,进行一次确认测试。(确认测试,即检测系统  是否与需求相匹配)

本节,主要讲解白盒测试逻辑覆盖标准。

 

 

白盒测试

   用于单元测试。

   白盒,就是要了解程序的内部结构进行的测试。相对黑盒来说,要求测试人员的水平较高。

   首先看一下白盒逻辑覆盖标准:

        1语句覆盖

        2、判定覆盖

        3、条件覆盖

        4、判定-条件覆盖

        5、条件组合覆盖

        6、路径覆盖

   覆盖程度依次增强。

 

看到上面6类方法,是不是很头疼。

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

 

    判定:

       决定逻辑的分支

    条件:

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

 

还是看一个例子吧 

          

例子中存在的判定:

    1T1:A>=80 and B>=80

    2T2:A+B>=140 and(A>=90 or B>=90)     

例子中存在的条件

    1T11:A>=80             

    2T12:B>=80          

    3T21:A+B>=140                

    4T22:A>=90

    5T23:B>=90

例子中的路径

   三条:①②③

        

语句覆盖:

   从头执行到尾。只需要一个测试用例就可以。

判定覆盖:

   在测试用例中,被测试程序,每个判定的可能取值至少执行一次。

       

    4个判定,只需要全部包含在测试用例中就可以了。

       可以设置2个测试用例

   例:

       

如上的可能的用例结果中。

   可以实现判定覆盖的组合:

        1、①②

        2、③④

        3、①②③

        ……

        n、①②③④

        

       只要满足,所有的判定,在用例中至少存在一次的。就是判定覆盖。

 

条件覆盖

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

   

   如上10个条件,每个必须至少执行一次。

   条件覆盖,与判定覆盖做法一致,只是判定的数目有变化。

           

  只要所选取的测试用例中,每列中都存在两个判定,这样的测试用例组。就称之为条件覆盖。

 

判定条件覆盖:既是判定覆盖,又是条件覆盖。

条件组合覆盖:

       判定的重点,在与T11 T12 的组合。

       对于以上例题,条件组合覆盖测试用例最少为:

                    

 

路径覆盖

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

   通过流程图很容易看出来。三条路径,分别需要三条测试用例。

   

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

 

总结

    白盒测试标准。也就分三方面进行测试:判定、条件、路径。

    白盒测试,比起黑盒测试来说,对测试人员的要求比较高。因为是要测试程序内部的结构。所以,制定合理的测试用例,也是一件很不容易的事情啊。测试的工作也同样很重要。有不正确的地方,望斧正。

 

软工——详解白盒测试