zhangyunli1113 发表于 2007-9-10 18:10:50

我写的驱动,大家多来评!

题目是这样的:
现有下面三个函数
函数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的和
returnx+y;

函数C:
加法函数int sub(int x,int y),返回x和y的差
returnx-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:52

sdlkfj3

Azureus 发表于 2007-9-13 14:49:41

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

int ctr(int x,int y);
============================
让我很奇怪的一点,你为什么把这个函数体的声明放到main里面呢?

belie 发表于 2007-9-16 13:20:57

不错,向你学习。

taoyi921 发表于 2007-9-28 15:28:42

误解了,我还以为是你写的底层的驱动程序,呵呵。
函数申明最好放在外面,这样代码更整洁!

ssafa 发表于 2007-9-28 19:26:21

个人认为如果输出failed的时候,最好可以把abc和测试结果一起输出

zcourage 发表于 2007-9-29 20:31:24

既然C++是不是可以用类呢

mqymqy 发表于 2007-12-25 20:00:15

好象写的不对

VisualUnit 发表于 2007-12-25 22:07:07

老大,这么写测试代码的话,在实际工作中是做不到的,不会有那么多时间给你。
还是用自动生成测试代码的工具吧(注意,是自动生成测试代码,不是自动生成用例,由于工具不可能自动了解代码功能,用例需要人工定义)。免费的,商业的,都有呀,这才现实。

zhangx1818 发表于 2008-4-17 16:09:27

这么写太累了,有没有自动生成java测试代码的工具呀

muerte 发表于 2008-4-18 18:16:23

嘿嘿,理论上你这么写完全正确,在实际的工作中不行,我们现在基本上,直接调用函数测试
页: [1]
查看完整版本: 我写的驱动,大家多来评!