“这个 bug 修了没?”“怎么又开了?”“谁负责回归?”——缺陷管理的混乱不靠"更勤快地催"解决,靠把流转规则写成机制。这篇讲把缺陷管理从"人盯人"升级成"系统盯"的四个工程化动作。
一、缺陷字段标准化:信息不足是流转卡死的头号原因
大量"来回踢皮球"的缺陷,根因是提单信息不够,研发没法定位:
1 | # 缺陷单必填字段(平台强制,缺了提交不了) |
两个关键设计:
- 证据从测试报告一键带入:自动化发现的缺陷,环境指纹、截图、请求响应自动生成到单里——"人工补证据"是信息缺失的主因,能自动就别手填;
- 偶现缺陷必须写"复现增强条件":"约 30%“不够,要写"弱网下必现”/“连点 5 次必现”——没有复现路径的偶现缺陷进缺陷池观察,不占修复队列(避免研发在 30% 概率上打转)。
二、状态机 + SLA:流转规则写进系统
1. 标准状态机(不许跳态)
1 | 新建 → 已确认 → 修复中 → 待验证 → 已关闭 |
规则要点:
- "拒绝"必须有理由和依据(需求截图/代码引用),且测试可申诉——防止"不是 bug"成为万能挡箭牌;
- 重新打开自动计数,同一缺陷重开 2 次 → 升级(模块 owner + 测试 owner 介入)——反复重开的缺陷说明第一次"修复"是敷衍;
- 跳态告警:从"新建"直接到"已关闭"(没修就关)系统直接拦下。
2. SLA 按严重度分级,超时自动升级
1 | P0(资金/数据/不可用):4h 响应,24h 修复,超时 → 升级技术负责人 |
SLA 的价值不在惩罚,在"可见":超期榜一挂,"谁手里压着 P1"全队都看得到,比催十次有效。
三、缺陷数据回流:让测试策略变聪明
缺陷数据是测试团队最被浪费的资产——修完就沉底了。三个回流动作:
1. 缺陷 → 用例(防复发)
每个 P0/P1 缺陷关闭时强制关联回归用例(新写或标记既有用例):
1 | 缺陷 #4821(支付超时状态错乱)关闭时: |
三个月后回看:线上同类问题复发率 = "缺陷-用例"链条完整度的直接度量。
2. 缺陷密度 → 风险评级
模块缺陷密度(每千行/每需求点)喂给用例设计的风险模型(见《用例设计方法论》):
1 | 近 6 个月缺陷密度 Top 5 模块: |
风险评级从"拍脑袋"变成"历史数据驱动",且每季度自动重算。
3. 缺陷归因 → 流程改进
每月缺陷归因分析(五问:为什么发生/为什么没测出/为什么没拦住/怎么防复发/防复发措施落地没):
1 | 本月 42 个缺陷归因: |
归因分析的终点不是报告,是"措施落地"列——防复发措施不落地,下个月归因结果不变,分析就是表演。
四、看板:三个必须看的数字
缺陷看板别堆 20 个指标,只看三个:
| 指标 | 健康线 | 异常动作 |
|---|---|---|
| 超期 P0/P1 数 | 0 | >0 立即升级(这是发版门禁的一部分) |
| 重开率(重开/关闭) | <5% | 超了 → 修复质量/验证流程问题 |
| 缺陷-用例关联率(P0P1) | 100% | 没到 → 链条断裂,复发风险累积 |
五、小结
缺陷管理工程化四个动作:字段标准化(证据自动带入,偶现必须有复现路径)、状态机 + SLA(跳态拦截、超时自动升级、超期榜可见)、数据回流(缺陷→用例防复发、缺陷密度→风险评级、归因→流程改进)、三数看板(超期/重开/关联率)。核心转变:缺陷流转的驱动力从"人盯人"变成"系统盯"——人只处理例外,系统处理流程。