举例说明驱动模块和桩模块的概念和区别
来源:互联网 发布:红叶知弦动漫奴役 编辑:程序博客网 时间:2024/05/22 10:51
桩模块和驱动模块(以C语言为例):
很多人对桩模块和驱动模块的概念会搞不清楚,那么下面来介绍这两个概念:
模块结构实例图:
假设现在项目组把任务分给了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模块就是驱动模块。
知识点:
桩模块的使命除了使得程序能够编译通过之外,还需要模拟返回被代替的模块的各种可能返回值(什么时候返回什么值需要根据测试用例的情况来决定)。
驱动模块的使命就是根据测试用例的设计去调用被测试模块,并且判断被测试模块的返回值是否与测试用例的预期结果相符
0 0
- 举例说明驱动模块和桩模块的概念和区别
- 驱动模块和桩模块的概念和区别
- 驱动模块和桩模块的概念和区别
- 驱动模块和桩模块的概念和区别
- 驱动模块和桩模块的概念和区别
- 驱动模块和桩模块的概念和区别
- 驱动模块和桩模块的概念和区别
- 驱动模块和桩模块
- 桩模块和驱动模块
- 桩模块和驱动模块
- 桩模块和驱动模块
- 桩模块和驱动模块
- 模块和包的概念
- 驱动模块(driver)和桩模块(stub)
- 软件测试中桩模块与驱动模块的概念与区别(转载)
- 软件测试中桩模块与驱动模块的概念与区别(转载)
- 软件测试中桩模块与驱动模块的概念与区别
- 驱动编译进内核和编译模块的区别
- IOS用CGContextRef画各种图形(文字、圆、直线、弧线、矩形、扇形、椭圆、三角形、圆角矩形、贝塞尔曲线、图片)
- 归档解档的简单回顾——由于数据解析的原理与此类似(面试也会问到)
- highcharts获取数轴最大最小值及时间轴赋值
- IgniteRDD学习笔记(二)IgniteContext和IgniteRDD
- crontab 启动 、运行 和编辑 查看
- 举例说明驱动模块和桩模块的概念和区别
- IOS中Json解析的四种方法
- java线程第七课:线程池
- Android Studio(一) 安装
- php模拟HTTP响应
- ViewPage指示器
- c++捕获halcon异常
- oracle 12.1.0.2 对 bigfile进行resize 遇到enq:TT-contention
- Cg parallax mapping