软考复习之路——软工之系统測试

          系统測试是软件开发过程中的一个重要的组成部分,是贯穿整个软件开发生命周期、对软件产品进行验证和确认的活动过程。目的是尽快尽早发如今软件产品中所存在的各种问题:与用户需求、提前定义的不一致性问题。

 

         測试发现问题后,要找出其错误原因和位置,进行改正。

 

         系统測试主要包含下面几部分:


 

          静态測试方法包含软工检測和计算机辅助分析;动态包含黑盒(功能測试)和白盒測试。本篇文章重点介绍一下白盒測试的逻辑覆盖。

         

          逻辑覆盖分为语句、条件、判定/条件、条件组合、路径覆盖。

    以以下图为例进行说明:

    


          1)语句覆盖

                这是起码要做要的覆盖。程序里的每条语句至少运行一次。

       

                 測试用例:

 

  {x=3, y=3}能够运行到语句块1和语句块4,所走的路径:a-b-e-f

 

  {x=-3, y=0}能够运行到语句块2、语句块3和语句块4,所走的路径:a-c-d-f

 

              从图中能够看出语句里的判定、分支等就没有什么意义了。能够说这个是測试的最低要求了。

 

          2)判定覆盖

               每一个推断的真假分支至少运行一次。

               測试用例:

 


      覆盖率要比语句覆盖高近乎一倍,可是在判定语句中也会遗漏很多路径。

 

         3)条件覆盖

               和判定的覆盖思路一样,仅仅是把重点从判定移动到条件上来了,每一个判定中的条件可能至少满足一次。

               測试用例:

          

         4)判定/条件覆盖

               每一个条件全部可能至少出现一次,而且每一个判定本身的判定结果也要出现一次。判定取真假就就覆盖了判定,但是条件去真假两次全然不能满足条件的各种组合。所以条件组合覆盖出现了。

      測试用例:

     达到100%判定条件覆盖一定可以达到100%的条件、100%判定和100%语句覆盖。

 

          5)条件组合覆盖

                每一个判定中条件的各种可能组合至少满足一次。

      測试用例:

               条件的各种可能都出现了,必定把判定给覆盖了,它覆盖了上面的四种,用例数量大大添加了。

 

         6)路径覆盖

                把全部可能路径至少都走一遍

      測试用例:

 

           覆盖错误能力是由弱至强的。

          随着软件測试技术的不断发展,測试方法也越来越多样化,针对性更强;选择更合适的软件測试方法能够让我们事半功倍。

 

原文地址:https://www.cnblogs.com/mfrbuaa/p/3929676.html