缺陷修复与验证跟踪的依据,是一条从提交到关闭都能核查的证据链:缺陷记录说明问题是什么、在哪里发生;修复说明交代改了什么、为什么这样改;验证记录证明修复在什么环境、用什么用例、由谁执行、结果如何;关闭判定则把上述材料与回归范围对应起来。缺少其中任何一环,关闭结论就只能依赖口头确认。本文按提交、修复、验证、关闭四个阶段梳理依据清单、操作步骤、角色交付物与闭环检查项,并说明这些记录可以如何在ONES中随工作项一并留痕。
要点总览(TL;DR)
- 缺陷修复与验证跟踪的依据是一条可追溯证据链,由缺陷记录、根因与修复说明、开发自检、验证用例与执行结果、回归范围说明、关闭判定记录六类材料组成。
- 执行上按提交、修复、验证、关闭四个阶段推进,每个阶段都要有明确的输入、动作、输出和完成标志,完成标志即进入下一阶段的门槛。
- 提交人、开发、验证人和质量角色各自承担对应交付物,交接时以接手人无需回头询问上一环节即可继续工作为完整性标准。
- 闭环判定以执行证据为准:验证记录须包含环境、用例、执行人与结果,缺少验证证据或修复说明不可核查时不得关闭。
- ONES可将缺陷作为工作项承载字段、修复说明、验证结果与关闭判定,使依据链随同一条记录留痕,具体字段与流程按团队现有缺陷流程配置。
一条缺陷从修复到关闭需要留下哪些依据
缺陷跟踪的依据可以按“问题是什么—改了什么—怎么证明改对了—凭什么关闭”四段组织。每一段都对应一组字段或记录,后一段引用前一段,形成可追溯链条。判断一条缺陷是否具备关闭条件,先看这四段依据是否齐全、彼此能否对应。
| 环节 | 依据项 | 关键内容 | 解决的问题 |
|---|---|---|---|
| 提交 | 缺陷记录 | 现象描述、复现步骤、环境与版本、严重程度、影响范围 | 让开发能定位问题,让后续验证能还原场景 |
| 修复 | 根因与修复说明 | 根因判断、改动范围、影响模块、关联需求或代码提交 | 说明改了什么、可能波及哪里,为回归范围提供输入 |
| 修复 | 开发自检记录 | 自检方式、自检环境、自检结果 | 证明提交验证前已做过基本确认,减少无效往返 |
| 验证 | 验证用例与执行结果 | 选取的用例、验证环境与版本、执行人、通过或不通过 | 用执行证据替代口头确认 |
| 验证 | 回归范围说明 | 受影响功能、关联缺陷、需要补测的范围 | 防止修复引入新问题而未被发现 |
| 关闭 | 判定记录 | 关闭、重开、延期或转派的条件与结论、判定人、时间 | 让状态变化有据可查,便于审计与复盘 |
这些依据之间存在明确的引用关系:验证用例应指向缺陷记录中的复现步骤与环境;修复说明中的改动范围决定回归范围;关闭结论必须引用验证执行结果。链条断裂通常表现为两种情形:验证记录找不到对应的修复说明,或关闭记录找不到对应的验证执行结果。出现任一种,都应视为依据不完整。
严重程度与影响范围是贯穿全链的分级依据。严重程度决定修复优先级和验证深度,影响范围决定回归覆盖面。两者在提交时给出初判,在修复和验证阶段可以修正,但修正需要留下理由,避免分级随流程推进被随意调低。
按阶段执行:提交、修复、验证、关闭的操作步骤
把依据清单落到执行,关键是每个阶段都明确输入、动作、输出和完成标志。完成标志是进入下一阶段的门槛,未达到就不应推进状态。
| 阶段 | 输入 | 动作 | 输出 | 完成标志 |
|---|---|---|---|---|
| 提交 | 测试或用户发现的问题现象 | 补全现象、复现步骤、环境与版本;给出严重程度与影响范围初判;确认可复现或标注复现条件 | 字段完整的缺陷记录 | 开发能按记录独立复现,或记录中已说明无法复现的条件 |
| 修复 | 缺陷记录、相关需求与代码 | 定位根因;填写修复说明与改动范围;完成开发自检;提交验证申请 | 根因说明、改动清单、自检记录 | 修复说明可核查,自检结果已记录,验证申请已提交 |
| 验证 | 修复说明、缺陷记录、验证环境 | 选取验证用例;准备与缺陷环境对应的验证环境;执行并记录结果与执行人 | 验证执行记录 | 用例、环境、执行人、结果四项齐全 |
| 关闭 | 验证执行记录、回归范围说明 | 核对依据完整性;记录关闭结论;补充回归范围说明;必要时转派或延期并写明条件 | 关闭判定记录 | 判定人确认依据齐全,结论与验证结果一致 |
提交阶段的门槛最容易被放松。现象描述只写“支付失败”、复现步骤缺失、环境版本不明,都会让修复阶段反复沟通。一个可操作的判断标准是:换一个未参与发现的开发人员,能否仅凭记录复现问题。不能复现时,记录中应写明已尝试的环境与条件,而不是留空。
修复阶段的重点是让改动可核查。修复说明应写清根因判断和改动范围,并关联对应的需求或代码提交,使验证人员知道该重点检查哪些功能。开发自检是提交验证前的必要动作,自检记录应包含自检方式和结果,便于验证人员判断是否需要扩大验证范围。
验证阶段以执行证据为准。验证人员根据缺陷记录还原场景,根据修复说明确定检查重点,选取覆盖修复点与受影响功能的用例。执行结果需要记录环境与版本,因为同一用例在不同版本上的结论可能不同。验证不通过时,缺陷回到修复阶段,重开记录中应写明不通过的具体表现和复现条件,再次验证时沿用同一组用例并补充新增场景。
关闭阶段做的是核对而非重复验证。判定人检查缺陷字段、修复说明、验证记录、回归范围是否齐全且相互对应,然后记录关闭结论。延期或转派同样需要写明条件和责任人,避免缺陷在状态流转中失去跟踪。
角色分工与各环节交付物
依据缺失往往源于责任不清:有人以为验证记录由开发填写,有人以为关闭由系统自动完成。把每项交付物对应到角色,并明确谁有判定权,可以减少这类空档。
| 角色 | 主要交付物 | 判定权责 |
|---|---|---|
| 提交人(测试人员或问题发现者) | 缺陷记录:现象、复现步骤、环境与版本、严重程度与影响范围初判 | 对问题描述的真实性与可复现性负责;配合补充信息 |
| 开发人员 | 根因说明、改动范围、关联需求或提交、开发自检记录 | 对修复说明的准确性负责;提交验证申请 |
| 验证人员 | 验证用例、验证环境、执行结果、执行人记录 | 对验证结论负责;判定通过或不通过 |
| 缺陷管理或质量角色 | 跟踪记录、抽查结论、关闭把关意见 | 核对依据完整性;对不符合条件的关闭提出阻断 |
跨角色交接时,信息完整性要求可以归纳为一条:接手人不需要回头询问上一环节,就能继续工作。开发接手时能复现问题,验证人员接手时知道改了什么、该测哪里,质量角色核对时能顺着记录找到每一环的执行证据。交接记录本身也应留在缺陷中,而不是散落在即时消息里。
在ONES中,缺陷可以作为工作项承载上述字段与状态流转,修复说明、验证结果和关闭判定以评论、附件或关联工作项的形式留在同一条记录下,提交人、开发、验证人和质量角色围绕同一对象协作。这样做的直接作用是:核对闭环时不必跨多个系统拼凑证据,工作项的历史记录本身就构成依据链。具体字段配置和流程设置可按团队现有缺陷流程调整。
示例:一个支付失败缺陷的依据链如何走完
以下为演示情景,用于说明依据链的填写方式,不代表真实项目数据。
提交阶段。测试人员在订单支付环节发现点击支付后页面提示失败,订单状态未更新。缺陷记录中写明:现象为支付提交后返回失败提示且订单停留在待支付;复现步骤为使用测试账号下单、选择余额支付、确认支付;环境为测试环境、指定版本号;严重程度为高,影响范围为余额支付主流程。记录中附有失败提示截图和对应订单号。
修复阶段。开发根据订单号查到支付回调处理逻辑中的一处判断条件写反,导致成功回调被当作失败处理。修复说明写明根因、改动范围为回调处理模块的一个判断分支,关联对应的需求单和代码提交,并注明影响模块为支付回调与订单状态更新。开发在本地环境完成自检,记录自检方式与结果后提交验证申请。
验证阶段。验证人员按缺陷记录还原场景,选取余额支付成功、支付超时、重复回调三条用例,在测试环境对应版本上执行。执行记录写明用例、环境、执行人和结果:三条均通过,订单状态正确更新,重复回调未产生重复扣款。
关闭阶段。质量角色核对缺陷字段、修复说明、验证记录齐全且相互对应,回归范围说明中列出受影响的支付回调与订单状态展示功能,并注明已由上述三条用例覆盖。判定人记录关闭结论与时间。若验证中发现支付超时场景仍异常,则重开缺陷,写明不通过表现,回到修复阶段,再次验证时沿用原用例并补充超时重试场景。
这个示例可迁移的规律有三点:缺陷记录中的订单号等唯一标识让修复定位有抓手;修复说明中的改动范围直接决定了验证用例和回归范围的选取;关闭结论引用的是执行记录,而不是“已修复”的状态标记。
完成检查:依据链是否闭环的核对项
关闭前逐项核对下表,可以把“看起来处理完了”与“依据链闭环”区分开。核对由验证人员和质量角色分别执行一次,结论记入缺陷记录。
| 核对项 | 通过标准 | 不通过时的处理 |
|---|---|---|
| 缺陷字段完整性 | 现象、复现步骤、环境与版本、严重程度、影响范围齐全 | 退回提交人补充 |
| 分级合理性 | 严重程度与影响范围匹配实际影响,调整有理由记录 | 由质量角色复核并记录调整依据 |
| 修复说明可核查 | 根因、改动范围、关联需求或提交明确 | 退回开发补充,暂不进入验证 |
| 验证记录完整 | 包含环境、用例、执行人与结果四项 | 补充执行记录后重新核对 |
| 回归范围有说明 | 列出受影响功能与关联缺陷,并说明覆盖情况 | 补充回归范围或补测后记录 |
| 关闭或重开有判定依据 | 结论引用验证执行结果,判定人与时间明确 | 由判定人重新核对后记录 |
以下情形构成阻断项,出现任一项都不得关闭缺陷:缺少验证执行记录,或记录中没有环境与执行人;修复说明无法对应到具体改动范围;验证结论与缺陷记录中的复现场景不一致且无说明;回归范围缺失且受影响功能未做任何检查。阻断项应由质量角色在关闭前拦截,并在缺陷中写明阻断原因与待补内容。
当上述核对项全部通过、阻断项均不存在时,缺陷的依据链即达到可关闭、可审计的状态。此后如需复盘或应对审计,顺着缺陷记录中的关联关系即可还原从问题发现到验证通过的完整过程。
常见问题
缺陷在验证阶段不通过,重开时需要补哪些记录?
重开记录应写明不通过的具体表现和复现条件,包括在哪个环境、用哪条用例、执行结果与预期差在哪里,并附上必要的日志或截图。再次验证时沿用同一组用例,同时补充本次暴露出的新增场景。重开不是简单把状态改回修复阶段,而是把新的执行证据带回修复环节,让开发知道上一轮修复遗漏了什么。
缺陷提交时无法稳定复现,还能进入修复阶段吗?
可以,但记录中要写明已尝试的环境、操作步骤和出现频率,不能留空。无法复现的缺陷同样需要现象描述、环境版本和影响范围,开发可据此判断是否需要补充日志或增加埋点。若长期无法复现,应在缺陷中记录排查结论和后续观察计划,而不是直接关闭了事。
严重程度在修复过程中被调低,需要留下什么依据?
严重程度和影响范围的调整需要记录理由和调整人。常见情形是提交时按表象判为高,修复定位后发现影响范围有限。调整依据应说明实际影响的功能、用户范围和触发条件,由质量角色复核后记录。缺少理由的分级下调会让验证深度和回归范围随之缩水,是依据链中较隐蔽的断裂点。
回归范围说明写到什么程度算够用?
回归范围说明应列出受修复影响的模块与功能、关联的缺陷或需求,并说明这些范围由哪些用例覆盖、执行结果如何。它不需要覆盖全部功能,但要让核对人看出改动波及的地方都已被检查过。若受影响功能未做任何检查,回归范围说明就构成关闭的阻断项。
质量角色在关闭环节的核对与验证人员的结论是什么关系?
验证人员对单条缺陷的验证结论负责,判定通过或不通过;质量角色做的是依据完整性核对,检查缺陷字段、修复说明、验证记录、回归范围是否齐全且相互对应,并对不符合条件的关闭提出阻断。两者是互补关系:验证结论解决“改对了没有”,关闭核对解决“证据够不够、能不能审计”。
