快捷搜索:

谈谈软件测试中的测试覆盖

软件测试覆盖包括分支覆盖,语句覆盖以及前提覆盖,这是白盒测试中一个很基础的测试观点,然则近来和几位搞了多年测试的同伙谈及此事,大年夜家都搞不大年夜清楚。下面我经由过程一个例子来深入探究一下这个问题:

我们首先来看一下这几些测试覆盖的定义:

定义一、语句覆盖:它要求被测法度榜样的每一可履行语句在测试中尽可能都查验过;

定义二、分支覆盖:要求法度榜样中所有鉴定的分支尽可能获得查验;

定义三、前提覆盖:当鉴定式中含有多个前提时,要求每个前提的取值均获得查验;

从这些定义我们可以很轻易理解到语句覆盖是把法度榜样中的所有的语句都给覆盖到;分支覆盖是把法度榜样中每个分支都给覆盖到;前提覆盖是把判断前提中所有的前提都给覆盖到。

下面我们经由过程一个简单的例子来描述一下

0:

1: if ((a<150)||(b<200)){

2: for (i=a;i<100;i++)

3:  {

4:  println(“A”);}

5: else{

6: println (“B”);

7: }

分支覆盖:

1)在0处设置a=120,b 随意率性

将履行1,2,5

2)在0处设置a=200,b=400

将履行1,5,6,7

这里所有的分支都走到,也便是说要达到分支覆盖率100%,要设计2组测试用例

a    b

120   随意率性

200   400

语句覆盖:

1)在0处设置a=40,b 随意率性

将履行1,2,3,4,5

2)在0处设置a=200,b=400

将履行1,5,6,7

这里所有的语句都走到了,也便是说要达到语句覆盖率100%,要设计2组测试用例

a     b

40    随意率性

200   400

而在分支覆盖中语句3,4没有走到

前提覆盖:

因为第一个前提是if ((a<150)||(b<200)) 以是必要设计测试用例

a    b    备注

40   50    全都满意

160  150    a 不满意,b满意

0   250    a满意,b不满意

150  250    a,b都不满意

前提覆盖只要求把所有的前提都覆盖就可以了。

这样一来我们就把这几个观点搞得很清楚了。

顺便我在这里想说一句心里话,我们现在的不管是册本照样网站上的文章都太倾向于理论了,而到实际运用上来就说不清楚了,我盼望能够有更多又讲理论又讲实践的文章和册本能够呈现。

您可能还会对下面的文章感兴趣: