如何高效填写缺陷
# 如何高效填写缺陷
# 缺陷组成
# 缺陷标题
- 对「什么问题」的描述不仅要做到清晰简洁,最关键是要足够具体,不能采用过于笼统的描述,描述问题的同时还必须清楚地表述问题出现的场景。
例如:「用户不能正常登录」「搜索功能有问题」和「用户信息页面的地址栏位置不正确」等。 - 标题应该尽可能描述问题本质,而避免只停留在问题的表面。
例如:
- 描述问题表现的缺陷:商品金额输入框,可以输入英文字母和其他字符。
- 描述问题表现的本质:商品金额输入框,没有对输入内容做校验。
- 缺陷标题不易过长,对缺陷更详细的描述应该放在「缺陷概述」里。
# 缺陷概述
缺陷概述通常会提供更多概括性的缺陷本质与现象的描述,是缺陷标题的细化。
目的:清晰简洁地描述缺陷,使开发工程师能够聚焦缺陷的本质。
描述内容包含:
- 列出同一类型的缺陷可能出现的所有场景
- 描述同样的问题是否会在之前的版本中重现
# 缺陷影响
缺陷引起的问题对用户或者对业务的影响范围以及严重程度
前提:必须对软件的应用场景以及需求有深入的理解
作用:决定了缺陷的优先级和严重程度
- 开发经理会以此为依据来决定修复该缺陷的优先级
- 产品经理会以此为依据来衡量缺陷的严重程度,并决定是否要等该缺陷被修复后才能发布产品
# 环境配置
描述测试环境的配置细节,为缺陷的重现提供必要的环境信息
例如:
- 操作系统的类型与版本
- 被测软件版本
- 浏览器的种类和版本
- 被测软件的配置信息
注意:环境配置的内容通常是按需描述,也就是说通常只描述那些重现缺陷的环境敏感信息。
# 前置条件
指测试步骤开始前系统应该处在的状态,其目的是减少缺陷重现步骤的描述。
例如:某个业务操作需要先完成用户登录。
前置条件:用户已完成登录。
# 缺陷重现步骤
缺陷重现步骤是整个缺陷报告中最核心的内容
目的:用简洁的语言向开发工程师展示缺陷重现的具体操作步骤
注意:操作步骤通常是从用户角度出发来描述的,每个步骤都应该是可操作并且是连贯的,所以往往会采用步骤列表的表现形式
避免的常见问题:
- 笼统的描述,缺乏可操作的具体步骤
- 出现与缺陷重现不相关的步骤
- 缺乏对测试数据的相关描述
# 期望结果和实际结果
期望结果:需要说明应该发生什么,而不是什么不应该发生。
实际结果:应该说明发生了什么,而不是什么没有发生。
# 优先级和严重程度
差异:
严重程度:指因缺陷引起的故障对软件产品的影响程度,是缺陷本身的属性,通常确定后就不再变化。
优先级:指缺陷必须被修复的紧急程度,是缺陷的工程属性,会随着项目进度、解决缺陷的成本等因素而变动。
两者之间关系:
- 缺陷越严重,优先级就越高;
- 缺陷影响的范围越大,优先级也会越高;
- 有些缺陷虽然从用户影响角度来说不算严重,但是会妨碍测试或者是自动化测试的执行,这类缺陷属于典型的严重程度低,但是优先级高;
- 有些缺陷虽然严重程度比较高,但是考虑到修复成本以及技术难度,也会出现优先级较低的情况。
# 变通方案
提供一种临时绕开当前缺陷而不影响产品功能的方式。
实施前提:
- 根原因分析
- 在发现缺陷的同时,定位出问题的根本原因,清楚地描述缺陷产生的原因。
- 变通方案的有无以及实施的难易程度,是决定缺陷优先级和严重程度的重要依据。
对优先级的影响:
- 如果某个严重的缺陷没有任何可行的变通方案,不管修复缺陷代价有多大,优先级一定会是最高的。
- 如果缺陷存在比较简单的变通方案,那么优先级就不一定会是最高的了。
# 附件
为缺陷的存在提供必要的证据支持。
常见的附件:
- 界面截图
- 测试用例日志
- 服务器端日志等
(完)