51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 10518|回复: 8
打印 上一主题 下一主题

条件覆盖,语句覆盖,分支覆盖有啥区别?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2004-12-15 16:43:52 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
条件覆盖,语句覆盖,分支覆盖有啥区别?
可否举个例子Sample TextSample Text
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏

该用户从未签到

9#
发表于 2007-12-13 16:23:05 | 只看该作者
单元测试还真难啊!哎
回复 支持 反对

使用道具 举报

该用户从未签到

8#
 楼主| 发表于 2004-12-20 16:14:52 | 只看该作者
条件覆盖与分支覆盖有啥区别
我们首先来看一下这几些测试覆盖的定义:
定义一、 语句覆盖:它要求被测程序的每一可执行语句在测试中尽可能都检验过;

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

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

从这些定义我们可以很容易理解到语句覆盖是把程序中的所有的语句都给覆盖到;分支覆盖是把程序中每个分支都给覆盖到;条件覆盖是把判断条件中所有的条件都给覆盖到。
下面我们通过一个简单的例子来描述一下
0:
1:if ((a<150)||(b<200)){
2:        for (i=a;i<100;i++)
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满足
40        250        a满足,b不满足
150        250        a,b都不满足
条件覆盖只要求把所有的条件都覆盖就可以了。
这样理解对吗
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2004-12-20 16:09:44 | 只看该作者
jackei我就是和你讨论的那个
我需要实际例子说明
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2004-12-20 13:27:30 | 只看该作者
比较赞同楼上的说法
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2004-12-16 20:53:21 | 只看该作者
昨天有个朋友还问我这个问题,个人觉得可以把三者理解为
条件覆盖是语句覆盖的一个子集
语句覆盖是分支覆盖的一个子集
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2004-12-16 15:03:40 | 只看该作者
这是最基本的知识。郑人杰的书、古乐的书、高级程序员的书都有……
实例也有。
简而言之,条件覆盖就是摒弃整体观,保证在程序运转时碰到每一个判断的可能性都去执行一次;如果再考虑组合的效果,那就是条件组合覆盖;语句覆盖就是每一条语句都要让它流经一次;分支覆盖就是每一个分支能走一遍就行,无所谓其他情况。
其实还有很多覆盖的啦。。。
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2004-12-16 14:25:27 | 只看该作者
具体哪一条,那一片?
回复 支持 反对

使用道具 举报

该用户从未签到

2#
发表于 2004-12-16 10:53:28 | 只看该作者
下面的软件测试下载中,有详细介绍
http://www.51testing.com/N_download/TestingTechDL.htm
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-23 17:00 , Processed in 0.073514 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表