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