1. 定义
概述:标识并描述发现的缺陷,具有清晰、完整和可重现问题所需的信息的文档。
理解:测试人员发现缺陷,将缺陷记录在《缺陷报告》中,通过缺陷报告将缺陷告知给开发人员,并对缺陷进行跟踪和管理。缺陷报告是测试人员与开发人员之间重要的沟通方式。
2. 什么是缺陷
软件缺陷就是通常说的Bug,它是指在软件中(包括文档和程序)存在的影响软件正常运行的问题。
- 软件未达到产品说明书标明的功能,如一个即时通讯App不能聊天。
- 软件出现了产品说明书指明不会出现的错误,如高考不带身份证。
- 软件功能超出产品说明书指明的范围,如即时通讯App做了一个地图功能。
- 软件未达到产品说明书虽未指出但应该达到的目标,如一个账号的密码是明文。
- 软件难以理解、不易使用、运行速度缓慢或者从测试人员的角度看最终用户认为不好,如一个即时通讯App无法找不到聊天界面。
3. 软件缺陷产生的原因
- 需求不明确和变更
软件需求不清晰或者开发人员对需求理解偏差,导致软件设计时偏离用户的需求目标,造成软件功能或特征上的缺陷。此外,开发过程中客户频繁更新需求也会影响软件最终的质量。 - 软件结构复杂
- 编码问题
- 项目期限短
- 使用新技术
4. 导致软件缺陷的典型错误
错误 | 软件缺陷 |
---|---|
客户与软件开发人员之间交流困难 | 缺少预期的软件功能 |
开发人员未注意到代码中的逻辑错误 | 单击按钮没有进行任何操作 |
开发人员忘记了对文件复制代码进行错误检查 | 复制了一份被破坏的文件,导致软件崩溃 |
开发人员没有理解客户的情况 | 软件不能满足客户的要求 |
5. 软件缺陷分类
6. 缺陷报告的核心要素
八项:缺陷编号、缺陷状态、缺陷标题、重现步骤、严重程度、优先级、缺陷类型、测试环境。
缺陷编号:缺陷的唯一标识符
-
缺陷状态:缺陷跟踪过程的进展情况
- 新建:刚发现的缺陷
- 已指派:已经由测试人员将缺陷指派给开发人员进行处理
- 已打开:开发人员正在修复缺陷
- 已修复:开发人员完成缺陷修复,还未进行回归测试
- 已拒绝:发开人员拒绝修复
- 已延期:对缺陷进行延缓处理
- 已关闭:由测试人员回归测试后,缺陷不存在了
- 重新打开:由测试人员回归测试后,发现缺陷任然存在,
- 缺陷标题
缺陷的概述,描述问题本质 - 重现步骤
一步一步描述再现缺陷的操作步骤
预期结果
实际结果 - 严重程度
缺陷对软件系统的影响程度 - 优先级
修复缺陷的重要性或紧迫性 - 缺陷类型
根据缺陷产生的来源和根源划分出的缺陷种类
功能、配置、安装、性能缺陷 - 测试环境
测试环境配置,包括软件环境和硬件环境