51Testing软件测试论坛
标题:
请教:什么是桩模块啊,谢谢!
[打印本页]
作者:
zxj155
时间:
2005-8-31 13:06
标题:
请教:什么是桩模块啊,谢谢!
请教:什么是桩模块啊,谢谢!
[
本帖最后由 ermine 于 2009-12-28 17:29 编辑
]
作者:
pplike
时间:
2005-9-1 11:51
桩模块就是用来代替被测模块所调用的模块。它的作用是返回被测试模块所需要的信息,而驱动模块的作用是用来模拟被测试模块的上级调用模块,它只完成接受测试数据,以及上级模块调用被测模块的格式驱动被测模块,接受被测模块的测试结果并输出.
作者:
smail
时间:
2005-9-1 12:26
又学到了东西 呵呵~~~~ 给自己加加油! yeah~~~
作者:
zxj155
时间:
2005-9-1 20:12
谢谢大侠的指点。还真够绕人的阿,哪位能够举个例子阿
作者:
weisszq
时间:
2005-9-2 00:02
比如::(下面代码可能写的有错误,请大家原谅吧,但应该能说明我的意思)
void main(void)
{
int a , b , x;
scanf("%d,%d,%d",&a,&b,&x);
if (a>1 && b=0)
{
x=x/a;
if (x>1)
{
x=x-1;
x=abs(x);
}
else
{
x=x+1;
x=abs(x);
}
}
else
{
x=abs(x);
}
}
abs(int m)
{
if(m>=0)
{
return m;
}
else
return -m;
}
在测试main()时,其中abs()这个函数是要被调用的;所以为了保证abs()所返回的值是正确无误的(因为可能main()函数无错,但abs()有错,导致测试结果认为main()是有错的可能),所以要写桩来代替abs(),来保证测试main()不会得出错误结论。
如,设计用例:
case1: 输入 a = 2 , b = 0 , x = 4
case2: 输入 a = 2 , b = 0 , x = 2
case3: 输入 a = 1 , b = 1 , x = 1
所以代替abs()的桩函数应该是:
stub_abs()
{
if (a= 2 && b= 0 && x = 4)
{
return x = 1 ;
}
if (a= 2 && b= 0 && x = 2)
{
return x = 2 ;
}
if (a= 1 && b= 1 && x = -1)
{
return x = 1 ;
}
}
其实我理解的桩函数就是:“他想要什么你就给他什么”。希望我说明白了。请高手指正!!
作者:
zxj155
时间:
2005-9-2 08:38
蛮透彻的,谢谢阿,这样理解起来好多了,各位真是没得话说阿,谢谢!!!
作者:
ototototo
时间:
2009-10-29 18:37
学到了
作者:
llq0118
时间:
2009-10-29 19:51
我也学到了~~~
作者:
千里
时间:
2009-12-28 15:04
标题:
论坛管理员天网的解答
http://bbs.51testing.com/thread-875-1-1.html
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2