缺陷报告本身的质量将直接关系到缺陷被修复的速度以及开发人员的效率,同时还会影响测试人员的信用、测试与开发人员协作的有效性

注意:好的缺陷报告绝不是大量信息的堆积,而是高效的方式提供准确有用的信息

缺陷报告主要由缺陷标题、缺陷概述、环境配置、缺陷影响、前置条件、缺陷重现步骤、期望结果和实际结果、优先级(Priority)和严重程度(Severity)、变通方案、根原因分析、附件组成

缺陷标题

缺陷标题是对缺陷概括性的描述,不仅要清晰简洁,最关键是要足够具体,切忌不能采用过于笼统的描述,需清除地表述发生问题时的场景

标题应尽可能描述问题本质,而避免只停留在问题的表面,且缺陷标题不易过长,主要的内容应放在概述里面

在实际项目中可以根据实际描述,例如:在缺陷标题前写上模块名-页面名,方便定位缺陷的位置

缺陷概述

缺陷概述更多概括性的是描述缺陷的本质与现象

目的:清晰简洁地描述缺陷,让开发人员快速聚焦缺陷的本质,快速定位到问题

缺陷影响

缺陷影响描述的是,缺陷引起的问题对用户或者对业务的影响范围以及严重程度;同时缺陷影响着缺陷的优先级和严重程度,开发人员依此来决定修复的先后顺序,产品经理会以此来决定是否需要在本次迭代中修改

环境配置

环境配置用以详细描述测试环境的配置细节,为缺陷的重现提供必要的环境信息

注意:通常都只配置能重现缺陷的环境相关信息

前置条件

前置条件是指测试步骤开始前系统应该处在的状态,其目的是减少缺陷重现步骤的描述。合理地使用前置条件可以在描述缺陷重现步骤时排除不必要的干扰,使其更有针对性

缺陷重现步骤

缺陷重现步骤是整个缺陷报告中最核心的内容,其目的在于用简洁的语言向开发工程师展示缺陷重现的具体操作步骤

注意:每次提缺陷时需要反复执行3次以上且需尽量避免以下常见问题:

  • 笼统的描述,缺乏可操作的具体步骤
  • 出现与缺陷重现不相关的步骤
  • 缺乏对测试数据的相关描述

期望结果和实际结果

描述期望结果时,需要说明应该发生什么,而不是什么不应该发生,例如:应弹出下载弹框

而描述实际结果时,你应该说明发生了什么,而不是什么没有发生,例如:应给出toast提示,文案:下载成功

优先级(Priority)和严重程度(Severity)

缺陷优先级是指缺陷必须被修复的紧急程度,缺陷严重程度是指因缺陷引起的故障对软件产品的影响程度

严重程度是缺陷本身的属性,通常确定后就不再变化,而优先级是缺陷的工程属性,会随着项目进度、解决缺陷的成本等因素而变动

严重程度与优先级的区别:

  • 缺陷越严重,优先级越高
  • 缺陷影响的范围越大,优先级也会越高
  • 有些缺陷虽然从用户影响角度来说不算严重,但是会妨碍测试或者是自动化测试的执行,这类缺陷属于典型的严重程度低,但是优先级高
  • 有些缺陷虽然严重程度比较高,但是考虑到修复成本以及技术难度,因此优先级较低

变通方案

变通方案是提供一种临时绕开当前缺陷而不影响产品功能的方式

注意:变通方案的有无以及实施的难易程度,是决定缺陷优先级和严重程度的重要依据

根原因分析

附件

附件通常是为缺陷的存在提供必要的证据支持,常见的附件有界面截图、视频,日志等

 

总结:

总的来说,不管缺陷如何去定义,都是为了能帮助开发快速定位问题,简洁清晰明了的描述可以提高开发人员阅读性

注意:在描述缺陷时尽量使用图文并茂来描述问题