软件的缺陷
软件缺陷的定义
软件在使用过程中存在任何问题(如:错误,异常等),都叫软件的缺陷,简称bug.
缺陷的定义
- 产品实现不满足用户需求
- 测试执行时,实际结果与预期结果不一致
缺陷的判定标准
- 未达到需求说明书指明的功能
- 出现了需求说明书指明不应该出现的错误
- 实现了需求说明书之外的功能
- 未达到需求说明书虽未明确提及但是应该实现的目标(如:性能要求等)
- 用户角度发现的各种问题与错误
缺陷产生的原因及根本原因
- 缺陷产生的原因(需求文档存在错误,需求变更)
- 设计存在错误(代码错误)
- 缺陷产生的根本原因(需求变更,沟通不畅、信息不同步,软件复杂,进度压力)
软件缺陷的核心内容
- 标题:描述缺陷的基本信息,如(输入密码长度为5时,注册成功)
- 前置条件:描述缺陷出现依赖的相关基础条件
- 复现步骤:测试用例里面的执行步骤
- 实际结果:执行被测试软件过程中,系统给出的结果
- 预期结果:参照需求说明书,在测试用例中设计的预期结果
- 附件:方便开发定位bug的关键信息
缺陷的基本要素
-
缺陷编号:缺陷的唯一性标志
-
缺陷状态:表示缺陷当前处于哪个阶段
常见缺陷状态
new: 新建,表示缺陷刚创建
open: 打开,或者已经指派或者开发认领了bug
inprogress: 进行中,表示开发正在修改中
fixed: 已修复,表示测试可以验证
closed: 已关闭,表示测试验证通过
rejected: 已拒绝,表示开发拒绝了当前了bug
postpone/delay: 已延迟,表示开发延迟修复改bug -
缺陷所属模块:缺陷属于哪个被测的模块,根据产品进行具体的划分,如登录,注册
-
缺陷严重程度:该缺陷的破坏程度或影响程度,从技术的维度来衡量,bug的破坏力
5-critical 致命的
4-major 非常高
3-medium 高
2-minor 中
1-tiny 低 -
缺陷的优先级:从业务的角度决定bug修改的先后顺序
5 urgent priority 紧急的
4 veryhigh priority 非常高
3 high priority 高
2 medium priority 中
1 low priority 低 -
优先级和严重程度的区别
- priority is Business【优先级是从公司运营角度(人力配置,资金投入等)】 + Severity is Technical【严重级别是从技术角度】
- 优先级还要考虑团队的工作进度,阻塞工作的缺陷,要优先解决
- 考虑解决缺陷的能力,难度,风险
- 确定权:产品经理、项目经理等
- 建议权:测试
-
缺陷类别:用于分类整理缺陷
- 功能错误
- 界面(UI)错误
- 兼容性错误
- 易用性
- 改进建议
- 其它