[唐僧团队] 唐僧是一个好领导,他知道孙悟空要管紧,所以要会念紧箍咒;猪八戒小毛病多,但不会犯大错,偶尔批评批评就可以;沙僧则需要经常鼓励一番。这样,一个明星团队就形成了。做测试工作也是这样,一个人强,不代表整个团队都强,团队合作才是根本~誓死把软件测试进行到底!<-->如果您觉得字体比较小的话,请按住键盘上的Ctrl键并滑动鼠标滚轮以改变字体的大小,谢谢!<-->欢迎交流~~~

[用例设计]谈谈关于测试覆盖

上一篇 / 下一篇  2008-11-24 16:34:23 / 个人分类:测试用例设计

   软件测试覆盖包括分支覆盖,语句覆盖以及条件覆盖,这是白盒测试中一个很基本的测试概念,但是最近和几位搞了多年测试的朋友谈及此事,大家都搞不大清楚。下面我通过一个例子来深入探讨一下这个问题:

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

定义一、语句覆盖:它要求被测程序的每一可执行语句在测试中尽可能都检验过;

定义二、分支覆盖:要求程序中所有判定的分支尽可能得到检验;

定义三、条件覆盖:当判定式中含有多个条件时,要求每个条件的取值均得到检验;

   从这些定义我们可以很容易理解到语句覆盖是把程序中的所有的语句都给覆盖到;分支覆盖是把程序中每个分支都给覆盖到;条件覆盖是把判断条件中所有的条件都给覆盖到。

下面我们通过一个简单的例子来描述一下

  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任意

将执行125

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

将执行1567

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

a

b

120

任意

200

400

语句覆盖:

1)在0处设置a=40,b任意

将执行12345

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

将执行1567

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

a

b

40

任意

200

400

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

条件覆盖:

由于第一个条件是if ((a<150)||(b<200))所以需要设计测试用例

a

b

备注

40

50

全部满足

160

150

a不满足,b满足

40

250

a满足,b不满足

150

250

a,b都不满足

条件覆盖只要求把所有的条件都覆盖就可以了。

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

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

 


TAG: 测试用例设计 软件测试 设计用例 case设计 测试覆盖

 

评分:0

我来说两句

Open Toolbar