|
我是这样理解的。。。不能保证一定对哦,可以参考一下
anum(x,y)需要调用a1()、a2()这些函数,因为被测函数是anum(x,y),它在执行过程中调用了其他函数才能运行,就设计几个桩函数来替代a1()、a2()这些函数实现的功能。如果要测a1()函数,没有调用其他函数的话就不需要写桩函数。
如果采用孤立测试的话,搭建测试环境时就需要对anum(x,y)函数写一个驱动函数来驱动它执行,再写五个桩函数来代替它调用的函数,然后测它调用的函数,每个函数要写一个驱动函数驱动它执行。
在这里只有anum(x,y)函数的实现过程,写测anum(x,y)函数的用例时,没有考虑a()函数如何实现
假如是z=x-y,
定义输入参数: int x;int y;
定义期望输出(c为期望的中间输出,Result为期望的最终输出) : int c;int Result;
定义测试实际输出(z为期望的中间输出,Ret为期望的最终输出): int z;int ret;
用例输入: x=2;y=1;
期望输出: c=1; Result=0
z=x-y;中间变量结果
ret= anum(x,y);驱动anum()函数去执行,最终输出
结果比较:
if ((Ret != Result) || (z != c)) {输出失败;}
else {输出成功;} |
|