51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2976|回复: 20
打印 上一主题 下一主题

[讨论] 测试用例设计请教

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-6-6 11:25:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
被测函数:int anum(x,y)
{   
    int ret;
    switch(x与y的表达式)
       {  case 0:
                     ret=a0();break;
          case 1:                      ret=a1();break;
          case 2:                      ret=a2();break;
          case 3:                      ret=a3();break;



          default:
                     ret=a4();break;      
        }  
    return ret;
}
   其中a0,a1,a2,a3,a4这五个函数处理的内容虽各不相同,但返回值却都为0,那该如何设计测试函数anum的测试用例呢?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2007-6-6 13:47:46 | 只看该作者
设计X和Y的表达式,使它们可以满足各个CASE条件,保证所有的CASE,包括DEFAULT都做了一遍。
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2007-6-7 08:36:28 | 只看该作者

回复 #2 Tender 的帖子

可是每个分支的ret值是都一样的啊,怎么判断到底是执行了哪个函数呢?
譬如:设计了X和Y的表达式,使其分别满足case 0和deafult,那么怎么区分他们两者呢?
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2007-6-7 09:30:24 | 只看该作者
弱项....

观望中,呵呵
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2007-6-7 13:46:09 | 只看该作者
测试的目的是?如果仅仅是一个看返回值是不是正确,代码的输出信息还不够,把函数的名称也输出来
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2007-6-7 13:48:32 | 只看该作者

...

[广告] 51Testing论坛积分制全新改版!新手不再无助,高手不再孤独
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2007-6-8 08:32:05 | 只看该作者

回复 #5 softkk 的帖子

我也正有此意,可是就不知道该如何把调用函数的名称写出来啊
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2007-6-8 08:58:52 | 只看该作者
...学习中
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2007-6-8 12:21:42 | 只看该作者
把调用函数的名称输出来。。。怎么我都没想到呢,期待答案sdlkfj3
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2007-6-8 13:01:16 | 只看该作者
其中a0,a1,a2,a3,a4这五个函数处理的内容虽各不相同,但返回值却都为0
说明了ret值无论走哪个CASE 都为0。不知道应该如何写用例!
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2007-6-8 14:19:33 | 只看该作者
那程序设计得有问题。。。。应该先和程序员交流吧。。。
回复 支持 反对

使用道具 举报

该用户从未签到

12#
发表于 2007-6-8 15:30:12 | 只看该作者
是否可以在每个case中插入一个输出语句,打印出该函数的名称呢
比如说:
case0:
...
printf("a0");
ret=a0();
break;
回复 支持 反对

使用道具 举报

该用户从未签到

13#
 楼主| 发表于 2007-6-8 17:03:08 | 只看该作者

回复 #12 Jean.zhou 的帖子

我们测试一般都尽量避免修改源代码,包括加打印语句在内
开发人员设计是有问题,可现在不在国内,没法交流,我们只能把它当成正确的来测。
回复 支持 反对

使用道具 举报

该用户从未签到

14#
发表于 2007-6-10 14:10:01 | 只看该作者
同情......
我也沒有什么好办法了......
祝你好运了......
回复 支持 反对

使用道具 举报

该用户从未签到

15#
 楼主| 发表于 2007-6-12 15:43:23 | 只看该作者
运气不好,好多是这样的
sdlkfj9
真的没人知道吗?
回复 支持 反对

使用道具 举报

该用户从未签到

16#
发表于 2007-6-12 17:17:07 | 只看该作者
加入PRINTF语句对测试结果并无影响
只是起区分函数的作用
现在程序员调试还不是这样sdlkfj6
回复 支持 反对

使用道具 举报

该用户从未签到

17#
 楼主| 发表于 2007-6-13 09:51:28 | 只看该作者

回复 #16 任道远 的帖子

说的有理,
如果不加打印语句,还有没有更好的办法?
回复 支持 反对

使用道具 举报

该用户从未签到

18#
发表于 2007-8-5 09:40:41 | 只看该作者
程序没大问题 可能是开发人员预留的返回值。目前返回的都是0,以后就可能扩展成其他常量了。

这个函数加上参数说明,也就是x,y的注释是没有问题的。
回复 支持 反对

使用道具 举报

该用户从未签到

19#
 楼主| 发表于 2007-8-6 09:51:00 | 只看该作者

回复 #18 vsfire 的帖子

能否说一下如何写testcase,不加打印语句似乎不太好调试啊?
回复 支持 反对

使用道具 举报

该用户从未签到

20#
发表于 2007-8-6 10:33:24 | 只看该作者
希望楼下能有解决方案
学习中
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-9-22 07:29 , Processed in 0.089338 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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