1.2 - 软件测试的定义、目的、对象与分类
¶一、定义
¶1️⃣ 测试
测试是一种活动。在这种活动中,某个系统或其组成部分将在特定的条件下运行,运行结果将被观察或记录,并作为对系统或其组成部分进行评价的依据。
¶2️⃣ 软件测试
标准定义:
软件测试是指使用人工或自动化的手段来运行或测试某个系统的过程。其目的在与检验系统能否满足规定需求或理清预期结果与实际结果间的差别。
IEEE (Institute of Electrical and Electronics Engineers)
软件测试是为了尽快、尽早地发现在软件产品中所存在的各种软件缺陷而展开的贯穿整个软件开发生命周期、对软件产品(包括阶段性产品)进行验证和确认的活动过程。
额外定义:
- 软件测试是指为了发现错误而执行程序的过程。
- 软件测试是指利用根据软件开发各阶段的规格说明或内部结构设计的测试用例来运行程序以及发现错误的过程。
- 软件测试的根本目的是证明软件存在错误,而并非是证明软件没有错误。
- 一个好的软件测试用例在于其可以发现至今未被发现的错误。
- 一次成功的软件测试工作也在于其可以发现至今未被发现的错误。
¶二、目的
- 发现隐藏在软件中的错误或缺陷,并将其修复。
- 最大程度满足软件需求,提高用户满意度。
- 提升软件质量。
¶三、对象
软件测试的对象包括:
- 需求说明文档
- 概要设计文档
- 详细设计文档
- 程序
- 数据
- 用户文档
- 等
注 1:软件测试包含程序测试,但不等于程序测试。软件测试也包含了对文档与数据的测试。
注 2:软件 = 程序 + 数据 + 文档
¶四、分类
- 开发方测试
- 用户测试
- 第三方测试
- 单元测试
- 集成测试
- 系统测试
- 验收测试
- 黑盒测试
- 白盒测试
- 灰盒测试
- 功能测试
- 性能测试
- 界面测试
- 易用性测试
- 兼容性测试
- 安全性测试
- 安装测试
- 回归测试
- 冒烟测试
- 随机测试
- 等