#review
软件缺陷及管理
字数
2021 字
阅读时间
8 分钟
一、缺陷
1. 定义
- 软件在使用过程中存在的任何
异常问题都叫软件缺陷,简称bug - 软件缺陷导致软件无法正常运行,无法满足用户需求或可能产生不符合预期结果的情况
2. 缺陷(bug)判定标准
- 🌟🌟🌟软件未实现需求(规格)说明书中明确要求的功能 ->
- 例如:某社交APP不支持文字信息的发送
- 软件实现的功能超出需求(规格)说明书指明的范围 ->
- 例如:某社交APP除了消息发送功能,还有数学计算功能
- 🌟🌟🌟软件出现了需求(规格)说明书中指明不应该出现的错误 ->
- 例如:某电商APP下单时,对于有折扣的商品价格并没有按照折扣价计算
- 🌟🌟软件未实现需求(规格)说明书中虽未明确指明但应该实现的要求 ->
- 例如:某社交APP输入消息时,只支持九宫格输入法,不支持手写输入
- 大多情况是违反法律法规,或不符合行业规范
- 🌟软件难以理解,不易使用,运行缓慢,用户体验不好 ->
- 例如:某社交APP运行特别缓慢,并且发送消息操作过程复杂,用户使用感到迷茫
缺陷1、3严重,缺陷4中等级别,缺陷2、 5中下级别,缺陷2基本不会出现
二、缺陷描述要素
1. 用例执行步骤(前置)
- 待测用例:准备测试用例,最后添加一列执行结果
- 待测软件:开发提测后,运行待测软件
- 判断结果:判断实际结果是否与预期一致,一致则测试通过(pass),不一致(fail)则提交缺陷报告
2. 缺陷报告的核心要素
- 缺陷报告核心构成要素:
- 缺陷的标题:描述缺陷的核心问题(测试条件+实际结果(预期结果))
- 例如:12位手机号注册成功(预期注册失败)
- 缺陷的前置条件:缺陷产生的前提(和用例的前置条件一样)
- 缺陷的复现步骤:复现缺陷的过程(测试步骤+测试数据)
- 缺陷的预期结果:希望得到的结果(和用例预期结果一致)
- 缺陷的实际结果:实际得到的结果(和用例预期结果不一致)
- 缺陷的必要附件:图片、日志等信息(证据)
- 该项可选
- 缺陷的标题:描述缺陷的核心问题(测试条件+实际结果(预期结果))
3. 缺陷的其他要素

一般情况下,严重性(Series)与优先级(priority)挂钩
三、缺陷管理
1. 🌟🌟🌟缺陷的跟踪流程
- 目的:搞清楚工作中如何和开发协同处理bug,直到 bug 清除(关闭)
- 这一系列流程其实就是缺陷的生命周期
- 流程图:

- 🌟🌟🌟要能口述出来具体流程步骤,让人知道你对流程很熟
- 在判断是否立即处理bug时,需要根据bug的优先级进行判断,让优先级高的bug先处理,优先级低的bug则延迟(delay)处理
- 注意:若某bug已经被修复且已关闭,若后续某个版本又重新出现,可以在缺陷管理处将以前提交的该缺陷报告重新打开(reopen)
- 帮助记忆流程:
- 测试人员需要关注的状态:new, open/reopen, closed
- 开发人员注意其他状态
2. 缺陷报告编写规范
- 🌟准确:描述的信息是准确的
- 简洁易懂:描述简单容易理解
- 具体:有细节且是真实特定的
- 🌟次序清晰:描述缺陷过程 有条件,有先后顺序
3. 提交缺陷注意事项
- 🌟可重现:缺陷可以复现
- 🌟唯一性:一个缺陷报告一个问题
- 规范性:符合公司或项目要求
4. 缺陷(bug)不可复现怎么办? (扩展)
- 从严重级出发,严重级低,暂时可以不考虑(后续尝试复现);严重级高,需要分析排查
- 思考自己测试过程,是否和设计步骤有关,思考测试环境
- 寻求协助:测试老员工,开发协助(记录出现问题的时间,查询对应时段的日志,分析日志)
- 如果没有日志,需要开发给一个有调试日志的版本,后续连续跟踪三个版本后,再未复现,此时放弃
- 后续版本再次出现,直接转/提正式bug,详细描述你的复现过程
四、缺陷管理工具
不管是哪种缺陷管理工具,其核心功能都是一样的,都是帮助我们提交缺陷和跟踪管理缺陷的- 主流:
- 国内:禅道(部分功能收费)
- 国外:Jira
- 其他:QC、TAPD、PingCode、Bugzila、......
1. 禅道介绍
了解即可地址:demo账户使用练手 特点:
- 国产、免费、开源、简单、轻量级
- 三管融合(产品管理、项目管理、质量管理) 可以用于管理用例:创建、评审、执行 也可用于管理缺陷:创建bug、跟踪bug、验证bug
2. 禅道特点
- 三权分立:
- 产品部门 ---- 构想者
- 研发部门 ---- 执行者
- 测试部门 ---- 保证者
- 四角协同:
- 产品经理
- 项目经理
- 研发团队
- 测试团队
3. 禅道使用流程
- 禅道的两个用处:管理用例(部分缺陷管理工具支持)和管理缺陷(所有工具都支持)

1)管理缺陷
- 先找到禅道中管理bug的界面,并可提交新bug:

- 提bug:

- 在测试-bug界面可以看到刚刚提交的bug,也可对提交的bug进行修改:

- 开发人员修复bug后提交的内容:
开发人员解决bug前,一般会再新建一个版本号,在新版本上对bug进行修复 - 测试人员收到bug已修复的消息,准备进行回归测试,若回归测试发现bug确实已经修复,则关闭bug状态(closed)
2) 管理用例
- 找到测试-用例界面,查看已建立的用例,并可新建新用例:

- 建立新用例内容,具体表格填写与使用Excel表练习时所填相差无几

- 若没有输入数据的输入框,则可在用例步骤中增加子级,在子级中添加测试用例数据
- 预期结果可以只填最后一格(只写测试步骤执行完毕后的预期结果),也可以把每一步的预期结果都写一下(例如:输入成功,勾选成功,登录成功等)