51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 877|回复: 5
打印 上一主题 下一主题

问一个集成测试的问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-5-16 10:40:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
资料请看集成测试课上发的 自顶向下单元测试策略和集成测试策略比较.doc
关于 测试ctrl函数和add函数的集成 下的 针对接口 有一个疑问:
源代码:
int ctrl(int x, int y)
{
int temp=0;
if(x>=y)
{
    temp=add(x, y);
    if(x==2 && y==1 && temp==3)
        printf(“testcase JISUAN_IT_CTRL ADD_001 pass”);
    else
        printf(“testcase JISUAN_IT_CTRL ADD_001 fail”);
}
else
    temp=stub_sub(x, y);
return temp;
}
这里既然要测试ctrl函数和add函数之间的接口参数传递是否正确,为什么要在t emp=add(x, y);之后加上:
if(x==2 && y==1 && temp==3)
        printf(“testcase JISUAN_IT_CTRL ADD_001 pass”);
    else
        printf(“testcase JISUAN_IT_CTRL ADD_001 fail”);
这样和 测试针对集成后的加法功能 没有实际区别呀,把以上代码加到 add(x,y)函数内部去做判断不是更适合判断参数传递的正确性吗?麻烦大家告诉我一下。sdlkfj8
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2007-5-16 10:55:23 | 只看该作者
因为要测 ctrl和add的接口,要ctrl把输入传给add,add产生输出后,还要测把输出返回给ctrl,才能测接口的正确性。所以要在ctrl里测add的返回值temp的正确性。
sdlkfj5 我是这样这样理解的,不知道全部的资料是什么。。。

[ 本帖最后由 dxhwj 于 2007-5-16 19:25 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2007-5-16 14:48:50 | 只看该作者
我还没有看文档,只是看楼主描述的这一部分,来说说我滴想法。

temp=add(x, y);
    if(x==2 && y==1 && temp==3)

这个判断放在这里,感觉是,针对用例中参数的输入(x==2 && y==1),和输出(temp==3,add的结果值)做的判断;
如果判断放在add里面的话,那么就不算是集成的测试了,因为判断进入到函数add内部了;集成测试不是只关注接口吗?

如果有错,麻烦各位大大指正。sdlkfj5
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2007-5-16 15:27:19 | 只看该作者

回复 #1 keenling 的帖子

兄弟,一个前提,在开展集成测试的时候,单元测试已经完成了,ctrl函数和add函数内部实现之正确性已分别得到了保障。在此前提下才开展的集成测试。
而集成测试,所站的高度,绝不应仅仅是某个单独的函数,你说对么?
我们要站在集成后的模块高度看它整体实现是否达到我们预期的要求,对不对?

个人想法,如有偏颇还请各位不吝指正。sdlkfj1
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2007-5-16 18:58:15 | 只看该作者
测试ctrl函数和add函数之间的接口参数传递是否正确?这是个前提,集成测试是看这两函数之间的接口传递值的正确性,要是"把以上代码加到 add(x,y)函数内部去做判断"这就变成做单元测试了......  个人意见.呵呵
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2007-5-18 17:55:06 | 只看该作者
ctrl通过temp=add(x, y)向add传入1,2,经过add对x,y的处理得到结果3,add将3传递给了temp,正确完成这两次传递后,if(x==2 && y==1 && temp==3)条件成立
所以   printf(“testcase JISUAN_IT_CTRL ADD_001 pass”);如果两次传递中的任意一次不正确  printf(“testcase JISUAN_IT_CTRL ADD_001 fail”);所以这个函数很好地验证了参数传递的正确性。

[ 本帖最后由 candy_83 于 2007-5-18 18:00 编辑 ]
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-18 12:40 , Processed in 0.064604 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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