软件缺陷的定义
软件缺陷,常常又被叫做BUG,计算机软件或程序中那些导致系统或部件不能正常运行,不符合
用户需求的缺陷
什么样的软件问题可以被称之为软件缺陷
- 软件未达到产品说明书标明的功能
- 软件出现了产品说明书,指明不会出现的错误
- 软件功能超出产品说明书指明的范围
- 软件未达到产品说明书虽未指出但应该达到的目标
- 软件难以理解、不易使用、运行速度缓慢或者从测试人员的角度看最终用户认为不好
缺陷报告的八大要素
- 缺陷编号:是缺陷的唯一标识符
- 缺陷状态:是缺陷跟踪过程的进展情况,缺陷工具都会有相应的流程和状态标识,一般不需要我们去选择
- 缺陷标题:是缺陷的概述,最好能一针见血的揭示出该缺陷 的本质,这个需要后续多练习
- 重现步骤:一步一步描述再现缺陷的操作步骤,基本要求就是开发人员按照步骤能重现BUG就可以
- 严重程度:就是缺陷对软件系统的影响程度,有些影响较大,有些影响较小
- 优先级:就是修复缺陷的重要性或紧迫性,即那些缺陷需要紧急修复,那些缺陷可以后续再修复
- 缺陷类型:根据缺陷产生的来源和根源划分出的缺陷种类
- 测试环境:主要就是测试环境的配置,包括操作系统和浏览器
要素名称 | 一般分类 | 禅道分类 | 说明 | 举例 |
---|---|---|---|---|
缺陷状态 | 新建 已打开 已指派 已修复 已关闭 | 激活 已解决 已关闭 | – | – |
缺陷标题 | – | – | 对缺陷或错误特征的概要描述 可以使用短语或短句, 要求简练和准确,最好直接指出缺陷的本质 | – |
重现步骤 | – | – | 要求完整、简洁、准确 描述实际出现的结果 描述预期想要的结果 | 标题:手机号和验证码不匹配但注册成功 步骤: 1.打开app,点击注册 2.输入有效的未注册过的手机号码,点击“发送验证码” 3.输入收到的正确验证码,将手机号改为其他未注册过的号码, 输入登录密码,单击“注册”,未出现任何提示 4.进入登录页面,输入注册时的手机号和登录密码单击“登录” 实际结果:发现可以登录成功 预期结果:不能登录成功 |
严重程度 | 关键的 主要的 次要的 无关紧要的 | 1 2 3 4 | 1.缺陷影响关键功能,没有解决办法 2.缺陷影响主要功能,有一个变通办法, 但不明显 也很困难 3.缺陷影响次要功能,有一个简单的解决办法 4.缺陷不影响功能 | 1.导致系统崩溃 2.主要功能不能正确实现,被测数据处理错误 3.次要功能失效,警告不全面,不准确 4.界面不友好,操作不方便,错误提示不直观 |
优先级 | 紧急 高 中 低 | 1 2 3 | 1.说明立即修复 2.必须在任何即将发布的版本中修复 3.可在发布后/下次发布时修复 4.能修复,也可能不修复 | 1.导致系统崩溃 2.主要功能和重要功能不能正确实现 3.次要功能失效,警告信息不全面、不准确 4.界面不友好,操作不方便,缺少必要的缺省信息 |
缺陷类型 | 需求 设计 代码实现 数据库 接口 版本问题 安装 界面 功能 性能 安全 网络 环境 | 代码错误 界面优化 配置相关 安装部署 安全相关 性能问题 标准规范 测试脚本 设计缺陷 其他 | ||
测试环境 | 操作系统 浏览器 手机型号 | windows、linux、ios等 IE、chrome、firefox等 华为、苹果、小米等 |
对于c/s结构的软件,测试环境只会选择操作系统即可,对于web软件,测试环境主要选择浏览器,对于移动端软件,相对较复杂,测试环境这三类一般都需要选择
其他要素
版本 就是我们发现的缺陷所在的软件版本,一般都是软件版本加上该版本的构建号
分派给就是将发现的缺陷分配给相关的人员
所属项目\模块就是发现的缺陷所属的产品、项目和模块
提交人和提交时间就是字面意思
附件就是通过上传图片或视频,可以更好的补充说明这个缺陷
BUG生命周期
软件缺陷的处理流程又称为软件缺陷的生命周期,是缺陷从发现到缺陷修复所经历的一组特定状态
提交BUG—>分配BUG—>处理BUG—>验证BUG---->关闭BUG
验证未通过再回到处理Bug阶段
缺陷的八大状态
新建 :指新发现的BUG提交到缺陷库,还未进行任何处理
已指派:指将缺陷指派给负责开发人员
已打开:指缺陷已确认可以开始修复
已修复:是指开发人员将缺陷解决
已拒绝:指开发人员认为不是缺陷和不认可缺陷
已延期:指短期内无法解决的缺陷
已关闭:指测试人员将已修复的缺陷在新版本上验证通过
重新打开:指测试人员已修复的缺陷在新版本上验证,发现问题依然存在