缺陷报告 | 书写规范

如何编写一份高质量的缺陷报告?

Posted by Haauleon on April 12, 2021

背景

  缺陷报告,它不仅反映了测试人员的书面表达能力,还直接影响了开发人员的修复 bug 的效率。因此,一份高质量的缺陷报告要做到准确且无歧义。
  很多缺陷管理系统都会自动生成报告模板,但模板中的所有字段并不是都需要,而是要根据实际情况进行删减,否则大量字段和描述的叠加讲造成阅读的困难。这里列了一些常用的字段,之后再稍加描述和举例。

测试报告:

  1. 缺陷标题
  2. 缺陷概述
  3. 缺陷影响
  4. 环境配置
  5. 前置条件
  6. 缺陷重现步骤
  7. 预期结果和实际结果



缺陷报告字段描述

缺陷标题

  目前在缺陷管理系统中,开发人员可通过缺陷标题进行检索,测试人员可通过缺陷标题搜索将要提交的缺陷报告是否已存在从而避免重复提交。如下图的禅道 bug 列表,最直观的就是 bug 标题。


  缺陷标题通常采用“在什么情况下发生了什么问题”这样的格式进行书写。例如:

  • [saas 商品中心]已上架的分销商品删除失败
  • [saas xxx应用名称]已登录的用户安装xxx应用失败
  • 已取消的订单点击再次购买按钮,订单确认接口请求失败
  • 未使用的优惠券列表接口返回已使用的优惠券
  • 已登录的用户退出登录失败
  • 有运费的京东商品在下单页面未显示运费
  • ……



缺陷概述

  缺陷概述是缺陷标题的细化结果,是开发人员进入缺陷报告详情后最先关注的部分。

  • 商品中心的已上架商品列表中,选择并删除分销商品失败,接口返回提示“数据库错误”。此问题在之前的版本中已有出现。
  • 已登录的用户,卸载应用后再次点击安装此应用,安装失败。
  • 取消平台订单和第三方订单后再次购买,订单确认接口请求均失败。
  • ……



缺陷影响

  用以描述缺陷引起的问题对用户或者对业务的影响范围以及严重程度。没有就写无。

  • 此缺陷导致生产环境的用户可无限次使用优惠券,造成公司的财产损失。
  • 此缺陷已阻碍XXXX业务的下单流程,造成用例执行的阻塞。
  • ……



环境配置

  描述缺陷重现的环境信息。

  • 只会发生在测试环境
  • 只会发生在 ios 客户端
  • 只会发生在 chrome 浏览器
  • 只会发生在生产环境
  • 只会发生在微信支付环境
  • 只会发生在xxx机型xxx系统版本xxx应用版本
  • ……



前置条件

  前置条件可以减少缺陷重现步骤的描述。一般用的最多的就是“用户已登录”。

  • 用户已登录
  • 用户已上架此商品
  • 用户已取消此订单
  • 用户已提交订单退款申请
  • ……



缺陷重现步骤

  重现步骤需结合文字和截图,截图中需要框出要注意的地方。重现步骤必须是可以完整操作的,简称为傻瓜式操作,即看即会。

  • 示例1
    1. 附截图1并框图描述“步骤一:账号栏位输入包含空格及其他特殊字符”
    2. 附截图2并框图描述“步骤二:点击发送验证码按钮”
    3. ……



预期结果和实际结果

  预期结果和实际结果通常需要进行绑定。

  • 附截图并框图描述“预期结果:xxxxxx,实际结果:xxxxxx”



完整示例



结论

  缺陷报告作为测试人员和开发人员之间的桥梁,要承认的是它要能减少沟通的成本,同时还能一针见血的把问题描述清楚。