编写缺陷报告是测试人员的日常工作,好的缺陷报告能够让开发人员更容易理解,更快速的定位问题;不好的缺陷报告可能会误导调查方向,增加沟通成本。那么一个好的缺陷报告应该包括哪些方面呢?

请看我的mindmap:

标题

  1. 首先要做一个“标题党”(此标题党非彼标题党)。标题一定要清晰简洁易理解,不应该臃长

  2. 尽量前缀要规范,例如模板: [Product][Version]_[Feature]_[Title],这样描述会很清晰,也方便查找

  3. 缺陷的标题一定要描述在什么情况下发生了什么问题

  4. 尽量避免使用人称(比如you, I等等)

  缺陷标题的例子: DemoApp 1.0_Login_Cannot enter username by copy/paste enternal string

  这个标题包含了产品名,版本号,模块,发生了什么(cannot enter username),什么情况下(copy/paste enternal string)

描述或总结

  描述或总结这个模块可以用来描述标题不能容纳的更详细的内容,它可以包括很多方面,比如相关、历史版本是否重现、用户操作等。目的是更清晰详细的描述缺陷。

影响

   这部分用以描述该缺陷对用户实际应用中的影响。 

前置条件

  用以描述在重现缺陷之前环境、数据或者其他的一些特殊需求。

重现步骤

  从用户角度出发来描述重现步骤,步与步之间不应该有太大的业务跳跃,最好是连贯的。

  例如:

  Repro Steps:

  1. Open DemoApp to enter Login screen

  2. Copy username from enternal file

  3. Paster username to username field of Login Screen

结果

  结果可以分为“期望结果”和“实际结果”,结果可以有多个,也可以穿插在重现步骤之间(比如重现步骤中有多个缺陷的问题)

优先级

  凡事都有轻重缓急,缺陷也是,需要标明缺陷优先级和紧急程度,以便开发团队决定先做还是延后。

重现频率  

  当然,大部分的缺陷是可以100%重现的,对于少数缺陷可能很难重现,或者不太容易重现,这就要标明重现的几率,比如50%。往往这种缺陷需要提供详细的日志文件,以便从日志角度获取重现或者解决突破口。

附件

  附件非常重要!附件的格式可以多种多样,图片,日志文件,视频等。除了可以提供直观的认识(图片,视频),还可以有更多的信息(缺陷讨论邮件,日志等)。

变通方案(Workaround)

  变通方案是提供一种绕过当前问题而使用其它的产品功能的一种方式。这样客户就可以在缺陷未解决的情况下继续使用产品。

发生原因分析(Root Cause Analysis)

  描述从代码角度,该缺陷是如何发生的。能做到这一步的测试人员需要有较高的读写代码的能力。

环境配置

  用以描述测试环境的配置,比如OS,相应产品版本等。

那么,问题来了!缺陷包括这么多方面,如果每个缺陷都这么写,要耗费多少effort啊!!!(毕竟测试时最忙的!)

个人认为没有必要每个都这么写,毕竟写缺陷报告对客户来说没有value。缺陷报告是缺陷的信息载体,它存在的意义是用于更好、更清楚的进行开发团队之间的沟通和以后的回顾,写到什么程度还是需要根据实际情况有所取舍。(比如Root cause analysis在时间不富裕的情况下可以忽略等)

综合以上的方面,下边是一个模板,希望对大家有所帮助。

Title:   [Product][Version]_[Feature]_Title
 
Description/Summary:
 
Impact:
 
Priority/Severity:
      Critical
Frequency:
     100%
Precondition:
 
Repro Steps:
     step 1:
     step 2:
     Expected Result:
     Actual Result:
     step 3:
 
Expected Result:
 
Actual Result:
 
Root Cause Analysis:
 
Workaround:
 
Environment:
 
Attchment:

如何写一个好的缺陷(Defect)报告的更多相关文章

  1. HTML: 仿写一个财经类静态的网页

    要求:仿写一个静态的网页,主要采用HTML+CSS+DIV的布局方式, 新建两个文件:demo.html.demo.css 图片素材:image.zip demo.html代码如下: <!doc ...

  2. 写一个Windows上的守护进程(6)Windows服务

    写一个Windows上的守护进程(6)Windows服务 守护进程因为要开机启动,还要高权限,所以我就把它做成Windows服务了. 关于Windows服务的官方文档,大家可以看https://msd ...

  3. python 拼写检查代码(怎样写一个拼写检查器)

    原文:http://norvig.com/spell-correct.html 翻译:http://blog.youxu.info/spell-correct.html 怎样写一个拼写检查器 Pete ...

  4. 手把手用Monkey写一个压测脚本

    版权声明: 本账号发布文章均来自公众号,承香墨影(cxmyDev),版权归承香墨影所有. 允许有条件转载,转载请附带底部二维码. 一.为什么需要一个测试脚本? 昨天讲解了Android Monkey命 ...

  5. Scheme语言实例入门--怎样写一个“新型冠状病毒感染风险检测程序”

    小学生都能用的编程语言 2020的春季中小学受疫情影响,一直还没有开学,孩子宅在家说想做一个学校要求的研究项目,我就说你做一个怎么样通过编程来学习数学的小项目吧,用最简单的计算机语言来解决小学数学问题 ...

  6. 媳妇儿让我给她找一个PDF转word免费工具,找了半天我决定给她写一个出来^-^

    ​ 之前我媳妇儿让我给她找一个PDF转WORD的免费工具,在网上找了半天发现要不就是收费,要不就是转化的格式混乱.既然网上不能找到好用的免费工具那就直接来写一个吧.人生苦短,我用python. 万能的 ...

  7. 怎样写一个webpack loader

    div{display:table-cell;vertical-align:middle}#crayon-theme-info .content *{float:left}#crayon-theme- ...

  8. 请写一个php函数,可以接受任意数量的参数

    请写一个php函数,可以接受任意数量的参数 这是一道面试题.怎么写这个函数呢? function fun(......) { } ----------------------------------- ...

  9. 学记:为spring boot写一个自动配置

    spring boot遵循"约定优于配置"的原则,使用annotation对一些常规的配置项做默认配置,减少或不使用xml配置,让你的项目快速运行起来.spring boot的神奇 ...

随机推荐

  1. React componentWillUpdate

    <!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8" ...

  2. React 表单refs

    <!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8" ...

  3. .NET中的许可证机制--License

    .NET中的许可证机制主要类:System.ComponentModel.License(为所有许可证提供 abstract 基类.向组件的特定实例授予许可证)     System.Componen ...

  4. k8s 1.9 安装

    测试环境 主机 系统 master CentOS 7.3 node CentOS 7.3 2.关闭selinux(所有节点都执行) [root@matser ~]# getenforce Disabl ...

  5. Java微信二次开发(三)

    各种类型消息的封装 第一步:找到com.wtz.message.response包,新建类Image.java package com.wtz.message.response; /** * @aut ...

  6. python之tkinter使用-单级菜单

    # 菜单功能说明:单级菜单 import tkinter as tk root = tk.Tk() root.title('菜单选择') root.geometry('200x60') # 设置窗口大 ...

  7. cxf Webservice 使用httpClient 调用

    package com.wistron.wh.swpc.portal.uitl; import java.io.BufferedInputStream;import java.io.File;impo ...

  8. scrapy 简单爬虫实验

    利用python的模块requests来爬取百度搜索出来的url 使用环境为python3 #!/use/bin/env python # -*- coding:utf-8 -*- import re ...

  9. Ajax中返回数据的格式

    Ajax中常见的返回数据的格式有三种:分别为文本,XML和JSON 返回的文本格式我们在上一堂课Ajax基础介绍中已经介绍过了 Ajax.php Form.html:通过Ajax对象的response ...

  10. [luogu4201][bzoj1063]设计路线【树形DP】

    题目描述 Z国坐落于遥远而又神奇的东方半岛上,在小Z的统治时代公路成为这里主要的交通手段.Z国共有n座城市,一些城市之间由双向的公路所连接.非常神奇的是Z国的每个城市所处的经度都不相同,并且最多只和一 ...