缺陷报告

测试工程师,最基本的一项技能就是,把发现的缺陷准确无歧义地表达清楚

好的缺陷报告绝对不是大量信息的堆叠,而是以高效的方式提供准确有用的信息

一份好的缺陷报告需要包括哪些具体内容呢

缺陷标题

标题是对缺陷的概括性描述.标题应该简洁清晰,足够具体,最好涵盖问题发生的上下文. 其次,标题应该尽可能描述问题本质

缺陷概述

概述中会提供更多的概括性的缺陷本质及现象的描述.是缺陷标题的细化.尽量不要使用具体描述,应该使用概括性语句. 概述的目的是简洁的描述缺陷,使阅读者能尽快聚焦缺陷本质.

缺陷影响

缺陷影响描述的是问题对业务的影响范围及严重程度. 决定了缺陷的优先级和严重程度.准确描述缺陷影响的前提是对软件的应用场景及需求有深入的理解.

环境配置

详细描述测试环境的配置细节,为缺陷复现提供必要的环境信息. 环境配置通常是按需描述,也就是仅列出必要的环境信息.

前置条件

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

缺陷重现步骤

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

操作步骤通常是从用户角度出发来描述的,每个步骤都应该是可操作并且是连贯的,所以往往会采用步骤列表的表现形式

缺陷重现步骤的描述应该尽量避免以下3个常见问题:

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

期望结果和实际结果

期望结果和实际结果通常和缺陷重现步骤绑定在一起,在描述重现步骤的过程中,需要明确说明期待结果和实际结果。期待结果来自于对需求的理解,而实际结果来自于测试执行的 结果

通常来讲,当你描述期望结果时,需要说明应该发生什么,而不是什么不应该发生;而描述实际结果时,你应该说明发生了什么,而不是什么没有发生

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

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

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

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

变通方案(Workaround)

提供一种临时绕开当前缺陷而不影响产品功能的方式,通常由测试工程师或者开发工程师完成,或者他们一同决定

变通方案的有无以及实施的难易程度,是决定缺陷优先级和严重程度的重要依据。如果某个严重的缺陷没有任何可行的变通方案,那么不管修复缺陷代价有多大,优先级一定会是最 高的,但是如果该缺陷存在比较简单的变通方案,那么优先级就不一定会是最高的了

根原因分析(Root Cause Analysis)

发现缺陷的同时,定位出问题的根本原因.修复缺陷的效率就会大幅提升

文章链接 https://fangzongzhou.github.io/2020/12/30/计算机/软件测试/缺陷报告/