白盒测试与黑盒测试的过程和方法是有一些区别的。
单元测试的步骤:
1、 理解需求和设计
理解设计是很重要的,特别是要搞清楚被测试模块在整个软件中所处的位置,这对测试的内容将会有很大的影响。需要记住的一个原则就是:好的设计,各模块只负责完成自己的事情,层次与分工是很明确的。在单元测试的时候,可以不用测试不属于被测试模块所负责的功能,以减少测试用例的冗余,集成测试的时候会有机会测试到的。
举例:
-
-
-
-
- bool isTriangle(int a, int b, int c);
测试该函数的时候,只需要测试三条边(在合法的取值范围内的整数)是否能够满足两边之和是否大于第三边的功能,而不需要测试三条边是否在合法的范围(0, 200)之间的整数,因为调用该函数之前,一定要先通过下面函数的检查,要是检查不通过,就不会执行isTriangle函数。
-
-
-
-
- bool isLegal(int a, int b, int c);
所以,单元测试主要是关注本单元的内部逻辑,而不用关注整个业务的逻辑,因为会有别的模块去完成相关的功能。
2、 概览源代码
浏览一下源代码,主要任务:
(1)初步检查源代码的编码风格与规范
(2)大致估算测试工作量,比如:需要多少的测试用例、需要写多少的驱动模块和装模块等。
(3)确定模块的复杂程度,初步制定测试的优先级等。
3、 精读源代码
认真阅读和分析代码,主要任务:
(1)理解代码的业务逻辑。
(2)检查代码与设计是否相符,如果详细设计没有该模块的流程图的话,先去画出流程图。
(3)仔细研究逻辑复杂的模块
(4)可以采用一些检查列表来检查程序可能会出现的问题。如果没有检查列表,那么,可以根据程序的特点,有针对性地检查容易出问题的地方(记得把经验总结下来供下次使用)。
4、 设计测试用例
综合运用白盒测试方法(和结合黑盒测试方法)来设计测试用例,包括功能测试、性能测试等,要达到一定的测试覆盖率。在设计测试用例的过程中,流程图或控制流图是分析的好帮手。
5、 搭建单元测试环境
使用XUnit或自己写的框架将有助于单元测试的实施。在这个阶段主要就是写桩模块和驱动模块,第4步所设计的测试用例是通过驱动模块传递给被测试模块的,然后驱动模块想办法获取被测试模块对数据的处理结果,并判定返回的实际结果与测试用例的预期结果是否一致,通过测试框架来记录执行的结果,对于出现的错误,还需要统计错误的信息,供执行完之后分析。
搭建单元测试环境要避免在main函数中使用printf和scanf函数来跟测试人员交互来达到获取测试用例数据的信息。这样的测试还是没有摆脱手工测试方式,效率是低下的。同时,对于测试结果是否通过测试也不要使用printf方式打印被测试函数的返回结果值,避免要人工去检查结果。
6、 执行测试
运行写好的驱动模块完成对被测试模块的测试。
7、 补充和完善测试用例
单元测试也是个循序渐进的过程,可能一开始考虑的不够全面,或预期的覆盖标准太低,需要在测试过程中不断补充测试用例,直到满足要求为止。
8、 分析结果,给出评价
根据测试的结果分析、查找错误的原因,并找到解决的办法。测试结束之后,根据测试过程的数据统计,给出被测试对象评价
分享到:
相关推荐
### 白盒测试实例解析与应用 #### 一、白盒测试的概念与目的 白盒测试,也称为结构测试或透明盒测试,是一种测试方法,它允许测试人员基于产品的内部结构和工作流程来进行测试。这种方法的主要目的是验证软件的...
### 软件测试——白盒测试实验报告 #### 实验背景及目的 本次实验的主要目的是深入了解并掌握软件测试中的白盒测试方法之一——逻辑覆盖测试法。通过具体实例的操作和分析,加深对不同覆盖标准的理解,并能针对...
Junit作为Java领域最常用的单元测试框架,是进行白盒测试的重要工具。本文档将深入探讨Junit4的基础知识和应用技巧,帮助开发者提升测试效率和代码质量。 **一、Junit简介** Junit是由Erich Gamma和Kent Beck共同...
实验的目标是让学生能够熟练地运用白盒测试技术,具体通过解决一个名为“三角形问题”的实例。这个问题要求程序接收三个整数a、b和c作为输入,代表三角形的三条边,并根据这些边的关系判断三角形的类型:等边三角形...
白盒测试,也被称为结构测试或逻辑驱动测试,是一种软件测试...同时,"白盒测试.doc"文档很可能是关于白盒测试方法更详细的指导材料,包括具体的测试策略、步骤和案例设计实例,对于理解和实施测试过程会非常有帮助。
单元测试关注点包括确保每个模块能够正常运作,测试时机紧跟在编码和编译之后,并且通常由程序开发者或具备白盒测试技能的测试人员执行。测试依据是详细的软件设计文档,测试方法以白盒测试为主,结合静态代码审查和...
"白盒测试.ppt"可能是关于白盒测试的详细教程或讲解材料,内容可能涵盖白盒测试的基本理论、实例分析、工具使用和最佳实践。建议详细阅读并结合实际项目进行实践,以加深理解和技能掌握。 总之,白盒测试是软件开发...
PPT可能会通过实例、流程图和案例研究来帮助理解黑盒测试和白盒测试的实施步骤、优缺点及应用场合。 通过深入学习这些课件,软件测试工程师可以更好地掌握如何有效地测试软件,从而提升软件产品的质量和用户体验。...
在"软件测试用例设计(白盒).ppt"这个文件中,很可能是提供了关于如何编写和设计白盒测试用例的详细模板和实例,包括上述方法的解释、示例以及如何将这些原则应用到实际项目中的指导。通过学习和参考这个文档,测试...
白盒测试,也称为结构测试或逻辑驱动测试,是一种软件测试方法,它主要依据程序的内部逻辑结构和工作原理来设计测试..."白盒测试指南.rtf"文件很可能提供了更详尽的步骤、技巧和实例,帮助读者掌握有效的白盒测试方法。
**实验目标**:通过三角形问题的实例,学习如何运用白盒测试技术设计有效的测试用例。 1. **编写代码**:根据题目要求,编写Java代码实现三角形类型的判定。 2. **绘制控制流图**:根据代码绘制控制流图,以便更好...
白盒测试用例设计是软件测试中的重要环节,它基于程序的内部逻辑结构来创建测试数据,目的是确保程序的每个部分都至少被执行一次。在本实验报告中,我们将深入探讨逻辑覆盖测试,这是一种常见的白盒测试方法,它通过...
#### 一、白盒测试基础 **1.1 定义** - **白盒测试**:是一种基于内部结构或工作方式的测试方法,它关注的是产品的内部运作机制。 **1.2 原理** - 通过对代码的深入分析来检测错误或缺陷。 - 主要针对软件的逻辑...
在提供的“软件测试实验二.doc”文档中,可能会包含具体的实验步骤、案例分析以及测试用例设计的实例,帮助学生更好地理解和实践白盒测试技术。通过这样的实验,学生不仅可以提升技术技能,还能培养解决问题和分析...
8. **教学内容**:压缩包内的"教学内容"很可能包含了上述所有概念的详细讲解、实例演示和实践指导,帮助学习者深入理解和掌握软件测试,尤其是白盒测试的理论与实践。 总结来说,本套资料是全面学习软件测试,特别...