如何用测试报告中的缺陷指标支撑质量结论

版本测试收尾时,测试报告里的通过率和缺陷数字本身不构成质量结论,真正支撑结论的是同一时间窗、同一统计口径下的指标组合,以及对这些指标的解释。本文面向版本测试收尾场景,说明质量结论要回答的问题、需要呈现的指标、口径与数据来源的确定方法、从指标到结论的评估步骤,并用一个带计算的示例演示推导过程,最后给出解读边界与常见误用。



要点总览(TL;DR)


  • 质量结论采用“判断+依据+限制”结构,先给结论档位,再列指标数值与口径,最后说明未覆盖范围和后续验证动作。
  • 支撑结论的指标分两组:执行率、通过率、阻塞用例数描述测试执行情况;缺陷密度、严重缺陷占比、重开率、遗留缺陷分级和收敛趋势描述缺陷规模与变化。
  • 每个指标写明分子、分母、时间窗和数据来源,分母在需求数、模块规模、用例数中选定一种并全文统一,截取时点固定后不再变动。
  • 评估按设定对照条件、逐项计算核对口径、交叉验证通过率与缺陷分布、形成结论并标注限制四步执行,记录随报告归档。
  • 分母为零、样本过小、口径变化或单指标代替整体判断是常见误用,结论需保留限制条件并给出后续验证方向。


质量结论要回答什么问题


质量结论的判断对象是具体版本在具体测试范围内的状态,结论类型通常分为“在当前范围与口径下风险可控”“存在需关注的风险”“风险不可接受需继续测试或修复”三档。写结论前先把对象和范围固定下来,后续所有指标才有归属。


一份可用的质量结论需要回答以下问题,建议在测试报告开头以问题清单形式列出,逐项作答:


  • 本次结论针对哪个版本、哪个构建号,测试覆盖了哪些需求、模块和场景,未覆盖哪些?
  • 统计时间窗从何时到何时,缺陷数据截取到哪个时点?
  • 计划用例执行了多少、通过多少、阻塞多少,未执行部分的原因是什么?
  • 缺陷的发现与修复是否呈收敛趋势,收尾阶段新增缺陷是否已明显减少?
  • 遗留缺陷有多少、按严重级别如何分布,是否存在阻断或严重级别未关闭项?
  • 修复后的缺陷重开情况如何,修复质量是否稳定?
  • 上述证据支持哪一档结论,还有哪些限制条件和后续验证动作?

结论的表述采用“判断+依据+限制”的结构。判断放在首句,例如“在当前测试范围与口径下,该版本质量风险可控”;依据列出关键指标数值及其口径;限制说明未覆盖范围、样本量偏小或数据缺失的影响。这种结构让读者先看到结论,再核对证据,也便于后续复盘时判断结论是否仍然成立。



测试报告中应呈现的通过情况与缺陷指标


支撑质量结论的指标分为两组:一组描述测试执行与通过情况,回答“测了多少、测得怎么样”;另一组描述缺陷的规模、结构和变化,回答“问题有多少、严重程度如何、是否在收敛”。两组指标需要同时呈现,互相印证。


指标 定义 回答的问题
用例执行率 已执行用例数 ÷ 计划执行用例数 测试计划完成了多少,未执行部分是否影响结论覆盖
用例通过率 执行通过用例数 ÷ 已执行用例数 已测部分的功能表现如何
阻塞用例数 因环境、依赖或缺陷无法执行的用例数量 有多少测试因外部原因无法得出结论
缺陷密度 时间窗内新增有效缺陷数 ÷ 统计分母(如需求数、模块规模或用例数) 单位范围内的缺陷集中程度,用于横向比较模块风险
严重缺陷占比 严重及以上级别缺陷数 ÷ 同期有效缺陷总数 缺陷结构中高影响问题的比例
重开率 被重开的缺陷数 ÷ 已关闭缺陷数 修复质量是否稳定,关闭动作是否可信
遗留缺陷分级 收尾时点未关闭缺陷按严重级别统计的数量分布 带病发布的风险构成
缺陷收敛趋势 按日或按轮次统计的新增、修复、未关闭缺陷数量变化 缺陷发现与修复是否趋于稳定,收尾时机是否合适

指标与结论问题的对应关系需要在报告中写明:执行率和通过率主要支撑“测试覆盖是否充分、已测部分是否正常”;阻塞用例数支撑“结论的盲区有多大”;缺陷密度和严重缺陷占比支撑“问题集中在哪、影响多大”;重开率支撑“修复是否可信”;遗留缺陷分级和收敛趋势支撑“当前剩余风险是否可接受”。单一指标只回答其中一个问题,结论需要多项证据合并判断。



指标口径与数据来源怎么定


口径决定指标能否复算和比较。同一份报告里,每个指标都应写明分子、分母、时间窗和数据来源系统,读者按说明能算出相同结果,指标才具备证据效力。


指标 分子 分母 时间窗 来源
用例执行率 已执行用例数 本版本计划执行用例数 测试开始至收尾截取时点 测试管理工具中的用例执行记录
用例通过率 执行结果为通过的用例数 已执行用例数 同上 同上
缺陷密度 时间窗内新增有效缺陷数 需求数、模块规模或用例数,三选一并全文统一 测试开始至收尾截取时点 缺陷管理系统
严重缺陷占比 严重及以上级别缺陷数 同期有效缺陷总数 同上 缺陷管理系统,按统一级别定义筛选
重开率 状态由已关闭回到处理中的缺陷数 同期已关闭缺陷数 同上 缺陷管理系统的状态变更记录
遗留缺陷分级 截取时点未关闭缺陷数,按级别分组 不适用,直接给数量分布 收尾截取时点 缺陷管理系统

分母选择需要与结论用途匹配。以需求数为分母适合评估需求交付的风险集中度;以模块规模为分母适合比较不同模块的缺陷密度;以用例数为分母适合与测试投入挂钩。三种分母不能混用后直接比较,报告中应明确本次采用哪一种,并在跨版本对比时保持一致。


时间窗与状态截取时点要固定。缺陷统计通常以测试开始到收尾评审前某一时点为准,截取后不再变动,避免报告撰写期间数据继续变化导致数字对不上。缺陷状态需要定义哪些状态计入“有效缺陷”、哪些计入“已关闭”、哪些算“重开”,例如验证不通过退回处理中的记录应计入重开。严重级别按团队既有定义执行,报告中附上级别说明,避免读者按自己的理解解读。


常见的数据不可比情形包括:统计范围从全量回归缩小为冒烟测试、缺陷级别定义在版本间调整、时间窗起止点不同、部分缺陷记录缺少模块或级别字段。遇到缺失值时,应在报告中标注缺失数量和影响,不用估算值填充后当作完整数据使用。



从指标到结论的计算与评估步骤


评估流程的目标是把分散的指标转化为一个有证据、有边界的判断。建议按以下步骤执行,每步留下记录,形成可复核的评估记录。


  1. 设定对照条件。在计算前先明确本次结论的判断条件,例如:遗留缺陷中不存在阻断级别未关闭项;严重级别遗留缺陷数量在约定范围内;收尾阶段新增缺陷呈下降趋势;重开率处于可解释水平。这些条件来自项目约定或历史版本经验,报告中写明来源,不虚构通用达标线。
  2. 逐项计算并核对口径。按口径表计算每个指标,记录分子、分母和截取时点。计算完成后抽查若干条原始记录,确认统计脚本或查询条件与口径说明一致。
  3. 交叉验证。检查通过率与缺陷分布是否互相印证。通过率高但严重缺陷集中在核心模块,说明测试用例可能未覆盖高风险路径;通过率一般但缺陷均为低级别且已收敛,风险判断需要结合业务影响。两组指标出现矛盾时,优先排查用例覆盖范围和缺陷级别判定,而不是直接采信其中一组。
  4. 形成结论并标注证据与限制。按“判断+依据+限制”写出结论,依据部分引用具体指标数值和口径,限制部分列出未覆盖范围、阻塞用例影响、样本量偏小或数据缺失情况,并给出后续验证方向,例如补充特定场景回归或在下一版本跟踪遗留缺陷。

评估记录模板可以包含:版本与构建号、测试范围、时间窗与截取时点、指标计算结果表、对照条件逐项判定、结论句、限制与后续动作。记录随测试报告归档,便于发布后复盘时核对当时的判断依据。


在数据管理环节,测试用例执行记录与缺陷状态变更如果分散在多个表格中,统计口径容易在手工汇总时走样。ONES 的测试管理与缺陷管理能力可以把用例执行、缺陷级别、状态流转记录在同一套工作项中,按版本和时间窗筛选后导出统计结果,重开与遗留缺陷也能通过状态记录追溯,减少口径核对时的人工比对成本。是否采用工具承载取决于团队现有的数据管理方式,关键是口径说明与实际数据来源保持一致。



一个版本收尾的评估示例


以下为演示用示例数据,不对应真实项目。某版本计划执行用例 480 条,测试时间窗为 3 月 1 日至 3 月 20 日,缺陷数据截取至 3 月 20 日 18 时。


执行与通过情况:已执行 456 条,执行率 = 456 ÷ 480 = 95.0%;执行通过 421 条,通过率 = 421 ÷ 456 ≈ 92.3%;阻塞用例 9 条,主要因测试环境依赖未就绪。


缺陷情况:时间窗内新增有效缺陷 86 个,以需求数为分母(本版本需求 43 个),缺陷密度 = 86 ÷ 43 = 2.0 个/需求;其中严重及以上级别 14 个,严重缺陷占比 = 14 ÷ 86 ≈ 16.3%;已关闭缺陷 71 个,重开 6 个,重开率 = 6 ÷ 71 ≈ 8.5%。


收敛趋势:按周统计新增缺陷,第一周 41 个,第二周 32 个,第三周(截至 20 日)13 个,新增数量逐周下降;同期未关闭缺陷从第二周末的 28 个降至截取时点的 15 个,修复速度高于新增速度,趋势呈收敛。


遗留缺陷分级:截取时点未关闭 15 个,其中阻断 0 个、严重 2 个、一般 9 个、轻微 4 个。2 个严重遗留缺陷分别位于支付回调和对账文件解析模块,均有临时规避方案并已排入下一版本修复计划。


对照条件判定:无阻断级别遗留项,满足;严重遗留 2 个且均有规避方案,处于约定范围内;新增缺陷逐周下降,满足收敛条件;重开率 8.5%,需在报告中说明重开集中在两个模块的边界条件处理,已补充针对性用例。


示例结论可表述为:“在当前测试范围与口径下(执行率 95.0%、通过率 92.3%、遗留严重缺陷 2 个且有规避方案、缺陷呈收敛趋势),该版本质量风险可控。限制条件:9 条阻塞用例未执行,覆盖范围不含性能与兼容性专项;重开率 8.5% 反映部分模块边界处理仍需关注,下一版本需跟踪 2 个严重遗留缺陷的修复验证。”该结论中的数值、分母和截取时点均可按前文口径复算。



结论解读与常见误用


指标是证据,不是保证。解读时需要守住几条边界,避免把数字直接等同于质量判断。


  • 分母为零或样本过小。某模块本版本没有执行用例或没有新增缺陷时,通过率和缺陷密度无法计算或波动极大,应标注“样本不足,不单独据此判断”,改用绝对数量和覆盖情况描述。
  • 指标不可比。测试范围、缺陷级别定义、时间窗或分母发生变化时,跨版本对比需要先说明差异,不能把两个口径不同的数字直接比较高低。
  • 单指标代替整体判断。通过率高不代表高风险路径已覆盖,缺陷密度低不代表严重问题少,遗留缺陷少也不代表修复可信。结论需要执行情况、缺陷结构、收敛趋势和遗留分级共同支撑。
  • 把对照条件当作通用达标线。示例中的判断条件来自具体项目的约定,其他版本或团队应结合自身历史数据和业务影响重新设定,并在报告中写明条件来源。
  • 忽略未覆盖范围。阻塞用例、未执行场景和专项测试缺口是结论的限制条件,需要在结论句中明确列出,并给出后续验证安排。

发布后如出现与结论不符的问题,应回到评估记录核对当时的指标口径、截取时点和对照条件,判断是数据口径问题、覆盖缺口还是判断条件设定过宽,并把结论沉淀为下一版本设定对照条件的参考。这样质量结论才能从一次性的报告文字,变成可追溯、可改进的评估习惯。



常见问题


版本收尾时缺陷数据还在变化,截取时点应该怎么定?


建议把截取时点定在收尾评审前的固定时刻,例如评审前一天 18 时,并在报告中写明。截取后该时点的数据不再更新,报告中的数字以截取结果为准。评审期间新发现或新关闭的缺陷单独记录,作为结论的限制条件或后续跟踪项说明,不回头修改已发布的指标数值。这样同一份报告的数字可以被复算,复盘时也能区分“当时的数据”和“之后的变化”。


缺陷密度用需求数、模块规模还是用例数作分母,怎么选?


三种分母回答的问题不同:以需求数为分母看需求交付的风险集中度,以模块规模为分母适合比较不同模块的缺陷密度,以用例数为分母与测试投入挂钩。选择依据是结论要回答的问题,选定后在本次报告和跨版本对比中保持一致。三种分母混用后直接比较高低没有意义,报告中应明确本次采用哪一种,并说明选择理由。


通过率很高但遗留了严重缺陷,结论该怎么写?


这种情况说明两组指标出现矛盾,先排查用例覆盖范围和缺陷级别判定,再下结论。通过率高可能因为用例未覆盖高风险路径,也可能严重缺陷出现在测试后期、用例尚未补全。结论中应如实列出严重遗留缺陷的数量、所在模块和规避方案,同时说明通过率对应的覆盖范围,把结论表述为有条件可控,并给出补充回归或下一版本跟踪的安排,不用通过率掩盖遗留风险。


重开率偏高是否意味着这个版本不能收尾?


重开率反映修复质量,单看数值不足以决定是否收尾。需要看重开缺陷集中在哪些模块、属于什么级别、是否已补充针对性用例。如果重开集中在少数模块的边界条件处理,且相关缺陷已重新修复并验证,可以在结论中说明情况并列为关注项;如果重开涉及严重级别缺陷或反复出现在核心路径,则需要评估是否继续修复。判断条件应来自项目约定,报告中写明依据。


示例里的对照条件能直接套用到其他版本吗?


不能直接套用。示例中的条件(无阻断遗留、严重遗留数量在约定范围内、新增缺陷逐周下降等)来自该演示项目的约定,其他版本或团队应结合自身历史数据、业务影响和发布要求重新设定,并在报告中写明条件来源。把某一版本的条件当作通用达标线,容易让结论脱离实际风险,也不利于后续复盘时判断条件是否合理。