Skip to content

#review

软件缺陷及管理

字数
2021 字
阅读时间
8 分钟

一、缺陷

1. 定义

  • 软件在使用过程中存在的任何异常问题都叫软件缺陷,简称 bug
  • 软件缺陷导致软件无法正常运行,无法满足用户需求或可能产生不符合预期结果的情况

2. 缺陷(bug)判定标准

  1. 🌟🌟🌟软件未实现需求(规格)说明书中明确要求的功能 ->
    • 例如:某社交APP不支持文字信息的发送
  2. 软件实现的功能超出需求(规格)说明书指明的范围 ->
    • 例如:某社交APP除了消息发送功能,还有数学计算功能
  3. 🌟🌟🌟软件出现了需求(规格)说明书中指明不应该出现的错误 ->
    • 例如:某电商APP下单时,对于有折扣的商品价格并没有按照折扣价计算
  4. 🌟🌟软件未实现需求(规格)说明书中虽未明确指明但应该实现的要求 ->
    • 例如:某社交APP输入消息时,只支持九宫格输入法,不支持手写输入
    • 大多情况是违反法律法规,或不符合行业规范
  5. 🌟软件难以理解,不易使用,运行缓慢,用户体验不好 ->
    • 例如:某社交APP运行特别缓慢,并且发送消息操作过程复杂,用户使用感到迷茫

缺陷1、3严重,缺陷4中等级别,缺陷2、 5中下级别,缺陷2基本不会出现

二、缺陷描述要素

1. 用例执行步骤(前置)

  1. 待测用例:准备测试用例,最后添加一列执行结果
  2. 待测软件:开发提测后,运行待测软件
  3. 判断结果:判断实际结果是否与预期一致,一致则测试通过(pass),不一致(fail)则提交缺陷报告

2. 缺陷报告的核心要素

  • 缺陷报告核心构成要素:
    1. 缺陷的标题:描述缺陷的核心问题(测试条件+实际结果(预期结果)
      • 例如:12位手机号注册成功(预期注册失败)
    2. 缺陷的前置条件:缺陷产生的前提(和用例的前置条件一样
    3. 缺陷的复现步骤:复现缺陷的过程(测试步骤+测试数据
    4. 缺陷的预期结果:希望得到的结果(和用例预期结果一致
    5. 缺陷的实际结果:实际得到的结果(和用例预期结果不一致
    6. 缺陷的必要附件:图片、日志等信息(证据)
      • 该项可选

3. 缺陷的其他要素

一般情况下,严重性(Series)与优先级(priority)挂钩

三、缺陷管理

1. 🌟🌟🌟缺陷的跟踪流程

  • 目的:搞清楚工作中如何和开发协同处理bug,直到 bug 清除(关闭)
  • 这一系列流程其实就是缺陷的生命周期
  • 流程图:
    • 🌟🌟🌟要能口述出来具体流程步骤,让人知道你对流程很熟
    • 在判断是否立即处理bug时,需要根据bug的优先级进行判断,让优先级高的bug先处理,优先级低的bug则延迟(delay)处理
    • 注意:若某bug已经被修复且已关闭,若后续某个版本又重新出现,可以在缺陷管理处将以前提交的该缺陷报告重新打开(reopen)
    • 帮助记忆流程:
      1. 测试人员需要关注的状态:new, open/reopen, closed
      2. 开发人员注意其他状态

2. 缺陷报告编写规范

  1. 🌟准确:描述的信息是准确的
  2. 简洁易懂:描述简单容易理解
  3. 具体:有细节且是真实特定的
  4. 🌟次序清晰:描述缺陷过程 有条件,有先后顺序

3. 提交缺陷注意事项

  1. 🌟可重现:缺陷可以复现
  2. 🌟唯一性:一个缺陷报告一个问题
  3. 规范性:符合公司或项目要求

4. 缺陷(bug)不可复现怎么办? (扩展)

  1. 从严重级出发,严重级低,暂时可以不考虑(后续尝试复现);严重级高,需要分析排查
  2. 思考自己测试过程,是否和设计步骤有关,思考测试环境
  3. 寻求协助:测试老员工,开发协助(记录出现问题的时间,查询对应时段的日志,分析日志)
  4. 如果没有日志,需要开发给一个有调试日志的版本,后续连续跟踪三个版本后,再未复现,此时放弃
  5. 后续版本再次出现,直接转/提正式bug,详细描述你的复现过程

四、缺陷管理工具

不管是哪种缺陷管理工具,其核心功能都是一样的,都是帮助我们提交缺陷和跟踪管理缺陷的
  • 主流:
    • 国内:禅道(部分功能收费)
    • 国外:Jira
  • 其他:QC、TAPD、PingCode、Bugzila、......

1. 禅道介绍

了解即可

地址:demo账户使用练手 特点:

  • 国产、免费、开源、简单、轻量级
  • 三管融合(产品管理、项目管理、质量管理) 可以用于管理用例:创建、评审、执行 也可用于管理缺陷:创建bug、跟踪bug、验证bug

2. 禅道特点

  1. 三权分立:
    1. 产品部门 ---- 构想者
    2. 研发部门 ---- 执行者
    3. 测试部门 ---- 保证者
  2. 四角协同:
    1. 产品经理
    2. 项目经理
    3. 研发团队
    4. 测试团队

3. 禅道使用流程

  • 禅道的两个用处:管理用例(部分缺陷管理工具支持)和管理缺陷(所有工具都支持)
1)管理缺陷
  1. 先找到禅道中管理bug的界面,并可提交新bug:
  2. 提bug:
  3. 在测试-bug界面可以看到刚刚提交的bug,也可对提交的bug进行修改:
  4. 开发人员修复bug后提交的内容: 开发人员解决bug前,一般会再新建一个版本号,在新版本上对bug进行修复
  5. 测试人员收到bug已修复的消息,准备进行回归测试,若回归测试发现bug确实已经修复,则关闭bug状态(closed)
2) 管理用例
  1. 找到测试-用例界面,查看已建立的用例,并可新建新用例:
  2. 建立新用例内容,具体表格填写与使用Excel表练习时所填相差无几
    • 若没有输入数据的输入框,则可在用例步骤中增加子级,在子级中添加测试用例数据
    • 预期结果可以只填最后一格(只写测试步骤执行完毕后的预期结果),也可以把每一步的预期结果都写一下(例如:输入成功,勾选成功,登录成功等)

贡献者

The avatar of contributor named as freeway348 freeway348

文件历史

撰写