缺陷根因复核需要哪些依据:证据清单与复核步骤

缺陷根因复核要回答的是“这个根因结论能不能站得住”,依据由四类材料构成:缺陷本身的客观记录、根因分析过程的产物、修复后的验证证据,以及评审与预防措施的过程责任信息。复核以这些材料能否相互印证为准,结论需写明根因类别、证据链摘要和预防措施,并由独立于原分析人的角色确认。



要点总览(TL;DR)


  • 缺陷根因复核的依据分四类:缺陷客观记录、根因分析过程产物、修复验证证据、过程与责任信息,复核以材料能否相互印证为准。
  • 复核围绕三个判断取证:根因是否成立、证据是否充分、预防措施是否可执行,按判断逐项核对比通读全部材料更高效。
  • 复核按提交复核包、核对证据链、提出补充要求、结论确认四步推进,每步有输入、动作、输出与完成标志。
  • 复核人应独立于原分析人,结论需写明根因类别、证据链摘要和预防措施负责人及期限。
  • 证据链断裂或结论与证据矛盾时不予通过,先补齐材料再重新核对;同类缺陷需回溯确认是否存在相同根因。


复核前先明确:依据要支撑哪三个判断


收集依据之前先确定复核要下什么判断,材料才不会堆成档案。一次缺陷根因复核通常只回答三个问题:根因是否成立、证据是否充分、预防措施是否可执行。三项判断各有对应的依据类型,复核人按判断逐项取证,比通读全部材料更高效。


判断项 所需依据 判定标准
根因是否成立 缺陷客观记录、分析过程产物(假设与排除证据、定位到的变更点) 根因能解释缺陷的全部可观察现象;被排除的假设有对应证据;根因与定位到的代码、配置或流程变更点对得上
证据是否充分 复现步骤、环境与版本、日志截图、修复后的复现验证与回归结论 关键结论至少有两类独立材料支撑;复现与验证在同一环境下可重复;回归范围覆盖受影响功能
预防措施是否可执行 预防措施描述、负责人、期限、跟踪记录 措施指向根因而非表面现象;有明确负责人和完成期限;能在现有流程中落地并验证效果

复核范围限定在单个或一组同类缺陷的根因结论上。跨团队质量指标体系的设计与度量、服务事件根因分析与问题管理流程属于另外的主题,不在本文展开;涉及这些内容时,应转入对应的管理流程处理。



缺陷根因复核的证据清单与字段


下表按四类依据列出字段、合格标准和提供人,可直接作为复核包的对照清单。字段不必全部填满,但凡支撑结论的字段必须可查、可追溯。


依据类别 字段 合格标准 提供人
缺陷客观记录 复现步骤、环境与版本、日志与截图、影响范围、发现阶段 步骤可被他人按序复现;环境与版本精确到构建号;日志与截图对应缺陷发生时刻;影响范围写明受影响的用户、功能或数据;发现阶段注明是开发自测、测试执行还是线上反馈 缺陷提交人、测试
根因分析过程 分析方法、假设列表、排除证据、定位到的代码/配置/流程变更点 每个假设都有“成立/排除”的结论和依据;排除证据指向具体日志、代码行、配置差异或提交记录;变更点能关联到版本或提交 分析人、开发
验证证据 修复内容、复现验证结果、回归范围与结论 修复内容说明改了什么、为什么这样改;复现验证在原环境下执行并记录结果;回归范围列出覆盖的关联功能,结论写明通过项与遗留风险 开发、测试
过程与责任信息 分析人、评审人、结论确认时间、预防措施负责人与期限 评审人独立于原分析人;确认时间可查;每项预防措施有唯一负责人和完成期限,并留有跟踪记录 分析人、复核人、质量或过程负责人

判断证据是否充分,看的是印证关系而非材料数量。例如根因结论指向某次配置变更,就应有变更记录、变更前后的日志差异和复现验证三方面材料相互对应;只有分析人的文字描述,属于单点陈述,不足以支撑结论。



复核怎么走:从提交到结论确认的操作步骤


复核按四个步骤推进,每步都有明确的输入、动作、输出和完成标志,避免复核停在“看过了”的层面。


步骤 输入 动作 输出 完成标志
一、提交复核包 按证据清单整理的四类材料 分析人对照清单自查后提交;复核人先做完整性检查,缺项列明并退回补充,缺项不影响结论成立的可在复核记录中标注 复核包与缺项清单 必备材料齐全,或缺失项已登记并说明处理方式
二、核对证据链 复核包 独立复核人逐项核对:根因能否解释全部现象;每个被排除的假设是否有排除证据;变更点与缺陷现象是否对应;验证结果是否在原环境下取得 证据链核对记录 三个判断均有明确结论,存疑项已列出
三、提出补充要求 核对记录中的存疑项 对证据不足项写明需要补什么、由谁补、何时补;补充材料回来后重新核对对应项 补充要求清单及回填记录 存疑项全部关闭或转为明确的遗留风险
四、结论确认 核对完成的证据链 复核人确认结论,写明根因类别、证据链摘要、预防措施及负责人期限;与原分析人意见不一致时记录分歧点 复核结论记录 结论经复核人签署,预防措施进入跟踪

复核包和结论记录需要与缺陷本身放在同一处可查的位置,否则后续回溯时依据容易散落在聊天记录和个人文档里。使用 ONES Project 时,缺陷可作为工作项记录状态与修复过程,支持一键提交 Bug 至对应项目或迭代并跟踪修复情况;分析结论和复核记录可借助 ONES Wiki 的文档关联任务能力与缺陷工作项对应,使证据链在同一个工作项体系内可追溯。具体字段与流程配置需按团队实际情况设置。



角色分工与各角色交付物


复核流于形式,常见原因是角色重叠:分析人自己确认自己的结论,或没有人对预防措施负责。下表按角色列出交付物和交接时点。


角色 交付物 交接时点
缺陷提交人/测试 复现步骤、环境与版本、日志截图、影响范围;修复后的复现验证与回归结论 提交缺陷时提供第一组材料;修复完成后提供验证材料
分析人/开发 根因分析记录、假设与排除证据、定位到的变更点、修复内容说明 提交复核包时一次性交付
复核人 证据链核对记录、补充要求清单、复核结论 收到复核包后启动核对;补充材料回填后出具结论
质量或过程负责人 预防措施的跟踪记录与关闭确认 结论确认后接手跟踪,按期限核对完成情况

复核人应独立于原分析人,可以由同团队其他开发、测试负责人或质量角色担任,关键是未参与该缺陷的根因分析。测试环节产生的缺陷,ONES TestCase 支持由未通过的用例快速创建缺陷任务并在测试与研发团队间流转,使提交与验证材料随缺陷一起流转;其测试报告与缺陷分布统计可用于回溯同类问题,具体报表口径需按团队配置。



一个复核示例:从证据缺失到结论确认


以下为演示情景,用于说明证据如何相互印证以及缺口如何处置。


某版本上线后,部分用户提交订单时出现重复扣款提示。缺陷记录包含复现步骤、发生时间段的日志和受影响用户范围,发现阶段为线上反馈。分析人初步结论是“支付回调接口超时导致重复处理”,并提交了修复代码。


复核人核对时发现两处缺口:一是分析记录只写了结论,没有列出被排除的其他假设,例如前端重复提交、消息队列重投;二是回归范围只写了“支付相关功能”,未说明是否覆盖退款与对账。复核人据此提出补充要求:补充消息队列重投记录的排查证据,明确回归覆盖的功能清单。


补充材料显示,消息队列在该时间段确有重投,但重投记录与重复扣款的时间点不吻合,该假设被排除;回调接口超时日志与扣款时间点一一对应,根因成立。回归范围补充为支付、退款、对账三项并全部通过。最终结论写明根因类别为接口超时下的幂等处理缺失,证据链摘要引用日志时间对应关系与排除记录,预防措施为补充幂等校验并增加超时告警,负责人与期限明确,由质量负责人跟踪关闭。


这个示例的可迁移规律是:复核的价值主要体现在发现“结论之外缺了什么”,补充证据的过程往往同时修正了预防措施的指向。



复核完成检查与常见失效点


结论确认前,按下表逐项检查。任一项不满足即视为未完成,需回到对应步骤处理。


  • 四类依据齐全,缺失项已登记并说明是否影响结论;
  • 根因结论有证据链支撑,每个被排除的假设都有排除证据;
  • 修复验证在原环境下完成,回归范围明确且结论可查;
  • 预防措施有唯一负责人和完成期限,并已进入跟踪;
  • 复核人独立于原分析人,结论确认时间可查;
  • 同类缺陷已做回溯,确认是否存在相同根因的其他记录。

常见失效点集中在三处:只确认结论不查证据,复核记录里只有“同意”二字;预防措施停留在口头约定,没有负责人和期限;同类缺陷未回溯,同一根因在其他模块重复出现。出现证据链断裂,或结论与证据相互矛盾时,属于阻断项,不予通过,应先提出补充要求并记录缺口,待材料补齐后重新核对。



常见问题


复核人由谁担任比较合适?


复核人应独立于该缺陷的原分析人,可以由同团队其他开发、测试负责人或质量角色担任,关键是未参与本次根因分析。若团队规模较小、难以找到完全独立的人选,可请相邻模块的开发或测试负责人交叉复核,并在复核记录中注明关系,避免分析人自证结论。


复核包提交时材料不全,是退回还是先受理?


按缺项是否影响结论成立区分处理:影响根因判断或证据链完整性的缺项,退回补充后再受理;不影响结论成立的辅助材料缺失,可在复核记录中登记并说明处理方式,继续核对。无论哪种情况,缺项都要留痕,避免后续回溯时说不清当时依据了什么。


复核结论与原分析人意见不一致时怎么办?


在结论记录中写明分歧点,并列出双方各自依据的证据。复核人按证据链核对结果给出结论;若分歧源于证据不足,先提出补充要求,材料补齐后重新核对。分歧记录本身也是后续回溯和预防措施调整的依据,不宜在结论中隐去。


预防措施确认后由谁跟踪、跟踪到什么程度算关闭?


预防措施在结论确认时即指定唯一负责人和完成期限,由质量或过程负责人接手跟踪。关闭条件通常是措施已落地并有可查的验证结果,例如新增的校验已上线、告警已配置并触发过一次。仅有口头承诺或计划排期,不能视为关闭。


同类缺陷回溯要做到什么范围?


至少回溯同一根因类别下已关闭和未关闭的缺陷记录,确认是否存在相同根因的其他实例。回溯范围可结合缺陷分布统计确定,例如按模块或发现阶段筛选。发现相同根因的,并入同一预防措施跟踪,避免同一问题在不同模块重复修复。