walkman2508 发表于 2007-9-28 20:46:55

测试里的桩是什么东东啊

昨天上课老师讲到一个桩,走了一会神没听明白

haijiaokuang 发表于 2007-9-29 14:33:11

所谓桩就是替代被测模块下级函数的假函数。桩的编写很简单,就是return 被替代的函数真正运行时的结果。比如说,我要测一个函数,它需要接受2个下层函数运行后的结果,为了避免那2个下层函数运行出现问题,就编2个假函数,也就是2个桩,这2个桩只提供真函数要传递的结果就行,这就是桩。

log_1 发表于 2007-9-30 11:43:37

桩不需要编写代码,只需要有个正确的返回值就可以了。

spinach_xu 发表于 2007-9-30 14:04:06

简单的说,就是你要测的模块A调用了其它的子模块BCD,为保证你的模块A能跑起来,你需要模拟那些子模块BCD,这些你设计出来的模拟模块B'C'D'就是桩;相对来说,你要测的模块A也可能会被其它模块XYZ调用,那些你设计的模拟XYZ的X'Y'Z'就是驱动.
不知道这样讲行不行...

yu_xiulan 发表于 2007-10-1 11:22:45

桩就是用来返回一个正确的值,不涉及任何算法的。

carry0098 发表于 2007-10-15 23:09:59

回复 3# 的帖子

好像有时候也要写桩的啊,那个不是编码吗?

kangfuyong 发表于 2007-10-16 18:06:57

该加油了,小伙。。。。。

该加油了,小伙。。。。。

Cherry-Chen 发表于 2007-10-16 21:03:35

就比如说:A函数要调用B函数,如果在运行的过程中,B函数的预期返回值是2,为此,可以定义一个与B同名的函数,可以只包含一条值为2的return语句,那么这个函数就是桩。

barbarossa 发表于 2007-10-17 18:19:59

做单元测试自顶向下的作业,先测试函数A,再测试函数B。
此时替代函数C的那个桩,直接return就可以了,走不到C嘛。

jasonxu 发表于 2007-10-18 23:09:21

上课开什么小差啊~

modyzhou 发表于 2007-10-20 22:19:48

桩是根据你的用例来设计的 例如A调用了B,而B调用了C我们要测B则可以把A(已经认定为无缺陷的)当作是B的驱动,我们要做个桩C'来代替C因为C是不确定的,他要是有缺陷就会影响到B的测试,桩的设计就是我A中要输入的用例在B中运行,可是?B的运行是需要C的所以我们把调用C的每一种可能都用return的方式直接由C’来代替。

feifei956998 发表于 2007-10-22 07:21:43

桩是用来测试上层函数的,桩不涉及算法,只是根据用例决定输出的值,输出的值是绝对干净的。只是给他一个输入,有一个输出。

xiaodong 发表于 2007-10-22 15:23:58

都是来抢回复量的.嘿嘿.有点意思
页: [1]
查看完整版本: 测试里的桩是什么东东啊