JiaHe

相遇即是缘

3.1 - 单元测试详解

一、概念

1️⃣ 单元

单元:指的是软件中具有明确的功能完整的规格、接口定义,可以清晰的与软件中其他部分区分开来的某一个部分。单元没有标准划分法,可以完全依照测试工程师的自身想法进行划分。以 C++ 程序为例,可以实现某些软件功能的类或者方法即可被视为一个单元。

2️⃣ 单元测试

单元测试(亦称模块测试):指的是对软件组成中的最小可测试单元进行的测试。单元测试将会检查软件中的各模块是否存在缺陷,是编码阶段结束后、测试工作开始时的第一项测试工作。

  • 目标:确保软件中的每个模块都能正常工作。
  • 开始时间:… -> 详细设计 -> 编码 -> 编译 -> 单元测试 -> 集成测试 -> 系统测试 -> …
  • 设计依据:详细设计说明书、源代码。[详见下图 ]
  • 执行者:软件开发工程师或白盒测试工程师。
  • 执行方式:以白盒测试技术为主。首先执行静态测试,检查软件代码是否符合规范。随后执行动态测试,检查模块的实际输出结果与预期结果是否相符。

软件开发流程

二、测试内容

单元测试主要针对以下五个方面对软件单元进行测试:

  1. 边界条件
  2. 异常处理
  3. 模块接口
  4. 局部数据结构
  5. 程序路径

三、辅助测试模块

在执行单元测试时,如果被测试模块并不是一个独立的程序,那么就需要设置辅助测试模块

  • 驱动模块 (Drive):用于模拟被测试模块的上一级模块。驱动模块相当于被测模块的 “主程序”,通常负责接收测试数据、将数据传递给被测模块、启动被测模块、输出测试结果等。
  • 桩模块 (Stub):用于模拟被测模块在工作过程中所调用的模块,负责进行少量的数据处理。

下一章节:3.2 - 集成测试详解