基于风险的测试效果用哪些指标评估

评估基于风险的测试效果,可以用四类指标组合判断:风险覆盖率、高风险用例执行率、缺陷逃逸率与逃逸缺陷风险分布、测试投入分布偏差。它们分别回答风险是否被覆盖、高风险项是否优先执行、漏到线上的问题是否集中在低风险区、投入是否与风险等级匹配。使用前需统一时间窗和分母口径,并与上一版本或历史均值对比,避免用单一指标下结论。



要点总览(TL;DR)


  • 评估基于风险的测试效果,用风险覆盖率、高风险用例执行率、缺陷逃逸率与逃逸缺陷风险分布、测试投入分布偏差四类指标组合判断,分别对应覆盖、优先级、逃逸结果和资源分配。
  • 每个指标都要固定公式、分子分母、时间窗和单位;风险清单需冻结版本,分母为零时标记为不计算,不用0%或100%代替。
  • 解读时与上一版本或历史均值对比,保留原始分子分母和定性证据(风险评审记录、用例与风险映射表),单指标不能代表整体效果。
  • 指标反映覆盖与分布,不直接证明质量因果;要防范为追求覆盖率而挂形式化用例、为追求执行率而集中挂高等级风险项等游戏化做法。


评估目标:先明确要回答什么问题


基于风险的测试把有限测试资源向高风险项倾斜,评估的对象应是一轮测试活动或一个版本的测试过程,而非某个测试人员的个人产出。开始取数前,先把评估对象、判断问题和对比基线写清楚,指标才有解释方向。


建议围绕三个问题组织评估:


  • 风险是否覆盖:风险清单中的风险项,是否都有对应的测试用例或验证活动,覆盖到什么程度。
  • 高风险是否优先:高等级风险对应的用例,是否在测试周期内被优先设计和执行,执行完成情况如何。
  • 投入是否匹配:测试工时、用例数量等投入,是否按风险等级分布,高风险区是否获得更多资源。

同时确定评估周期与对比基线。周期可以是一个迭代、一个版本或一次专项测试;基线可选上一版本的同类指标,或近几个版本的历史均值。没有基线时,指标只能描述现状,难以判断效果好坏。评估目标与问题清单建议在测试启动前确定,避免测试结束后按结果倒推问题。



指标与范围:四类核心指标及适用边界


四类指标分别对应风险覆盖、执行优先级、逃逸结果和资源分配四个观察角度。每类指标的统计对象不同,需要先界定清楚,再进入计算。


指标 统计对象 时间窗 单位 主要用途
风险覆盖率 风险项 测试周期内 百分比 判断风险清单被测试活动覆盖的程度
高风险用例执行率 高等级风险对应的用例 测试周期内 百分比 判断高风险项是否被优先执行
缺陷逃逸率与逃逸缺陷风险分布 缺陷 上线后固定观察期 百分比、数量分布 判断漏测问题的规模及其风险归属
测试投入分布偏差 工时或用例数 测试周期内 百分点差值 判断投入是否与风险等级匹配

适用边界需要提前说明。风险覆盖率和高风险用例执行率适合版本级、迭代级的测试活动评估;缺陷逃逸率需要上线后有稳定的缺陷记录和观察期,适合发布后复盘;测试投入分布偏差依赖较准确的工时或用例统计,在工时记录粗糙时只能作参考。对于探索性测试占比较高、用例与风险难以一一映射的团队,覆盖率类指标的解释力会下降,应更多依赖风险评审记录和逃逸缺陷分布等证据。



数据口径与证据:分子分母怎么定


指标能否复算,取决于公式、分子分母和单位是否统一。以下口径可作为起点,团队应结合自身风险清单结构固定下来并写入评估说明。


指标 公式 分子 分母
风险覆盖率 已被测试活动覆盖的风险项数 ÷ 风险清单风险项总数 × 100% 至少关联一条已设计用例或已执行验证活动的风险项 冻结版本风险清单中的风险项总数
高风险用例执行率 高等级风险对应已执行用例数 ÷ 高等级风险对应用例总数 × 100% 状态为已执行的高风险关联用例 测试周期内计划执行的高风险关联用例
缺陷逃逸率 上线后观察期内发现的缺陷数 ÷(测试期间发现缺陷数 + 上线后观察期缺陷数)× 100% 上线后固定观察期内记录的有效缺陷 同一版本测试期与观察期缺陷之和
测试投入分布偏差 某风险等级实际投入占比 − 该等级风险项占比 该等级实际工时或用例占比 不适用,结果为百分点差值

风险等级来源必须与风险清单版本一致。测试过程中风险清单若有增删或等级调整,应冻结一个评估版本,并记录变更时间与原因;跨版本对比时,只比较同一口径下的结果。分母为零的情况需要单独约定:风险清单为空时覆盖率不计算,标记为“无有效分母”;某等级没有关联用例时,该等级执行率不计算,不用0%或100%代替。缺陷归属存在争议时,以缺陷记录中的版本字段和发现阶段为准,争议项单列并在结论中标注。


定量指标之外,还应保留定性证据:风险评审会议记录、风险等级判定依据、用例与风险项的映射表、测试执行记录。这些材料用于解释指标异常,例如覆盖率偏低是因为风险清单过大,还是因为部分风险确实不适用测试验证。



计算与评估步骤:从取数到结论


评估按固定顺序执行,保证结果可复算、可追溯。


  1. 确定并冻结风险清单:整理本轮风险项、等级和判定依据,形成带版本号的风险清单,作为所有指标的分母基础。
  2. 建立映射关系:把用例、测试活动与风险项关联,把上线后缺陷回溯到风险项;映射表需包含关联方式和关联人,便于复核。
  3. 按公式取数计算:逐项计算四类指标,记录数据来源、取数时间和统计范围,计算结果保留原始分子分母,不只保留百分比。
  4. 与基线对比形成判断:把结果与上一版本或历史均值比较,对差异给出解释;无法解释或数据缺失的部分标注为不确定项,列入下轮补充验证。

在数据管理上,风险清单、用例映射和执行记录如果分散在表格与缺陷系统中,取数环节容易产生口径漂移。ONES 的测试管理可将测试计划、用例与缺陷关联到工作项,风险项也能作为工作项维护等级和状态,评估时按同一版本范围导出关联数据,减少人工拼接。是否采用工具承载取决于团队现有的记录方式,关键是映射关系和版本字段能够被稳定追溯。



示例:一个版本的指标计算与解读


以下为演示情景,数字仅用于说明计算过程。


某版本冻结风险清单共40个风险项,其中高等级10项、中等级18项、低等级12项。测试周期内,32个风险项关联了至少一条已设计用例;高等级风险对应用例共50条,已执行46条。测试期间发现缺陷80个,上线后30天观察期内发现缺陷20个,其中12个回溯到低等级风险项、5个回溯到中等级、3个无法归属。投入方面,高等级风险项占风险项总数的25%,实际测试工时占比为40%。


  • 风险覆盖率 = 32 ÷ 40 × 100% = 80%
  • 高风险用例执行率 = 46 ÷ 50 × 100% = 92%
  • 缺陷逃逸率 = 20 ÷(80 + 20)× 100% = 20%
  • 测试投入分布偏差(高等级)= 40% − 25% = 15个百分点

解读时,可以成立的结论是:高风险项获得了明显更多的测试投入,高风险用例执行率较高,风险覆盖达到八成。需要补充证据的是:未覆盖的8个风险项属于哪个等级、为何未覆盖;逃逸缺陷中12个来自低等级风险项,说明低风险区仍有漏测,需结合这些缺陷的严重程度判断是否调整风险评级;3个无法归属的缺陷提示映射关系存在缺口。仅凭20%的逃逸率不能判断测试质量好坏,需与上一版本对比,并确认观察期长度和缺陷记录标准一致。



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


这四类指标描述的是覆盖范围、执行顺序、逃逸结果和资源分布,属于过程与结果的观察值,不能直接证明测试活动导致了质量变化。覆盖率上升可能来自风险清单缩小,逃逸率下降可能来自观察期缩短或缺陷记录标准变化,解读时必须回到口径和数据来源。


单指标不适合代表整体绩效。高风险用例执行率高,但风险覆盖率低,说明优先执行的是已识别风险,未识别的风险仍可能遗漏;投入分布偏差为正,也不代表投入足够,只说明相对占比。建议四类指标组合使用,并与基线对比后再形成结论。


风险清单本身的质量会传导到所有指标。风险等级由人判定,存在主观性,等级划分过粗或过细都会影响覆盖率与投入偏差的可比性。评估时应保留等级判定依据,并在跨版本对比时检查清单结构是否发生较大变化。


指标被游戏化的风险需要防范。例如只追求高风险用例执行率,可能把用例集中挂到高等级风险项下;只追求覆盖率,可能为每个风险项挂一条形式化用例。防范方式包括抽查用例与风险项映射的实质内容、结合逃逸缺陷分布交叉验证、把风险评审记录纳入评估证据,而不是只看百分比。



常见问题


风险清单在测试中途发生变更,指标还能跨版本对比吗?


可以对比,但需要先统一口径。测试过程中风险项增删或等级调整后,应冻结一个评估版本并记录变更时间和原因,所有指标以该版本的风险清单为分母基础。跨版本对比时,只比较风险清单结构相近、统计口径一致的结果;如果清单规模或等级划分变化较大,应在结论中说明差异来源,或改用同一批稳定风险项做子集对比。


团队以探索性测试为主,用例和风险项难以一一映射,覆盖率类指标还适用吗?


这种情况下覆盖率类指标的解释力会下降,但仍可作为参考。可以把探索性测试的测试 charter、探索记录和发现的缺陷回溯到风险项,用“风险项是否被验证活动触及”替代“是否关联用例”作为覆盖判据。评估重心应更多放在逃逸缺陷的风险分布和风险评审记录上,覆盖率只用于发现明显未触及的风险项,不用于横向比较团队绩效。


缺陷逃逸率的观察期应该设多长?


观察期没有统一标准,取决于发布节奏、用户规模和缺陷反馈渠道。常见做法是按版本发布后的固定天数设定,并在多个版本间保持一致,保证可比性。观察期过短会低估逃逸缺陷,过长则混入后续版本变更引入的问题。设定后应写入评估说明,并在对比时确认各版本的观察期长度和缺陷记录标准一致;观察期内的缺陷以版本字段和发现阶段归属,争议项单列标注。


测试投入分布偏差算出来是正数,是否说明投入已经足够?


不能这样解读。该指标只说明某风险等级的实际投入占比高于其风险项占比,反映的是相对分配关系,不反映投入总量是否充足。判断投入是否足够,需要结合高风险用例执行率、未覆盖风险项的原因以及逃逸缺陷分布综合看。如果高风险区投入占比高但执行率仍低,可能说明用例设计或环境准备存在瓶颈,而非资源不足。


评估结果要不要和测试人员绩效挂钩?


建议谨慎处理。这些指标衡量的是测试活动的覆盖与分布,受风险清单质量、等级判定和统计口径影响,直接用于个人绩效容易诱发数据游戏化,例如把用例集中挂到高等级风险项、为每个风险项挂形式化用例。更稳妥的做法是把指标用于版本级复盘和过程改进,个人层面结合用例设计质量抽查、缺陷分析等定性证据评估。