wang_nning 发表于 2007-12-17 14:40:39

什么是桩模块?

什么是桩模块,什么时候才使用桩模块呢?
我从网上上搜索了一下桩模块的定义:
桩模块:集成测试前要为被测模块编制一些模拟其下级模块功能的“替身”模块,以代替被测模块的接口,接受或传递被测模块的数据,这些专供测试用的“假”模块称为被测模块的桩模块。
桩模块是包含测试功能的构件(或完整的实施子系统)。当您采用递增式集成策略时,您需要选择一组要集成为工作版本的构件。这些构件可能需要其他构件才能够编译源代码和执行测试。这在集成测试中尤为需要,此时您需要积累测试专用功能,这些功能可用作未包含或未实施的对象的桩模块。这里使用了两种样式:

仅作为“哑模块”的桩模块,只有返回预定义值的功能。
智能桩模块,可以模拟比较复杂的行为。
第二种样式应慎重使用,因为实施该样式需要占用较多的资源。因此您需要确保这样做是值得的。有时测试最终的结果是桩模块本身还需仔细测试,这样的测试会非常耗时。

可是对此还是不太理解,到底什么时候才使用桩模块呢,请各位高手指点一下,给俺讲解一下,最好通俗一点,俺是新手~~~

gdhxh82 发表于 2007-12-18 11:11:23

举个简单的例子,你测试的模块需要别的函数返回1或0,那你自己写的一个只给你的测试模块传递1或者0值的简单函数,就是测试模块的桩模块-0-

这个属于你提到的“哑模块”,智能桩模块我也不还用不上。。。。

kagrrahang 发表于 2007-12-18 11:35:51

桩模块是被测试模块所调用的下层模块,驱动模块是调用被测模块的主调用模块也叫上层模块!

      A               //驱动模块
                        |
                        B    //被测试模块
                        |
                        C    //桩模块

熊熊做测试 发表于 2007-12-18 11:40:36

这里面应该和集成测试中由上到下测试,有底向上测试有点关系吧?

kagrrahang 发表于 2007-12-18 11:57:09

原帖由 熊熊做测试 于 2007-12-18 11:40 发表 http://bbs.51testing.com/images/common/back.gif
这里面应该和集成测试中由上到下测试,有底向上测试有点关系吧?

是有关系的,又上到下的测试只需要编写桩模块,由底向上则只需要写驱动模块!不过同时也应该关注是否为广度或深度!

熊熊做测试 发表于 2007-12-18 12:01:54

不过同时也应该关注是否为广度或深度!

这句话什么意思哈?楼上的给我讲讲!谢谢哈

kagrrahang 发表于 2007-12-18 12:15:16

广度呢,比如说A有两个驱动模块B,C广度则就是将B,C的下层壮模块全部写出,
深度则是:A下的驱动模块B,C,而B,C下还有D,E两个模块.深度的顺序则就是从A-B-D来向下延伸.写到最后一个桩模块后从主模块再写A-C-E如图:

      A         ----  A         -----  A      -----A
                                             |   |                                 |    |                           |    |
                                           B   C                              B   C                        B    C
                                                                                    |                                  |      |
                                                                                 D                              D   E

neverorforever 发表于 2008-8-26 22:32:04

有点类似树和子树的意思吧??

mm_Testing 发表于 2012-5-27 15:41:19

简单理解 桩模块用来被测试模块调用的驱动模块是调用被测试模块
页: [1]
查看完整版本: 什么是桩模块?