一、桩模块和驱动模块(以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模块就是驱动模块。
知识点:
桩模块的使命除了使得程序能够编译通过之外,还需要模拟返回被代替的模块的各种可能返回值(什么时候返回什么值需要根据测试用例的情况来决定)。
驱动模块的使命就是根据测试用例的设计去调用被测试模块,并且判断被测试模块的返回值是否与测试用例的预期结果相符。
二、集成测试策略:
1、 非增式集成测试
各个单元模块经过单元测试之后,一次性组装成完整的系统。
优点:集成过程很简单。
缺点:出现集成问题时,查找问题比较麻烦,而且测试容易遗漏。
范例:

2、 增式集成测试
(1)自顶向下
A、 纵向优先
从最顶层开始测试,需要写桩模块。测试的顺序:从跟节点开始,每次顺着某枝干到该枝干的叶子节点添加一个节点到已测试好的子系统中,接着再加入另一枝干的节点,直到所有节点集成到系统中。
B、 横向优先
跟纵向优先的区别在于:每次并不是顺着枝干走到叶子,而是逐一加入它的直属子节点。
纵向优先的范例:

(2)自底向上
每次从叶子节点开始测试,测试过的节点摘掉,然后把树上的叶子节点摘下来加入到已经测试好的子系统之中。优点:不需要写桩模块,但需要写驱动模块。
范例:

分享到:
相关推荐
白盒测试实例之十——集成测试的概念[1]软件测试一、桩模块和驱动模块(以C语言为例):很多人对桩模块和驱动模块的概念会搞不清楚,下面先介绍这两个概念:模块结构实例图:假设现在项目组把任务分给了7个人,每个人...
白盒测试实例之十——集成测试的概念[2]软件测试从最顶层开始测试,需要写桩模块。测试的顺序:从跟节点开始,每次顺着某枝干到该枝干的叶子节点添加一个节点到已测试好的子系统中,接着再加入另一枝干的节点,直到...
本学习文档包括PPT、Word和PDF等格式,旨在全面介绍白盒测试的基本概念、方法和工具,帮助测试人员深入理解和掌握这一关键技能。 1. **白盒测试基础** - 定义与特点:解释白盒测试的定义,强调其关注代码内部逻辑...
**Junit白盒测试学习文档** 在软件开发中,测试是不可或缺的一环,它确保了代码的质量和稳定性。其中,白盒测试(也称为结构测试或逻辑驱动测试)是一种基于程序内部逻辑结构进行的测试方法。Junit作为Java领域最...
PPT可能会通过实例、流程图和案例研究来帮助理解黑盒测试和白盒测试的实施步骤、优缺点及应用场合。 通过深入学习这些课件,软件测试工程师可以更好地掌握如何有效地测试软件,从而提升软件产品的质量和用户体验。...
白盒测试通常用于单元测试和集成测试。白盒测试的优点是可以发现代码中的逻辑错误和数据流错误,但是它需要测试人员具备较高的编程技术和逻辑思维能力。 二、实验要求 实验要求是将给定的 C 代码转换成 Python ...
白盒测试,也称为结构测试或逻辑驱动测试,是一种软件测试方法,它主要依据程序的内部逻辑结构和工作原理来设计测试..."白盒测试指南.rtf"文件很可能提供了更详尽的步骤、技巧和实例,帮助读者掌握有效的白盒测试方法。
8. **教学内容**:压缩包内的"教学内容"很可能包含了上述所有概念的详细讲解、实例演示和实践指导,帮助学习者深入理解和掌握软件测试,尤其是白盒测试的理论与实践。 总结来说,本套资料是全面学习软件测试,特别...
文件"04_软件质量模型.avi"可能是一个教学视频,详细解释了上述概念,并可能通过实例展示了如何在实际项目中应用软件质量模型进行测试。观看这个视频,你可以更深入地理解软件测试的重要性,学习如何评估软件质量,...
- **白盒测试**:了解内部结构和逻辑,进行更深入的测试。 - **灰盒测试**:介于黑盒和白盒之间,部分了解内部实现。 3. **系统测试类型**: - 功能测试:验证软件的功能是否符合预期。 - 性能测试:评估软件在...
- **白盒测试**:也称为结构测试,了解软件的内部结构和操作,测试每个逻辑路径和代码覆盖。它确保代码的每个部分都被充分执行。 - **灰盒测试**:结合了黑盒和白盒测试的特性,既关注功能,又关注内部结构。它...
内容概要:本文详细介绍了软件测试的关键概念和技术,包括不同类型的测试方法(黑盒测试与白盒测试)、测试层级(单元测试、集成测试、系统测试、验收测试),以及通过具体代码示例演示如何编写和执行单元测试。...
- **单元与单元测试概念解析** - **单元测试的主要任务** - **单元测试执行过程** - **单元测试工具应用** - **常见单元测试误区** #### 深入理解单元与单元测试 **单元**,在软件开发中指的是最小的可独立测试和...
- **自顶向下集成测试与自底向上集成测试**:解释不同方向的集成测试策略。 - **系统测试**: - **性能测试**:评估软件的性能指标。 - **强度测试**:测试软件在极端条件下的表现。 - **安全性测试**:确保软件...
测试可以根据不同的标准进行分类,如按测试对象可分为单元测试、集成测试、系统测试等;按测试方法可分为黑盒测试、白盒测试等。 4.4.2 黑盒测试的测试用例设计方法 黑盒测试关注的是软件的外部表现,常用的设计...
- **白盒测试**:将被测对象视为透明的盒子,测试人员能够查看程序的内部结构和逻辑,通常用于验证代码是否按预期工作。 - **回归测试**:在对软件进行了修改或更新后,为了确保这些更改没有破坏现有功能而进行的...
2. **测试方法论**:包括黑盒测试、白盒测试、灰盒测试等,以及如何选择合适的测试方法。 3. **测试用例设计**:讲解如何有效地设计测试用例,确保测试覆盖率。 4. **自动化测试**:阐述自动化测试的重要性,以及...
- **集成测试**:测试不同模块之间的接口和交互。 - **系统测试**:对整个系统进行测试,确保所有组成部分协同工作。 #### 3. 性能测试 - **负载测试**:模拟大量用户同时访问系统,检查系统性能。 - **压力测试**...
**系统测试分类**:系统测试是对整个系统的验证,包括集成测试(检查各组件的交互)、系统功能测试(验证系统是否满足需求)、压力测试(评估系统在极限条件下的表现)和回归测试(确保修改不会引入新错误)。...
- **安全测试实例**:登录认证机制、数据加密等。 - **安全性测试方式**:模拟攻击尝试发现漏洞。 #### 6.4 容量测试 - **目的**:测试系统在极限条件下的表现。 #### 6.5 安装、卸载测试 - **安装正确性**:检查...