桩模块与驱动模块的区别

本文介绍了单元测试中的驱动模块和桩模块的概念及其作用。驱动模块用于调用被测试模块,模拟实际环境,而桩模块则代替未完成的模块,确保编译通过并模拟返回值。在实例中,为了测试B模块,需要创建桩模块Sd和Se代替D和E模块,以及驱动模块Da来包含main函数并调用B模块进行测试。关键词涉及单元测试、驱动模块、桩模块、软件开发流程。
摘要由CSDN通过智能技术生成

驱动模块:

在大多数场合称为“主程序”,它接收测试数据并将这些数据传送到被测试模块,单元测试一个函数单元时,被测单元本身是不能独立运行的,需要为其传送数据,为此写驱动

桩模块:

比如对函数A做单元测试时,被测的函数单元下还包括了一个函数B,为了更好的测试错误,定位错误,就要为函数B写桩,来模拟函数B的功能,保证其正确。

举例

假设现在项目组把任务分给了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模块就是驱动模块。

知识点:

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值