如何衡量缺陷严重程度标准执行的一致性

衡量缺陷严重程度标准执行的一致性,核心是看同一类缺陷在不同人、不同时间、不同模块下是否被判成同一等级。做法是先固定分级定义和判定字段,再用双人独立评级一致率、加权Kappa、跨模块等级分布偏差、复评变更率等指标量化,配合抽样复核和分歧案例复盘验证。这些指标反映判定口径的稳定程度,分级本身是否合理还需结合漏判、误判和业务影响另行判断。



要点总览(TL;DR)


  • 衡量缺陷严重程度标准执行的一致性,核心是看同一类缺陷在不同人、不同时间、不同模块下是否被判成同一等级,评估对象限定在严重程度等级本身。
  • 主指标用双人独立评级一致率和加权Kappa,辅助指标用复评变更率和跨模块等级分布偏差;一致率以完成双评的缺陷数为分母,复评变更率以发生复评的缺陷数为分母。
  • 取数前固定缺陷标识、模块、提交时间、评级人、严重程度等级、评级时间、是否复评七个字段,并明确多次评级配对、缺失评级和批量修改的处理口径,结果才能复算。
  • 执行按分层抽样、独立评级、计算指标、分歧归因、形成报告五步推进;分歧归因区分定义模糊、信息不足和个人判断偏差,作为修订定义和培训的输入。
  • 一致率高不代表分级标准有效,样本量小或等级分布偏斜时Kappa不稳定;不设通用达标线,指标结果用于定位定义模糊点,不宜直接用于个人绩效排名。


评估目标:一致性要回答哪几个问题


一致性评估的对象是缺陷严重程度判定的口径稳定性,也就是评级动作本身是否可重复。它回答三个可检验的问题:同一缺陷交给不同评级人,是否得到同一等级;同一团队在不同时间段,对同类缺陷的判定是否稳定;不同模块之间的等级分布是否可比,还是各自形成了一套隐含标准。把这三个问题拆开,才能分别设计抽样和指标,避免用一句“大家判得差不多”代替验证。


需要区分分级一致性与分级有效性。一致性高,说明评级人对现有定义的理解趋同;它不能证明等级划分合理。一套把“界面文案错误”和“支付失败”都定为“一般”的标准,也可能被判得很一致,但这样的分级对修复排序没有帮助。因此评估报告应把一致性结果与漏判、误判、业务影响分开陈述,前者回答“判得稳不稳”,后者回答“判得对不对”。


评估边界限定在严重程度等级本身。缺陷处理归属、分诊排队顺序、工单紧急度与SLA响应时限属于另外的管理动作,不纳入一致性指标。若团队把严重程度与优先级混用,应先拆开两个字段再评估,否则指标会把两种判断的偏差混在一起,难以定位问题。


可用的评估问题清单如下,每项都对应后续章节的取数或计算动作:


  • 同一缺陷由两名评级人独立判定时,等级相同的比例是多少,相邻等级差异占多少?
  • 扣除随机一致的影响后,评级结果的一致性水平如何,是否随样本量变化而剧烈波动?
  • 复评后等级发生变更的缺陷占比多少,变更集中在哪些等级和模块?
  • 各模块的等级分布是否偏离整体分布,偏离是否可用缺陷类型构成解释?
  • 分歧案例中,有多少源于定义模糊、信息不足,有多少属于个人判断偏差?


指标与范围:选哪些指标、覆盖哪些缺陷


指标选择要覆盖“人对人”“时间对时间”“模块对模块”三个比较方向,并接受每个指标都有局限。建议以双人独立评级一致率和加权Kappa为主指标,复评变更率和跨模块等级分布偏差为辅助指标。主指标回答判定是否可重复,辅助指标回答稳定性是否随时间漂移、是否存在模块间的口径差异。


指标 回答的问题 计算要点 适用场景与局限
双人独立评级一致率 两人判为同一等级的比例 等级完全相同的缺陷数 ÷ 完成双评的缺陷数 直观、易沟通;等级分布高度集中时会虚高,无法区分“真一致”与“碰巧一致”
加权Kappa 扣除随机一致后的一致性水平 按等级距离赋权,计算观察一致与期望一致的差值比例 适合有序等级;样本量小或等级高度偏斜时数值不稳定,需附置信区间或样本说明
复评变更率 评级结果随复评发生改变的比例 复评后等级变更的缺陷数 ÷ 发生复评的缺陷数 反映时间维度稳定性;复评样本往往不是随机抽取,变更率偏高或偏低都需说明抽样方式
跨模块等级分布偏差 各模块等级构成是否可比 各模块各等级占比与整体占比的差异,可用最大偏差或分布距离衡量 用于发现模块口径差异;缺陷类型构成不同的模块,偏差可能来自业务本身而非评级偏差

评估范围需要事先写清。时间窗建议覆盖一个完整的版本周期或连续若干周,避免只取发布前集中提缺陷的时段。缺陷来源按测试阶段、线上反馈、自动化发现等分类纳入,来源不同会影响信息完整度,进而影响评级。模块按业务域或系统分层抽样,保证每个主要模块都有足够样本。样本量方面,双评样本过少时Kappa波动明显,可先按模块各抽一批,合并后再看整体;具体数量结合团队缺陷量确定,并在报告中注明。


分母与单位必须统一。一致率与Kappa以完成双评的缺陷数为分母;复评变更率以发生复评的缺陷数为分母;跨模块偏差以各模块已评级缺陷数为分母。缺失评级的缺陷不计入分子,但要在报告中单列数量,避免分母被悄悄缩小。若某模块双评样本为零,该模块不参与一致性计算,只做分布描述。



数据口径与证据:评级记录怎么取、怎么对齐


结果要能复算,取数字段和对齐规则必须先固定。每条缺陷至少保留缺陷标识、所属模块、提交时间、评级人、严重程度等级、评级时间、是否复评七个字段;有条件的再记录评级依据摘要或关联的复现信息。字段定义写进评估说明,后续换人计算也能得到同一结果。


字段 用途 口径说明
缺陷标识 唯一键,用于配对多次评级 以系统内缺陷编号为准,合并或拆分缺陷需单独标注
所属模块 分层抽样与跨模块偏差计算 取评级时点的模块归属,后续转模块不追溯修改
提交时间 确定时间窗与版本归属 以缺陷创建时间为准
评级人 双评配对与分歧归因 记录实际做出等级判定的人,代填需注明
严重程度等级 一致性计算的核心变量 使用评估期生效的等级定义,等级顺序需固定
评级时间 区分初评与复评、判断时间稳定性 精确到日即可满足多数分析
是否复评 复评变更率的分母 以是否发生第二次独立判定为准,批量修订单独标记

对齐规则要处理同一缺陷的多次评级。双评场景下,取两名评级人在互不参照条件下给出的首次等级,配对成一条记录;若其中一人评级晚于对方结果可见,该条不计入双评样本。复评场景下,初评与复评按时间顺序配对,只比较同一缺陷相邻两次判定,不把多次修改串成一条链。等级被批量修改的缺陷,若无法确认修改人是否独立判断,应从一致性样本中剔除并单独统计数量。


缺失值与异常值按统一口径处理:无评级的缺陷不计入分母,单列数量;评级人缺失的记录无法用于双评配对,转入描述性统计;等级值不在当期定义范围内的记录,回溯确认是字段配置问题还是误填,修正前不参与计算。证据留存包括评级页面截图或导出记录、评审会议纪要、分歧案例的简要说明。分歧案例记录应写明缺陷内容、两人所判等级、各自依据,便于后续归因和培训使用。


在工具承载上,缺陷记录、评级信息和复评过程需要有稳定的存放位置。ONES 测试管理支持未通过的用例快速创建缺陷任务,缺陷任务在测试与研发团队间流转,并提供项目缺陷分布统计与可组装的测试报告模板,可作为取数和复核的载体;评级字段的具体配置与报表维度以实际环境为准。



计算与评估步骤:从抽样到出数


执行过程按五步推进,每一步都留下可复核的产物,最终形成一份能被人重算的评估报告。


步骤一:分层抽样并确定双评方案。按模块和缺陷来源分层,从评估时间窗内的已评级缺陷中抽取样本。样本量结合缺陷总量和模块数量确定,保证主要模块都有覆盖。双评方案明确由谁评、评哪些缺陷、两人是否可见对方结果;多人评场景下,两两配对计算,再汇总。


步骤二:评级人独立评级。评级人只依据缺陷描述、复现信息和当期分级定义判定等级,不参考原评级结果,不互相讨论。评级前统一发放等级定义和判定示例,减少因定义理解不同造成的系统性偏差。独立评级是后续指标有效的前提,若评级过程互相参照,一致率会偏高而失去诊断价值。


步骤三:计算一致率与加权Kappa。一致率公式为:一致率 = 两人等级完全相同的缺陷数 ÷ 完成双评的缺陷数 × 100%。加权Kappa按等级距离赋权,常用线性或平方权重,公式为:κw = 1 −(观察不一致加权和 ÷ 期望不一致加权和)。其中观察不一致加权和按每条缺陷两人等级的权重累加,期望不一致加权和由两人各自的等级边际分布推算。计算时保留分子分母,报告注明权重类型、等级顺序和样本量。


步骤四:分歧归因。对等级不同的样本逐条查看,归入三类:定义模糊,即现有等级描述未覆盖该情形;信息不足,即缺陷描述缺少复现条件或影响范围;个人判断偏差,即信息充分但评级人未按定义判定。归因结果按类别计数,并摘录典型分歧案例,作为修订定义和培训的输入。


步骤五:形成报告并确定复评周期。报告包含评估范围、样本量、各指标数值、分歧归因分布和典型 case。复评周期结合版本节奏确定,例如每个版本周期抽一次,或在分级定义修订后追加一次专项复评,用同一套口径对比前后结果。



例子:一次抽样评估怎么算、怎么读


以下为演示情景,数据为构造值,用于说明计算过程,不代表任何团队的实际水平。假设某版本周期内抽取120条已评级缺陷做双评,等级设为四级:致命、严重、一般、轻微,按1至4排序。双评结果分布如下:


评级人A \ 评级人B 致命 严重 一般 轻微 合计
致命 8 3 0 0 11
严重 2 30 9 0 41
一般 0 8 42 5 55
轻微 0 0 4 9 13
合计 10 41 55 14 120

一致率为对角线上缺陷数之和除以总数:(8 + 30 + 42 + 9)÷ 120 = 89 ÷ 120 ≈ 74.2%。也就是说,约四分之一的样本两人判得不同。观察不一致集中在“严重”与“一般”之间,共17条,占分歧总数的17 ÷ 31 ≈ 54.8%,说明主要争议发生在相邻等级,而非跨级误判。


加权Kappa按平方权重计算。以等级差为d,权重为1 −(d ÷ 3)²,等级差为1时权重约0.889,差为2时约0.556,差为3时为0。观察不一致加权和 = 3×0.889 + 2×0.889 + 9×0.889 + 8×0.889 + 5×0.889 + 4×0.889,其中差为1的样本共31条,加权和约27.56;差为2的样本为0条。期望不一致加权和由两人边际分布推算,A的等级占比约为0.092、0.342、0.458、0.108,B的占比约为0.083、0.342、0.458、0.117,按联合期望逐格计算后累加,约得0.42。代入公式:κw ≈ 1 −(27.56 ÷ 120)÷ 0.42 ≈ 1 − 0.547 ≈ 0.45。该值属于中等一致水平,与74.2%的一致率对照可以看出,一致率被“一般”和“严重”两个高占比等级抬高,单看一致率会高估稳定性。


若某模块双评样本为零,该模块不进入一致率与Kappa计算,只在跨模块分布中描述;若某模块全部缺陷被判为“一般”,其一致率为100%,但Kappa因期望一致接近1而无法稳定计算,此时应报告样本构成并注明该模块缺乏区分度,不宜据此得出“该模块判得最准”的结论。从示例结果可读出的方向是:分歧集中在“严重”与“一般”的边界,下一步应检查这两个等级的定义是否缺少可操作的判定条件,并针对该边界补充示例培训。



解读与限制:指标能说明什么、不能说明什么


一致性指标说明的是判定口径的稳定程度,不能直接证明分级标准有效。一致率高但漏判严重时,团队可能稳定地把高风险缺陷判低,指标看不出这个问题。因此报告应同时呈现分歧归因、复评中发现的等级偏低或偏高案例,以及这些缺陷后续的实际影响,把“判得稳”和“判得准”分开表述。


样本量和等级分布会显著影响结果。样本量小时,Kappa的随机波动大,一次评估的数值不宜作为绝对结论;等级高度集中时,一致率虚高而Kappa可能偏低或不稳定,两个指标要一起看。跨模块比较时,若各模块缺陷类型构成差异大,分布偏差可能来自业务本身,解读时应先控制类型构成再下判断。


不设通用达标线。一致率或Kappa达到多少算合格,取决于缺陷风险、团队规模和历史基线,宜用本团队前几个周期的结果作为参照,观察趋势而非追求某个固定数值。指标结果的用途是定位定义模糊点、发现信息不足的缺陷描述、识别需要培训的判定场景,不宜直接用于个人绩效排名,否则评级人可能倾向于选择“安全”等级,反而扭曲数据。


评估结论建议按“范围—数值—归因—行动”四段表述:说明样本覆盖哪些模块和时间窗,给出各指标数值及分母,列出主要分歧来源,提出修订定义、补充判定示例或调整缺陷模板的具体动作。下一轮评估沿用同一口径,才能判断改进是否生效。



常见问题


团队缺陷量不大,双评样本只有几十条,还能算加权Kappa吗?


可以算,但要谨慎解读。样本量小时,Kappa的随机波动明显,一次评估的数值不足以支撑绝对结论。建议在报告中注明样本量和等级分布,把Kappa与一致率、分歧归因一起呈现,重点看分歧集中在哪些等级边界,而不是只盯数值高低。若缺陷量长期偏少,可拉长评估时间窗、合并多个版本周期的样本,或按模块分批抽样后合并计算,让样本覆盖主要模块和缺陷来源。


严重程度和优先级经常被混用,评估前要先做什么?


先把两个字段拆开。严重程度描述缺陷本身的影响,优先级描述修复排期,两者混在一个字段里,一致性指标会把两种判断的偏差混在一起,无法定位问题来源。拆分后确认评估期生效的等级定义和等级顺序,再按本文口径抽样双评。分诊排队、责任分配和工单SLA属于另外的管理动作,不纳入一致性评估。


复评变更率偏高,说明评级一致性差吗?


不一定,要看复评样本是怎么产生的。如果复评主要针对有争议或高风险的缺陷,变更率天然偏高,不能直接与随机抽样结果比较。解读时应说明复评触发方式和样本构成,并把变更集中的等级、模块列出来。变更率的价值在于发现时间维度的漂移和定义模糊点,例如某等级在复评中频繁被上调,往往提示该等级的定义缺少可操作的判定条件。


评估结果要不要设一个合格线,比如Kappa达到0.6才算通过?


不建议设通用达标线。合格水平取决于缺陷风险、团队规模和历史基线,宜用本团队前几个周期的结果作参照,观察趋势而非追求固定数值。更实用的做法是把结论按“范围—数值—归因—行动”四段表述:说明样本覆盖的模块和时间窗,给出各指标数值及分母,列出主要分歧来源,提出修订定义、补充判定示例或调整缺陷模板的具体动作。下一轮沿用同一口径,才能判断改进是否生效。


评级记录分散在多个地方,怎么保证评估结果可复算?


关键是固定字段和对齐规则。每条缺陷保留缺陷标识、所属模块、提交时间、评级人、严重程度等级、评级时间、是否复评,字段定义写进评估说明。双评场景取两人互不参照条件下的首次等级配对;复评场景只比较同一缺陷相邻两次判定;批量修改且无法确认独立判断的记录从一致性样本中剔除并单列数量。评级页面导出记录、评审纪要和分歧案例说明一并留存,换人计算也能得到同一结果。


在ONES里做这类评估,评级记录和分歧案例放在哪里比较合适?


可以把缺陷记录和评级信息放在测试管理的缺陷任务中,利用缺陷任务在测试与研发团队间流转的过程保留评级人和评级时间;项目缺陷分布统计和可组装的测试报告模板可作为取数与复核的载体。分歧案例的说明和评审纪要可放在关联文档中,与缺陷记录互相引用。评级字段的具体配置和报表维度以实际环境为准,评估前先确认字段是否满足取数要求。