查看完整版本: 我写的驱动,大家多来评!

zhangyunli1113 2007-9-10 18:10

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

[font=Times New Roman][size=3][color=#000000]题目是这样的:[/color][/size][/font]
[font=Times New Roman][size=3][color=#000000]现有下面三个函数[/color][/size][/font]
[font=Times New Roman][size=3][color=#000000]函数A:[/color][/size][/font]
[font=Times New Roman][size=3][color=#000000]主控函数int ctr(int x,int y),对应伪码为,[/color][/size][/font]
[font=Times New Roman][size=3][color=#000000]if(x不小于y)[/color][/size][/font]
[font=Times New Roman][size=3][color=#000000]    result=add(x,y);[/color][/size][/font]
[font=Times New Roman][size=3][color=#000000] else result=sub(x,y);[/color][/size][/font]
[font=Times New Roman][size=3][color=#000000]return result;[/color][/size][/font]
[font=Times New Roman][size=3][color=#000000][/color][/size][/font]
[font=Times New Roman][size=3][color=#000000]函数B:[/color][/size][/font]
[font=Times New Roman][size=3][color=#000000]加法函数int add(int x,int y),返回x和y的和[/color][/size][/font]
[font=Times New Roman][size=3][color=#000000]return  x[/color][/size][/font][font=Times New Roman][size=3][color=#000000]+y;[/color][/size][/font]
[font=Times New Roman][size=3][color=#000000][/color][/size][/font]
[font=Times New Roman][size=3][color=#000000]函数C:[/color][/size][/font]
[font=Times New Roman][size=3][color=#000000]加法函数int sub(int x,int y),返回x和y的差[/color][/size][/font]
[font=Times New Roman][size=3][color=#000000]return  x[/color][/size][/font][font=Times New Roman][size=3][color=#000000]-y;[/color][/size][/font]
[font=Times New Roman][size=3][color=#000000][/color][/size][/font]
[font=Times New Roman][size=3][color=#000000]请用至顶向下测试策略对三个函数进行测试,写出对应的驱动函数模块[/color][/size][/font]
[font=Times New Roman][size=3][color=#000000][/color][/size][/font]
[font=Times New Roman][size=3][color=#000000]下面是我写请大家看看是不是正确,多指点:[/color][/size][/font]
[font=Times New Roman][size=3][color=#000000][/color][/size][/font]
[font=Times New Roman][size=3][color=#000000]#include <iostream.h>[/color][/size][/font]
[font=Times New Roman][size=3][color=#000000]void main()[/color][/size][/font]
[font=Times New Roman][size=3][color=#000000]{[/color][/size][/font]
[size=3][color=#000000][font=Times New Roman]
int ctr(int x,int y);[/font][/color][/size]
[size=3][color=#000000][font=Times New Roman]
int a,b,c;[/font][/color][/size]
[size=3][color=#000000][font=Times New Roman]
cout<<"[/font][font=宋体]请键入用例输入数据:[/font][font=Times New Roman]"<<endl;[/font][/color][/size]
[size=3][color=#000000][font=Times New Roman]
cin>>a>>b;[/font][/color][/size]
[size=3][color=#000000][font=Times New Roman]
cout<<"[/font][font=宋体]请键入用例预期输出:[/font][font=Times New Roman]"<<endl;[/font][/color][/size]
[size=3][color=#000000][font=Times New Roman]
cin>>c;[/font][/color][/size]
[size=3][color=#000000][font=Times New Roman]
cout<<"[/font][font=宋体]桩模块的预期输出为:[/font][font=Times New Roman]"<<endl;[/font][/color][/size]
[size=3][color=#000000][font=Times New Roman]
cout<<c<<endl;[/font][/color][/size]
[size=3][color=#000000][font=Times New Roman]
//d=;[/font][/color][/size]
[size=3][color=#000000][font=Times New Roman]
if (c==ctr(a,b))[/font][/color][/size]
[size=3][color=#000000][font=Times New Roman]
cout<<"[/font][font=宋体]符合预期输出,测试通过[/font][font=Times New Roman]";[/font][/color][/size]
[size=3][color=#000000][font=Times New Roman]
else [/font][/color][/size]
[size=3][color=#000000][font=Times New Roman]
cout<<"[/font][font=宋体]与预期输出不同,测试未通过[/font][font=Times New Roman]"<<endl;[/font][/color][/size]
[size=3][color=#000000][font=Times New Roman]
return;[/font][/color][/size]
[font=Times New Roman][size=3][color=#000000]}[/color][/size][/font]
[font=Times New Roman][size=3][color=#000000] [/color][/size][/font]
[font=Times New Roman][size=3][color=#000000] [/color][/size][/font]
[size=3][color=#000000][font=Times New Roman]//[/font][font=宋体]被测模块[/font][/color][/size]
[font=Times New Roman][size=3][color=#000000]int ctr(int x,int y)[/color][/size][/font]
[font=Times New Roman][size=3][color=#000000]{[/color][/size][/font]
[size=3][color=#000000][font=Times New Roman]
int stub_add(int x,int y);[/font][/color][/size]
[size=3][color=#000000][font=Times New Roman]
int stub_sub(int x,int y);[/font][/color][/size]
[size=3][color=#000000][font=Times New Roman]
int result;[/font][/color][/size]
[size=3][color=#000000][font=Times New Roman]
if(x>=y)[/font][/color][/size]
[size=3][color=#000000][font=Times New Roman]
result=stub_add(x,y);[/font][/color][/size]
[size=3][color=#000000][font=Times New Roman]
else[/font][/color][/size]
[size=3][color=#000000][font=Times New Roman]
result=stub_sub(x,y);[/font][/color][/size]
[size=3][color=#000000][font=Times New Roman]
return result;[/font][/color][/size]
[font=Times New Roman][size=3][color=#000000]}[/color][/size][/font]
[font=Times New Roman][size=3][color=#000000] [/color][/size][/font]
[font=Times New Roman][size=3][color=#000000] [/color][/size][/font]
[size=3][color=#000000][font=Times New Roman]//[/font][font=宋体]桩模块[/font][/color][/size]
[font=Times New Roman][size=3][color=#000000] [/color][/size][/font]
[font=Times New Roman][size=3][color=#000000]int stub_add(int x,int y)[/color][/size][/font]
[font=Times New Roman][size=3][color=#000000]{[/color][/size][/font]
[size=3][color=#000000][font=Times New Roman]
int m;[/font][/color][/size]
[size=3][color=#000000][font=Times New Roman]
m=x+y;[/font][/color][/size]
[size=3][color=#000000][font=Times New Roman]
cout<<"[/font][font=宋体]桩模块运行的实际输出为:[/font][font=Times New Roman]"<<endl;[/font][/color][/size]
[size=3][color=#000000][font=Times New Roman]
cout<<x<<"+"<<y<<"="<<m<<endl;[/font][/color][/size]
[size=3][color=#000000][font=Times New Roman]
return m;[/font][/color][/size]
[font=Times New Roman][size=3][color=#000000]}[/color][/size][/font]
[font=Times New Roman][size=3][color=#000000] [/color][/size][/font]
[font=Times New Roman][size=3][color=#000000] [/color][/size][/font]
[font=Times New Roman][size=3][color=#000000]int stub_sub(int x,int y)[/color][/size][/font]
[font=Times New Roman][size=3][color=#000000]{[/color][/size][/font]
[size=3][color=#000000][font=Times New Roman]
int m;[/font][/color][/size]
[size=3][color=#000000][font=Times New Roman]
m=x-y;[/font][/color][/size]
[size=3][color=#000000][font=Times New Roman]
cout<<"[/font][font=宋体]桩模块运行的实际输出为:[/font][font=Times New Roman]"<<endl;[/font][/color][/size]
[size=3][color=#000000][font=Times New Roman]
cout<<x<<"-"<<y<<"="<<m<<endl;[/font][/color][/size]
[size=3][color=#000000][font=Times New Roman]
return m;[/font][/color][/size]
[font=Times New Roman][size=3][color=#000000]}[/color][/size][/font]

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

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