51Testing软件测试论坛

标题: 我写的驱动,大家多来评! [打印本页]

作者: zhangyunli1113    时间: 2007-9-10 18:10
标题: 我写的驱动,大家多来评!
题目是这样的:
现有下面三个函数
函数A:
主控函数int ctr(int x,int y),对应伪码为,
if(x不小于y)
    result=add(x,y);
else result=sub(x,y);
return result;

函数B:
加法函数int add(int x,int y),返回x和y的和
return  x+y;

函数C:
加法函数int sub(int x,int y),返回x和y的差
return  x-y;

请用至顶向下测试策略对三个函数进行测试,写出对应的驱动函数模块

下面是我写请大家看看是不是正确,多指点:

#include <iostream.h>
void main()
{

int ctr(int x,int y);


int a,b,c;


cout<<"
请键入用例输入数据:"<<endl;


cin>>a>>b;


cout<<"
请键入用例预期输出:"<<endl;


cin>>c;


cout<<"
桩模块的预期输出为:"<<endl;


cout<<c<<endl;


//d=;


if (c==ctr(a,b))


cout<<"
符合预期输出,测试通过";


else


cout<<"
与预期输出不同,测试未通过"<<endl;


return;

}


//被测模块
int ctr(int x,int y)
{

int stub_add(int x,int y);


int stub_sub(int x,int y);


int result;


if(x>=y)


result=stub_add(x,y);


else


result=stub_sub(x,y);


return result;

}


//桩模块

int stub_add(int x,int y)
{

int m;


m=x+y;


cout<<"
桩模块运行的实际输出为:"<<endl;


cout<<x<<"+"<<y<<"="<<m<<endl;


return m;

}


int stub_sub(int x,int y)
{

int m;


m=x-y;


cout<<"
桩模块运行的实际输出为:"<<endl;


cout<<x<<"-"<<y<<"="<<m<<endl;


return m;

}
作者: liujihui226    时间: 2007-9-12 16:20
sdlkfj3
作者: Azureus    时间: 2007-9-13 14:49
#include <iostream.h>
void main()
{

int ctr(int x,int y);
============================
让我很奇怪的一点,你为什么把这个函数体的声明放到main里面呢?
作者: belie    时间: 2007-9-16 13:20
不错,向你学习。
作者: taoyi921    时间: 2007-9-28 15:28
误解了,我还以为是你写的底层的驱动程序,呵呵。
函数申明最好放在外面,这样代码更整洁!
作者: ssafa    时间: 2007-9-28 19:26
个人认为如果输出failed的时候,最好可以把abc和测试结果一起输出
作者: zcourage    时间: 2007-9-29 20:31
既然C++是不是可以用类呢
作者: mqymqy    时间: 2007-12-25 20:00
好象写的不对
作者: VisualUnit    时间: 2007-12-25 22:07
老大,这么写测试代码的话,在实际工作中是做不到的,不会有那么多时间给你。
还是用自动生成测试代码的工具吧(注意,是自动生成测试代码,不是自动生成用例,由于工具不可能自动了解代码功能,用例需要人工定义)。免费的,商业的,都有呀,这才现实。
作者: zhangx1818    时间: 2008-4-17 16:09
这么写太累了,有没有自动生成java测试代码的工具呀
作者: muerte    时间: 2008-4-18 18:16
嘿嘿,理论上你这么写完全正确,在实际的工作中不行,我们现在基本上,直接调用函数测试




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2