桩模块与驱动模块的区别
桩顾名思义就是相对底层的东西了,测试上层的函数的时候,由于被测函数需要调用到相对底层的一些函数,当底层函数比较复杂时,就可以考虑自己做一个简单的被调用函数来替换原来的底层函数,前提是不会太大的影响你要测试的代码;驱动函数就是要用来做火车头的,当被测函数不能直接运行时,就需要一个驱动其运行的函数,比如说main(),或者别的可以将这个函数运行起来以便于你来测试的函数。
补充一下,桩函数中要包括被替换函数多种参数值,这样复用率要高一些;而驱动单元就像是主控函数,他将预定义的参数传给被测函数,并接受被测函数的返回值与预期结果相比较,并且返回成功或失败的提示给测试员.
纵观模块之间的接口,我们可以归纳为以下几种类型,下面一一介绍一下
1、通信协议:两个模块之间通信采用的是标准的或者自定义的(网络)协议;
2、调用关系:模块A调用模块B,实际上是由模块A向模块B发出了一条控制指令,这里数据传递体现的不是很明显,往往体现为参数与返回值,它们可以认为是控制的副本。
3、文件、数据库、队列、第三方中间件等:表现的主要是数据的传递,其中的控制体现的不明显。 领测软件测试网
4、共享资源:比如共享一段“存储区域”,其中涉及的关键资源主要是“锁”了;这样的两个模块在运行时往往分布到不同的进程或者线程中,表现为对资源的竞争,以及数据的共享。
5、同步:一个模块的运行需要另外一个模块的触发,双方往往存在“信号”等通知机制,也可以理解为一种特殊的控制方式。
分享到:
相关推荐
这款模块通过PCIe接口与笔记本电脑连接,提供高速4G网络接入服务。 华为ME909s-821是一款基于LTE技术的通信模块,支持多种网络制式,包括4G LTE Cat4,最高下载速度可达150Mbps,上传速度可达50Mbps。它兼容多种...
其主要目标是验证模块的内部逻辑是否正确,接口是否符合设计规范,以及模块在异常情况下的处理能力。 二、模块测试的步骤 1. 设计测试用例:根据模块的功能和需求,设计覆盖各种可能输入和预期输出的测试用例。 2. ...
### SPI接口学习笔记 #### 一、SPI接口基础概述 **SPI**,即**Serial Peripheral Interface**(串行外围接口),是由Motorola首先在其MC68HCXX系列处理器上定义的一种高速的、全双工、同步串行通信接口。SPI接口...
### BENQ GSM M22 模块使用笔记详解 #### 一、硬件连接 BENQ GSM M22 模块是一款广泛应用于嵌入式系统的通信模块,支持GSM/GPRS网络。为了确保模块能够正常工作,正确的硬件连接至关重要。 1. **天线连接**:确保...
在本篇“appfuse学习笔记(二)新建模块”中,我们将深入探讨AppFuse框架的模块创建过程。AppFuse是一个开源项目,它提供了一个快速开发Web应用的基础结构,旨在简化开发流程并提高代码质量。通过AppFuse,开发者...
本学习笔记主要涵盖了STM32的各个核心模块,旨在帮助开发者深入理解并熟练掌握STM32的使用。 一、STM32概述 STM32系列提供多种型号,不同型号间的性能、内存大小和外设接口有所不同。其内核包括Cortex-M0、M3、M4和...
本篇笔记主要基于阮一峰的博客,探讨了两种常见的JS模块规范:CommonJS和AMD,以及如何使用require.js进行模块管理。 1. **CommonJS**:这是Node.js服务器端编程广泛采用的模块化标准。在CommonJS中,`require()`...
《M051系列官方各功能模块学习笔记》是一份详尽且全面的资源,旨在帮助用户深入理解和熟练掌握M051系列微控制器的各项功能。M051系列是新唐科技(Nuvoton)推出的一系列基于ARM Cortex-M0内核的微控制器,它们在...
MLX90640开发笔记(二)API移植-I2C和关键接口函数 MLX90640开发笔记(三)工作流程和操作MLX90640的一般步骤 MLX90640开发笔记(四)损坏和不良像素的处理 MLX90640开发笔记(五)阵列插值-由32*24像素到512*384...
标题中的“MINI PCIE-3G模块接口板Cadence16.3设计硬件原理图+PCB文件”指的是一个基于Mini PCI Express(MINI PCIe)标准的3G通信模块接口板的设计资料,该设计使用了Cadence 16.3版本的Allegro软件进行开发。...
SimScape热模块是MATLAB Simulink中用于热力学建模和仿真的一个功能模块集合,它提供了丰富的组件和接口用于模拟热力学系统的各种物理现象。本文主要涉及SimScape热模块在电池管理系统(BMS)和房屋加热系统中的应用...
根据提供的文件信息,我们可以总结出以下关于“光模块激光器接口”的相关知识点: ### 一、光模块激光器接口概述 光模块中的激光器接口是连接激光器与外部电路的关键部分,它对于确保数据传输的稳定性和效率至关...
### Java接口学习笔记 #### 一、Java接口基础知识与特性 **1. 多继承的替代方案** Java语言为了保持简单性和一致性,不支持多继承,即一个类不能同时继承多个父类。然而,Java提供了接口的概念作为多继承的一个...
标题中的“电子政务-可让普通笔记本电脑无线上网的Mini+PCI-E接口3G无线模块”揭示了这个知识点的核心,即3G无线模块在电子政务中的应用,特别是通过Mini PCI-E接口实现笔记本电脑的无线网络连接。在这个知识点中,...
本项目主要包括五大模块:分类管理、查看笔记、笔记管理、界面管理以及登录模块。各模块间保持高度内聚和低耦合性,便于后期维护和升级。 ##### 1. 分类管理模块设计 - **模块描述与主要功能**:实现对笔记本分类...
创建模块时,你需要编写两个文件:模块接口文件(.cppm)和模块实现文件。例如,`Vector.cppm` 是模块接口文件,其中声明了 `module;` 和 `export module Vector;`,这表明 `Vector` 是模块的名称。模块内定义的类、...
- **模块接口测试**:通常作为单元测试的一部分,适用于独立开发的功能模块。 - **Web接口测试**: - **服务端接口测试**:客户端与服务器端之间的接口测试。 - **外部接口测试**:第三方提供的接口测试,例如...
2. 接口标准化:通过标准接口连接各模块,保证兼容性和互换性。 3. 数字信号处理(DSP):利用数字信号处理器进行音频信号处理,提供更精确的控制和更高的灵活性。 五、挑战与解决方案 1. 热管理:模块化功放器需...