51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3302|回复: 2
打印 上一主题 下一主题

[讨论] [白盒测试]关于条件覆盖中的一个例子的疑问

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2009-7-4 16:01:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
“条件覆盖”的含义是:执行足够的测试用例,使得判定中的每个条件获得各种可能的结果。
我看到的一个范例:
void  DoWork(int x,int y,int z)
{  int  k=0,j=0;
   if((x>3)&&(z<10))
   {       k=x*y-1;     //语句块1
               j=sqrt(k);
    }
   if((x= =4)||(y>5))
   {       j=x*y+10;   //语句块2
    }
   j=j%3;             //语句块3
}
按照我的理解:
对于第一个判断:
条件x>3  取真值为T1,取假值为-T1
条件z<10 取真值为T2,取假值为-T2
对于第二个判断:
条件x=4  取真值为T3,取假值为-T3
条件y>5  取真值为T4,取假值为-T4
那么,采用两个测试案例:
x=3,y=5,z=10
x=4,y=6,z=9
就可以了。

但是,看书上说,需要3个测试案例:
x=3,y=5,z=5
x=4,y=6,z=5
x=4,y=5,z=10
哪个是正确的,为什么?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2009-7-4 23:29:33 | 只看该作者

回复 1# 的帖子

根据定义,条件覆盖测试:选取足够多的测试数据,使被测试程序中不仅每条语句至少执行一次,而且每个判定表达式中的每个条件都取到各种可能的结果。
楼主的用例也是正确的。即能使每条语句达到至少执行一次,每个条件都至少取得一次真假
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2009-7-5 14:50:13 | 只看该作者
谢谢.
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-16 10:28 , Processed in 0.063277 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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