关于嵌入式测试或我blog中的话题讨论,可与bobo45123@163.com联系.

桩模块和驱动模块--概念介绍

上一篇 / 下一篇  2010-07-03 00:03:06 / 个人分类:测试技术

很多人对桩模块和驱动模块的概念会搞不清楚,下面先介绍这两个概念:

桩模块:集成测试前要为被测模块编制一些模拟其下级模块功能的“替身”模块,以代替被测模块的接口,接受或传递被测模块的数据,这些专供测试用的“假”模块称为被测模块的桩模块。
驱动模块:在大多数场合称为"主程序",它接收测试数据并将这些数据传递到被测试模块

桩模块就是用来代替所测的子模块,它不能为空,但也不需要那个子模块的所有功能都实现,只要实现在一部分就行了;
驱动模块就是用来代替主模块,用它来调用子模块。

简单的说,被测模块上层为驱动模块,是调用被测模块的,被测模块下层为桩模块,是被 被测模块调用的。

假设现在项目组把任务分给了7个人,每个人负责实现一个模块。你负责的是B模块,你很优秀,第一个完成了编码工作,现在需要开展单元测试工作,先分析结构图:



  1、由于B模块不是最顶层模块,所以它一定不包含main函数(A模块包含main函数),也就不能独立运行。

  2、B模块调用了D模块和E模块,而目前D模块和E模块都还没有开发好,那么想让B模块通过编译器的编译也是不可能的。

  那么怎样才能测试B模块呢?需要做:

  1、写两个模块Sd和Se分别代替D模块和E模块(函数名、返回值、传递的参数相同),这样B模块就可以通过编译了。Sd模块和Se模块就是桩模块。

  2、写一个模块Da用来代替A模块,里面包含main函数,可以在main函数中调用B模块,让B模块运行起来。Da模块就是驱动模块。

  知识点:
  桩模块的使命除了使得程序能够编译通过之外,还需要模拟返回被代替的模块的各种可能返回值(什么时候返回什么值需要根据测试用例的情况来决定)。

  驱动模块的使命就是根据测试用例的设计去调用被测试模块,并且判断被测试模块的返回值是否与测试用例的预期结果相符。


TAG:

秦kevin的个人空间 引用 删除 秦kevin   /   2012-08-22 10:46:55
eileen_li的个人空间 引用 删除 eileen_li   /   2011-03-31 11:11:17
5
 

评分:0

我来说两句

bobo45123

bobo45123

Embedded White-Box Tester

日历

« 2024-04-10  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 9193
  • 日志数: 9
  • 建立时间: 2008-07-18
  • 更新时间: 2010-09-15

RSS订阅

Open Toolbar