测试质量评估要围绕当前测试轮次或版本给出可核验的结论:这个版本能否带着已知风险交付。做法是先确定评估目标,再选一组覆盖缺陷发现、用例有效性、缺陷收敛与遗留风险的指标,为每个指标写明分母、时间窗和缺失值处理方式,最后用数据加证据解释结果,并说明结论的适用范围。评估依赖缺陷、用例和执行记录在同一处留痕,ONES 的测试管理能力可在这一环节承接数据。本文覆盖版本级评估的口径、步骤与算例。
要点总览(TL;DR)
- 测试质量评估的对象是当前测试轮次或版本,结论要落到一个具体决策上,例如能否提交验收、是否需要补充测试;组织级质量趋势和发布门禁规则不在本文范围。
- 指标按缺陷发现、用例有效性、缺陷收敛、遗留风险四个侧面选取,每个指标写明分子、分母、时间窗、单位和缺失值处理,同名指标口径不一致是结果无法比较的主因。
- 数据应来自同一套管理系统,固定统计时点、版本基线和状态口径;跨版本比较前先检查时间窗长度、严重度定义和用例粒度是否一致。
- 评估按固定顺序执行:定目标、取数并记录缺失、计算指标并标注样本量、收集缺陷分布与遗留问题等证据、形成带条件的结论,每步留下产出物以便复算。
- 单个指标只反映一个侧面,不设通用达标线;样本量小、口径调整、需求变更都会影响结论,结论页要写明适用版本与不确定性。
测试质量评估要回答什么问题
测试质量评估的对象是当前这一轮测试或这一个待交付版本,回答的是“基于已执行的测试和已发现的问题,这个版本的质量状况如何、还带有哪些已知风险”。它服务于一个具体决策,例如是否进入下一轮测试、是否提交验收、是否需要针对某模块补充测试。组织级长期质量趋势、团队横向排名、发布门禁的审批规则属于另外的管理动作,本文不展开。
评估目标决定指标取舍。先写下要支持的决策,再倒推需要哪些数据。如果决策是“能否提交验收”,重点看遗留缺陷的严重度分布和核心用例通过情况;如果决策是“测试是否充分”,重点看用例覆盖与缺陷发现效率。目标不同,同一批数据会得出不同的结论侧重。
建议在评估开始前写一份目标说明,包含四项内容:评估对象(版本号或测试轮次)、时间窗(起止日期与取数时点)、要支持的决策、明确排除的范围。这份说明是后续口径和结论的共同基准,也能防止评估结果被挪用到它不支持的场景。
选哪些指标,各自的分母和单位是什么
指标按四个侧面组织:缺陷发现、用例有效性、缺陷收敛、遗留风险。每个指标都要写明分子、分母、时间窗和单位,同名指标在不同团队口径不一致,是评估结果无法比较的主要原因。下表给出一套可直接采用的口径,团队可按自身缺陷状态定义调整,但调整后要在报告中注明。
| 指标 | 公式 | 分母 | 时间窗 | 单位 | 缺失值处理 |
|---|---|---|---|---|---|
| 缺陷发现密度 | 有效缺陷数 ÷ 执行用例数 | 时间窗内已执行的用例数 | 本轮测试起止 | 个/百用例 | 执行用例为 0 时不计算,标注“无样本” |
| 用例有效性 | 发现缺陷的用例数 ÷ 执行用例数 | 时间窗内已执行的用例数 | 本轮测试起止 | 百分比 | 执行用例少于 30 条时标注样本不足 |
| 用例通过率 | 通过用例数 ÷ 执行用例数 | 时间窗内已执行的用例数 | 本轮测试起止 | 百分比 | 阻塞用例单列,不计入通过或失败 |
| 缺陷收敛率 | 窗口内关闭缺陷数 ÷ 窗口内新增缺陷数 | 窗口内新增缺陷数 | 按周或按测试阶段 | 百分比 | 新增为 0 时不计算,说明该窗口无新增 |
| 遗留缺陷严重度分布 | 各严重度遗留数 ÷ 遗留缺陷总数 | 截至取数时点的遗留缺陷数 | 取数时点快照 | 百分比与绝对数并列 | 遗留为 0 时直接写“无遗留” |
| 缺陷重开率 | 被重开的缺陷数 ÷ 已关闭缺陷数 | 窗口内已关闭缺陷数 | 本轮测试起止 | 百分比 | 关闭数为 0 时不计算 |
分母为零和样本过少要单独处理。分母为零时不给比率,直接写绝对数和“无样本”;样本量低于团队约定下限时,比率照算但必须并列样本量,并在结论中说明波动可能较大。把“0 个缺陷”和“0 条用例执行”区分开,前者可能是质量好,后者只说明测试没跑。
数据从哪里来,怎么保证可比
评估所需数据主要有四类:缺陷记录(创建时间、状态流转时间、严重度、关联用例或需求)、用例与执行记录(用例数、执行状态、执行时间、执行人)、需求与变更记录(本轮范围、变更时间)、以及测试计划本身(起止时间、范围)。这些数据应来自同一套管理系统,避免从多个表格手工拼接导致时间字段和状态定义不一致。
采集规则要固定三件事。第一,统计时点:明确数据截止到哪一天几点,之后的状态变化不计入本次评估。第二,版本基线:明确哪些需求、用例、缺陷属于本版本,跨版本流转的缺陷按创建版本还是修复版本归属要事先约定。第三,状态口径:哪些状态算“已关闭”、哪些算“遗留”、重开如何计数,都要在口径表中写死。
跨版本或跨团队比较前先做一致性检查:时间窗长度是否相同、缺陷严重度定义是否一致、用例粒度是否相近、统计时点是否都在版本末期。任何一项不一致,比较结果只能作参考,不能直接下“质量变好或变差”的判断。检查项建议随报告一起留存,便于后续复核。
评估步骤:从取数到形成结论
评估按固定顺序执行,每一步留下产出物,保证结论可复算。顺序如下:
- 固定版本基线与时间窗,产出评估目标说明。
- 按口径表取数,逐项记录数据来源、取数时点和缺失情况,产出取数记录。
- 计算各指标并标注样本量,产出指标计算表。
- 收集证据:缺陷按模块和严重度的分布、遗留问题的处理计划、需求变更对测试范围的影响,产出证据清单。
- 把指标与证据合并解读,形成带条件的结论,产出评估结论页。
第四步常被省略,但它决定结论是否站得住。指标告诉你“发现了多少、收敛得多快”,证据告诉你“问题集中在哪、剩余风险是什么”。例如缺陷收敛率达标,但遗留缺陷集中在支付模块且均为高严重度,结论就不能简单写“质量良好”。
评估所需数据分散在用例、缺陷和迭代记录中时,ONES 测试管理支持测试用例与需求、任务关联,测试计划与迭代关联;未通过的用例可快速创建缺陷任务并在测试与研发团队间流转;同时提供质量统计报表、缺陷分布统计和可自定义组装的测试报告模板。这样取数、计算和证据收集可以在同一套记录上完成,减少手工汇总带来的时点偏差。具体指标的计算口径仍需按本文口径表在报告模板中约定。
一个版本评估的算例
以下为演示情景,数据为示例,不代表真实项目。某版本测试时间窗为 3 月 1 日至 3 月 21 日,取数时点为 3 月 21 日 18:00。本轮执行用例 480 条,其中通过 402 条、失败 58 条、阻塞 20 条;发现有效缺陷 96 个;其中 41 条用例至少发现一个缺陷;截至取数时点遗留缺陷 23 个,其中高严重度 5 个;本轮新增缺陷 96 个,关闭 73 个;已关闭缺陷中被重开 6 个。
| 指标 | 计算 | 结果 |
|---|---|---|
| 缺陷发现密度 | 96 ÷ 480 × 100 | 20 个/百用例 |
| 用例有效性 | 41 ÷ 480 | 8.5% |
| 用例通过率 | 402 ÷ 480 | 83.8%(阻塞 20 条单列) |
| 缺陷收敛率 | 73 ÷ 96 | 76.0% |
| 遗留缺陷严重度分布 | 5 ÷ 23 | 高严重度占 21.7%,共 23 个遗留 |
| 缺陷重开率 | 6 ÷ 73 | 8.2% |
分母为零的处理示例:若某模块本轮执行用例为 0,则缺陷发现密度和用例有效性均不计算,报告中写“该模块本轮无执行记录,未纳入比率统计”,而不是写 0%。样本过少的示例:若某子模块仅执行 12 条用例、发现 3 个缺陷,用例有效性为 25%,需并列“样本 12 条”,结论中说明该比率波动大,仅作参考。
由数据到结论的写法可以是:“本版本执行用例 480 条,通过率 83.8%,缺陷收敛率 76.0%,遗留缺陷 23 个,其中高严重度 5 个且集中在支付模块。测试执行覆盖较完整,但遗留高严重度问题尚未关闭,建议在提交验收前完成这 5 个问题的修复与回归,其余模块可按计划推进。”这段结论给出了数据、指出了风险位置,也限定了建议的适用条件。
结果怎么解读,哪些限制要写明
每个指标只反映一个侧面。通过率高可能因为用例偏简单,缺陷发现密度低可能因为测试范围窄,收敛率高可能因为关闭标准宽松。解读时要把指标放回测试范围和用例设计质量中看,避免用单个数字直接下“质量合格”或“测试有效”的判断,更不宜直接作为个人绩效依据。
三类因素会明显影响结论。样本量小,比率波动大,结论应写“初步”并注明样本数。口径变化,例如本轮调整了严重度定义或关闭标准,跨版本比较失效,需在报告中说明。需求变更,测试中途范围扩大或缩减,会改变分母,结论要说明评估覆盖的是变更前还是变更后的范围。
不设通用达标线。通过率、收敛率的目标值应结合本团队历史版本数据和业务风险确定,例如参考近三个版本的中位数,再结合本版本是否涉及核心链路调整。阈值一旦确定,要写明来源和适用版本,避免被当作长期标准套用。
结论页建议固定披露以下内容:评估对象与时间窗、取数时点、各指标样本量、口径调整说明、遗留风险清单、结论的适用版本与不确定性。把这些前提与结论放在一起,读者才能判断这条结论能否用于自己的决策场景。
常见问题
测试质量评估和研发质量度量、发布门禁是什么关系?
三者回答的问题不同。测试质量评估针对当前这一轮测试或这一个版本,回答“基于已执行的测试和已发现的问题,这个版本的质量状况如何、还带有哪些已知风险”,服务于是否进入下一轮测试、是否提交验收这类具体决策。研发质量度量关注组织或团队跨版本的长期趋势,需要更长的时间窗和更稳定的口径。发布门禁则是审批规则,规定哪些条件满足才能放行。评估结论可以作为门禁审批的输入,但评估本身不制定门禁规则。
分母为零或样本很少时,指标还能不能写进报告?
可以写,但要换一种写法。分母为零时不给比率,直接写绝对数和“无样本”,例如“该模块本轮无执行记录,未纳入比率统计”,不要写成 0%。样本量低于团队约定下限时,比率照算,但必须并列样本量,并在结论中说明波动可能较大、仅作参考。把“0 个缺陷”和“0 条用例执行”区分开很重要:前者可能是质量好,后者只说明测试没跑。
跨版本比较测试质量时,最容易出问题的地方是什么?
最常见的是口径悄悄变了。时间窗长度不同、缺陷严重度定义调整、用例粒度变粗或变细、统计时点有的在版本中期有的在版本末期,任何一项不一致,比较结果就只能作参考。建议在比较前做一次一致性检查,把检查项随报告留存。如果本轮确实调整了关闭标准或严重度定义,要在报告中写明,并说明比较结论的适用范围。
评估结论里要不要给通过率、收敛率设一个达标线?
不建议设通用达标线。通过率、收敛率的目标值应结合本团队历史版本数据和业务风险确定,例如参考近三个版本的中位数,再结合本版本是否涉及核心链路调整。阈值一旦确定,要写明来源和适用版本,避免被当作长期标准套用到其他版本或其他团队。单个指标也不宜直接作为个人绩效依据,它反映的是过程与结果的一个侧面。
评估所需数据分散在用例、缺陷和迭代记录里,怎么减少手工汇总的偏差?
关键是让数据在同一套记录上留痕,并固定取数时点。ONES 测试管理支持测试用例与需求、任务关联,测试计划与迭代关联;未通过的用例可快速创建缺陷任务并在测试与研发团队间流转;同时提供质量统计报表、缺陷分布统计和可自定义组装的测试报告模板。这样取数、计算和证据收集可以在同一套记录上完成,减少手工拼接带来的时点偏差。具体指标的计算口径仍需按本文口径表在报告模板中约定。
