缺陷重复发生率衡量统计期内新增缺陷中,被判定为重复的缺陷所占比例,常用公式为“重复缺陷数 ÷ 统计期内新增缺陷总数 × 100%”。这个数字能否在不同月份、不同团队之间比较,取决于重复判定标准、取数字段和时间窗是否事先统一。下面按定义、取数、计算、算例和解读五个环节展开,给出可以直接复算的口径。
要点总览(TL;DR)
- 缺陷重复发生率的常用公式是“重复缺陷数 ÷ 统计期内新增缺陷总数 × 100%”,分子分母必须使用同一时间窗和同一缺陷类型范围。
- 分母按创建时间筛选窗口内新建的有效缺陷单,分子按书面化的重复判定标准识别,误报撤销的重复标记和未查重的跨系统导入条目需单独处理。
- 分母为零时报告“本期无新增缺陷”,不计算比率;按模块拆分前先约定分母归属规则,否则局部与整体不可比。
- 比率高低受提交规范、缺陷单粒度和合并习惯影响,适合定位重复提交集中的模块,宜与缺陷密度、重开率结合解读,不宜直接作为绩效指标。
这个指标要回答什么管理问题
缺陷重复发生率服务于缺陷记录环节的改进决策:哪些模块的缺陷被反复提交,提交前是否缺少查重动作,根因分析是否停留在单条缺陷而没覆盖同类问题。它帮助团队把“重复提交”从个人疏忽转化为流程问题,进而调整提交模板、查重步骤和根因归类方式。
指标的边界需要先说清楚。它只覆盖缺陷从提交到归并这一段,反映的是记录质量和归并习惯,不衡量产品整体质量水平,也不能替代缺陷密度、遗留缺陷数、重开率等指标。一个团队重复率低,可能因为提交规范执行得好,也可能因为缺陷单粒度过粗、相似问题被合并进同一张单,这两种情况的管理含义完全不同。
使用这个指标有一个前提:缺陷单上存在可追溯的关联关系或根因字段。如果缺陷系统只能记录标题和描述,没有“关联缺陷”“重复标记”“根因分类”这类结构化信息,重复判定就只能靠人工逐条比对,成本和一致性都难以保证。团队在启用指标前,应先确认这些字段是否存在、由谁填写、何时填写。
分子分母怎么定:重复缺陷的判定与统计范围
分母取统计时间窗内新建的缺陷单数量。这里要明确按创建时间还是按发现时间取数:按创建时间统计,口径稳定、易复算,适合月度或迭代复盘;按发现时间统计,能反映缺陷实际暴露的时点,但发现时间往往依赖人工填写,缺失和回填会带来偏差。多数团队按创建时间取数,并在报表中注明。
分子取上述缺陷单中被判定为重复的条目数。判定依据通常有四类:提交时关联了已有缺陷、评审时被标记为重复、被合并进另一张缺陷单并留有合并记录、根因分类字段与已有缺陷相同。四类依据的严格程度不同,团队需要选定一种为主口径,其余作为补充说明,避免同一张单在不同依据下被重复计数或漏计。
重复判定标准应书面化,核心是回答“什么算同一个问题”。常见取舍如下:
| 判定维度 | 判定为重复的条件 | 不计为重复的情况 |
|---|---|---|
| 根因 | 根因分类与已有缺陷一致,且修复方案相同 | 现象相似但根因不同,需分别修复 |
| 现象 | 复现步骤、报错信息、影响范围一致 | 同一功能下不同操作路径引发的不同异常 |
| 模块 | 同模块同版本,且已被确认是同一缺陷 | 同模块但版本不同、需分别验证的问题 |
排除项也要写进口径。误报后被撤销的重复标记,应从分子中剔除,否则分子虚高;跨系统导入的重复条目,如果导入时未做查重,建议单独统计并在报表中注明,不与本系统内提交的缺陷混算。排除规则一旦确定,应在统计周期内保持一致,中途调整需在报表中说明。
数据从哪里取、口径如何对齐
数据来源是缺陷管理系统中的缺陷单、状态变更记录、关联关系和合并日志。取数时需要以下字段:创建时间用于划定时间窗;状态用于排除已撤销或无效的缺陷单;重复标记或关联缺陷 ID 用于识别分子;根因分类用于按同根因口径复核;合并日志用于还原被合并条目的归属。
口径对齐集中在三件事上。第一,时间窗统一,分子和分母使用同一个起止时间,按自然月或按迭代均可,但同一份报表内不混用。第二,缺陷类型范围统一,明确是否包含需求变更类、配置类、环境类条目,类型范围变化时应在报表中注明,否则相邻两个周期的比率不可直接比较。第三,状态口径统一,明确已关闭、已撤销、待确认的缺陷单是否计入分母,通常只统计有效提交的缺陷单。
缺失值需要提前设计替代方案。如果系统没有独立的重复标记字段,可以用关联缺陷 ID 是否存在来近似取数,局限是只能覆盖提交时主动关联的条目,评审阶段才判定重复的缺陷会漏计;也可以用根因分类相同的缺陷组来估算,局限是根因填写率低时误差较大。替代口径应在报表中标注,并与主口径的结果做一次对照,确认偏差方向后再决定是否长期使用。
在缺陷记录环节,ONES Project 提供缺陷跟踪管理,支持将 Bug 提交至对应项目或迭代并记录修复情况,并可统计缺陷状态分布;ONES TestCase 支持未通过用例快速创建缺陷任务,使缺陷在测试与研发团队之间流转。团队可以在这类缺陷单流转的基础上,约定关联已有缺陷、填写根因分类的动作,为重复判定积累可追溯的记录。具体字段是否满足上述取数要求,需结合团队实际配置确认。
计算步骤与公式
公式为:缺陷重复发生率 = 重复缺陷数 ÷ 统计期内新增缺陷总数 × 100%,结果以百分比表示,保留一位或两位小数,同一份报表内小数位保持一致。
可复算的操作步骤如下:
- 确定统计时间窗,例如某自然月或某个迭代周期,记录起止日期。
- 按创建时间筛选窗口内新建的缺陷单,剔除已撤销和无效条目,得到分母。
- 在分母范围内,按选定的判定依据识别重复缺陷单,剔除被撤销的重复标记,得到分子。
- 用分子除以分母,乘以 100%,记录结果和取数日期。
- 如需按模块或团队拆分,先约定分母归属规则,再分别计算。
分母为零时,报告“本期无新增缺陷”,不计算比率。此时写 0% 会让人误以为没有重复问题,写无穷大则无法进入报表,两种处理都会失真。分母为零通常出现在新项目启动初期或长维护期的个别模块,属于正常情况,注明即可。
按模块或团队拆分时,分母归属规则要先定。一张缺陷单只归属一个模块时,按缺陷单上的模块字段归属;跨模块缺陷按主要影响模块归属,或按约定的主责团队归属。归属规则不统一,局部比率相加不会等于整体比率,横向比较也失去意义。
一个可复算的算例
以下为演示情景,数字为假设,仅用于说明取数与计算过程。
某团队统计某月缺陷情况:当月按创建时间新建缺陷单 120 条,剔除已撤销条目后分母为 120。按“关联已有缺陷或评审标记重复”的判定依据,识别出重复缺陷 18 条,其中 1 条重复标记后被撤销,已剔除。计算过程为 18 ÷ 120 × 100% = 15%,即该月缺陷重复发生率为 15%。
按模块拆分时,某模块当月新增缺陷 40 条,其中重复 10 条,模块重复率为 10 ÷ 40 × 100% = 25%。整体 15% 与局部 25% 的差异说明重复提交集中在该模块,复盘时应优先查看该模块的提交记录和查重动作,而不是把整体比率当作均匀分布。
如果当月缺陷类型范围发生变化,例如把配置类问题也纳入统计,而此前月份未纳入,则 15% 与上月比率不可直接比较。处理方式有两种:按新范围重算上月数据,或在报表中注明范围变化并暂停环比。两种方式都需要在报表中留下说明,供后续复算时对照。
结果怎么解读、有哪些限制
比率高低首先反映提交规范和归并习惯,不能直接等同于团队质量。提交前查重执行得严,重复率会下降;缺陷单粒度过粗,相似问题被合并进一张单,重复率也会下降,但后者可能掩盖了真实的问题数量。解读时应结合缺陷单的平均描述完整度、关联字段填写率一起看,判断比率变化来自流程改进还是记录方式变化。
这个指标的合理用法是定位问题,而非下结论。重复提交集中的模块,往往提示该模块的回归测试覆盖不足、报错信息不清晰或提交模板缺少查重提示。团队可以据此调整提交前的查重步骤、在缺陷模板中增加关联已有缺陷的必填项,或对高频重复模块补充根因分析。
单一比率不能作为因果保证,也不宜直接作为全员绩效指标。把重复率与个人挂钩,容易导致提交时刻意不关联、不标记重复,反而破坏数据质量。更稳妥的做法是将它作为团队级的过程观察指标,与缺陷密度、重开率结合解读:重复率高且重开率也高,说明记录和修复两个环节都需要检查;重复率低但缺陷密度上升,则要确认是否因合并过度而少记了问题。
指标的限制还包括:判定标准依赖人工判断,不同评审人之间可能存在差异;跨系统导入和历史数据迁移会带来口径断层;时间窗过短时样本量小,比率波动大。使用时应固定口径、保留取数记录,并在口径调整时同步更新历史数据的说明,保证结果可复算、可比较。
常见问题
缺陷重复发生率按月统计还是按迭代统计更合适?
两种都可以,关键是同一份报表内不混用。按月统计时间窗固定、便于跨月对比,适合管理复盘;按迭代统计更贴近交付节奏,适合团队在迭代回顾中定位重复提交集中的模块。无论选哪种,分子和分母都使用同一个起止时间,并在报表中记录取数日期,方便后续复算。
缺陷系统里没有“重复”标记字段,还能算这个指标吗?
可以用替代口径近似取数,但要注明局限。常见做法是用“关联缺陷 ID 是否存在”来识别,只能覆盖提交时主动关联的条目,评审阶段才判定重复的缺陷会漏计;也可以用根因分类相同的缺陷组估算,根因填写率低时误差较大。替代口径应与主口径做一次对照,确认偏差方向后再决定是否长期使用。
同一张缺陷单被合并后又重新打开,应该怎么计数?
以统计时点的最终状态为准,并在口径中写明。如果该缺陷单在统计窗口内被合并进另一张单且合并记录保留,按重复计入分子;如果合并被撤销、缺陷单恢复为独立有效缺陷,则不计为重复,仍留在分母中。规则确定后应在整个统计周期内保持一致,中途调整需在报表中说明。
重复率突然下降,是否说明提交质量变好了?
需要先排除记录方式变化。缺陷单粒度变粗、相似问题被合并进同一张单,也会让重复率下降,但可能掩盖真实的问题数量。建议同时查看缺陷密度、缺陷单平均描述完整度和关联字段填写率:如果重复率下降而缺陷密度上升,要确认是否因合并过度而少记了问题;如果各项指标同步改善,才更可能反映提交规范的落实。
这个指标可以直接用于考核提交缺陷的测试人员吗?
不建议直接与个人绩效挂钩。提交者为了降低比率,可能刻意不关联、不标记重复,反而破坏数据质量。更稳妥的做法是把它作为团队级的过程观察指标,用于发现重复提交集中的模块和环节,再通过提交前查重、模板增加关联必填项、补充根因分析等方式改进流程。
