测试用例评审要形成可重复的机制,核心是四件事:先划定哪些用例需要评审、满足什么条件才能进入评审;再按提交、逐条检查、汇总意见、修订确认的顺序执行;由设计者、评审人、测试负责人分别承担提交、审查和裁决职责;用统一检查项判断用例是否可执行、可追溯、覆盖到位。本文给出可直接套用的流程、角色分工表、检查清单和一个完整示例,适合正在建立或规范用例评审机制的测试团队参考。
要点总览(TL;DR)
- 评审前先按需求重要度、用例类型和变更幅度划定范围,并确认需求明确、用例已自检、关联信息完整等准入条件,再选择书面评审、会议评审或走查。
- 执行流程分四步:提交评审材料并约定评审人与时限、评审人逐条检查可执行性与预期结果、汇总意见区分必须修改与建议优化、设计者修订回复后由评审人确认关闭。
- 角色分工要固定:设计者负责提交与修订,开发、产品、测试同行从各自视角提意见,测试负责人或主持人裁决分歧并确认通过,记录人维护评审记录与遗留问题。
- 用覆盖性、可执行性、可判定性、可追溯性、命名与组织五个维度逐条对照,把主观印象转为可判断的标准。
- 评审通过后更新用例状态、跟踪遗留问题,并通过漏测缺陷、返工比例和评审耗时观察机制效果,按版本趋势调整评审范围与频率。
评审前先定范围与准入条件
评审最常见的失效方式,是把所有用例不分轻重地拉进会议,结果会议时间被大量低价值内容占满,真正需要讨论的复杂场景反而草草带过。评审前先做范围划分,能让有限的评审资源落在风险最高的地方。
划分评审范围可以按三个维度组合判断:需求重要度、用例类型、变更幅度。核心交易链路、涉及资金或权限的功能、新上线模块,属于高重要度,应纳入正式评审;边界值、异常路径、兼容性等容易遗漏的用例类型,即使需求本身简单,也值得抽查;已有用例的修改,如果只是调整数据或措辞,可以走简化流程,如果涉及预期结果或覆盖逻辑变化,则按新增用例对待。
准入条件决定评审会能否有效进行。一条用例进入评审前,至少应满足:对应需求已经明确且无重大歧义;设计者已完成自检,步骤和预期结果没有明显空缺;用例已关联需求编号或相关缺陷,便于评审人对照背景理解意图。缺少这些条件就提交,评审会很容易变成现场补写用例,评审人只能凭印象提意见。
评审方式按用例的风险和数量选择,常见三种:
| 评审方式 | 适用情形 | 主要特点 |
|---|---|---|
| 书面评审 | 用例量大、分布在不同模块,评审人时间难以统一 | 评审人异步阅读并留言,设计者集中回复,适合常规覆盖类用例 |
| 会议评审 | 核心链路、跨系统交互、需求本身存在争议 | 集中讨论,能当场澄清歧义并裁决分歧,成本较高 |
| 走查 | 少量关键用例或新人产出的用例 | 由资深测试人员带着设计者逐条过,偏重辅导和纠偏 |
把上述判断整理成一张范围与准入判定表,每次评审前填写,可以避免临时拍脑袋决定评什么、谁来评。
评审执行步骤:从提交到结论
评审执行的关键是每一步都有明确的输入和输出,让参与者知道自己该交什么、什么时候交、交完之后由谁处理。
第一步:提交评审
设计者将待评审用例打包提交,同时附上需求说明、设计文档或接口说明中与用例相关的部分,并标注本次评审的重点,例如新增的异常场景或修改过的预期结果。提交时约定评审人和完成时限,评审人应覆盖开发、产品和其他测试角色。输出是一份可追溯的评审提交记录,包含用例清单、关联需求、评审人和截止时间。
第二步:评审人逐条检查
评审人按检查清单逐条阅读,重点看三件事:步骤是否可执行,即一个不了解该模块的测试人员能否照着操作;预期结果是否明确,即结果能否被观察和判断;数据与前置条件是否完整,即环境、账号、初始数据是否交代清楚。评审人把问题写在对应用例上,标明位置和理由,避免只写“再完善一下”这类无法执行的评语。
第三步:汇总意见并分级
会议评审由主持人当场汇总,书面评审由记录人整理。意见分为两类:必须修改,指影响用例可执行性或覆盖完整性的问题,例如缺少异常路径、预期结果无法判定;建议优化,指表达、组织、命名等改进项。分级的意义在于让设计者知道哪些不修改就不能通过,哪些可以酌情采纳。
第四步:修订与确认关闭
设计者逐条修订并在意见下回复处理方式:已修改的说明改了什么,不采纳的说明理由。评审人确认后关闭该条意见。全部必须修改项关闭,且无新增阻断问题时,由测试负责人确认本次评审通过。输出是完整的意见处理记录,每条意见都有提出人、处理结果和确认状态。
角色分工与各自交付物
评审出现扯皮,多数时候是职责边界不清:谁都能提意见,但没人对结论负责。把角色和交付物固定下来,评审才能稳定运转。
| 角色 | 主要职责 | 交付物 |
|---|---|---|
| 用例设计者 | 提交评审材料、逐条修订、回复意见、说明不采纳理由 | 待评审用例、修订记录、意见回复 |
| 评审人(开发、产品、其他测试) | 从各自视角提出问题:开发关注实现路径与异常分支,产品关注需求一致性,测试同行关注覆盖与可执行性 | 逐条评审意见,标明必须修改或建议优化 |
| 测试负责人或评审主持人 | 控制评审范围与节奏,裁决分歧,确认评审是否通过 | 评审结论、通过或退回决定 |
| 记录人 | 维护评审记录与遗留问题清单,跟踪未关闭事项 | 评审记录、遗留问题清单 |
几个容易混淆的边界需要提前说清:评审人提意见,但不替设计者改写用例;主持人可以裁决争议,但不对每条用例的技术细节做最终判断;记录人跟踪状态,但不承担修订责任。规模较小的团队可以由一人兼任主持人和记录人,但提交与审查的角色仍应分开,避免设计者自己确认自己的用例。
当评审意见、用例状态和遗留问题需要在多人之间流转时,可以借助 ONES 的工作项与文档协作能力承载:用例作为工作项记录状态,评审意见在条目下回复并保留处理痕迹,未关闭的遗留问题转为待办跟踪,主持人在同一处确认评审结论。这样评审记录与用例本身保持关联,后续回溯时不必再翻找分散的聊天记录。
用例质量检查项:评审时逐条对照
评审如果只凭主观印象,不同评审人给出的结论差异会很大。用一份固定的检查清单,把“这条用例好不好”转化为可以逐项回答的问题。
| 检查维度 | 检查项 | 合格判断 |
|---|---|---|
| 覆盖性 | 需求点是否都有对应用例;异常路径和边界条件是否覆盖 | 每个需求条目能对应到至少一条用例;关键异常和边界有专门用例或明确说明不测的理由 |
| 可执行性 | 前置条件、操作步骤、测试数据是否足以复现 | 未接触该模块的测试人员能按步骤独立执行,不需要额外询问 |
| 可判定性 | 预期结果是否具体、可观察 | 结果可以用界面显示、接口返回、日志或数据状态判断,避免“正常显示”这类模糊表述 |
| 可追溯性 | 用例与需求、缺陷的关联是否完整 | 每条用例能追溯到需求来源;由缺陷补充的用例标注缺陷编号 |
| 命名与组织 | 标题是否表达验证意图,是否便于检索 | 标题能看出验证对象和条件,同类用例归入同一分组 |
使用清单时建议按维度顺序检查,先看覆盖再看执行细节,因为覆盖缺失往往需要补充新用例,而执行细节问题只需修改现有内容,两者的处理成本不同。清单本身也应随项目复盘更新,例如某类线上缺陷反复出现,就把对应的检查项补充进去。
一次完整评审的示例
以下为演示情景,用于说明流程如何落地,不对应具体项目。
某订单模块新增“优惠券叠加使用”功能,测试设计者编写了18条用例,提交书面评审,评审人为对应开发、产品经理和另一名测试同事,时限两个工作日。
评审中发现三类典型问题。第一,覆盖缺失:用例只覆盖了两张优惠券叠加,未覆盖叠加后金额低于最低支付金额的场景,产品经理指出这是需求中明确提到的限制条件,标记为必须修改。第二,预期结果模糊:一条用例的预期结果写“优惠金额正确”,开发指出应明确到订单实付金额和优惠明细的具体数值关系,标记为必须修改。第三,命名不清:多条用例标题为“优惠券测试1”“优惠券测试2”,测试同行建议改为体现验证条件的标题,标记为建议优化。
设计者补充了3条边界用例,修改了预期结果的表述,并统一调整了标题。对于一条关于并发领券的用例,设计者说明该场景由另一专项覆盖,附上对应用例编号,评审人确认后关闭。全部必须修改项关闭后,测试负责人确认本次评审通过,用例状态更新为已评审,两条待确认的业务规则作为遗留问题转给产品经理跟进。
评审后的收尾与效果检查
评审通过不等于工作结束。结论要落到用例状态上,遗留问题要有归属和期限,否则下次评审时同样的问题会再次出现。
收尾动作包括:将通过评审的用例状态更新为已评审,未通过或退回的用例保持待修改并注明原因;遗留问题逐条登记负责人和期望完成时间,在后续评审或版本复盘中回看。阻断条件应事先约定,例如存在未关闭的必须修改项、关键需求点无用例覆盖、核心链路用例未经开发确认,出现任一情况即不通过。
判断评审机制是否有效,可以观察几个指标:上线后漏测缺陷中,有多少本应由用例覆盖却未覆盖;评审后返工的用例比例,过高说明准入自检不到位,过低则可能评审流于形式;单次评审的平均耗时与参与人数,用于判断评审范围是否过宽。这些数据不必追求精确统计,按版本做趋势对比即可。
根据观察结果调整机制:漏测集中在某类场景,就扩充检查清单并提高该类用例的评审级别;返工比例高,就加强提交前的自检要求;评审耗时过长,就缩小会议评审范围,把常规用例转为书面评审。评审范围和频率应随项目阶段变化,新模块上线初期评审可以更密集,稳定维护期则可适当简化。
常见问题
用例数量很多时,如何避免评审流于形式?
关键在于把评审资源集中到高风险内容上。可以先按需求重要度和变更幅度分层:核心链路、涉及资金或权限的功能走正式评审,常规覆盖类用例采用书面评审抽查,措辞或数据微调走简化流程。同时坚持准入自检,设计者提交前先确认步骤和预期结果没有明显空缺,减少评审会上现场补写的情况。评审人按检查清单逐条对照,评语写明位置和理由,避免出现无法执行的笼统意见。
书面评审和会议评审可以混用吗?
可以,而且多数团队需要混用。书面评审适合用例量大、评审人时间难以统一的常规内容,设计者集中回复意见即可;会议评审适合核心链路、跨系统交互或需求本身存在争议的场景,能当场澄清歧义并裁决分歧。实际操作中可以先做书面评审收集意见,把争议集中的条目挑出来开短会讨论,既控制会议成本,又保证关键问题有结论。
评审人提出意见后,设计者不认同怎么办?
先区分意见类型。属于必须修改的问题,例如缺少异常路径、预期结果无法判定,设计者应修订或给出覆盖说明;属于建议优化的表达、命名类意见,设计者可以不采纳,但要在意见下写明理由。出现分歧时由测试负责人或评审主持人裁决,裁决依据是需求文档和用例是否满足可执行、可判定的标准,而非个人偏好。裁决结果和理由记入评审记录,便于后续回溯。
评审通过后,用例还需要再评审吗?
需求或实现发生变化时,受影响的用例应重新进入评审。可以按变更幅度判断:只调整测试数据或措辞的,走简化确认;涉及预期结果、覆盖逻辑或前置条件变化的,按新增用例对待。另外,上线后出现漏测缺陷时,补充的用例建议纳入下一轮评审,检查是否还有同类场景未覆盖。稳定维护期的用例可以降低评审频率,但关联核心链路的用例仍应保持抽查。
小团队人手有限,角色分工可以简化吗?
可以合并部分角色,但提交与审查应保持分离。规模较小的团队可以由一人兼任主持人和记录人,测试负责人也可以同时承担裁决和结论确认。设计者不宜自己确认自己的用例,至少安排一名开发或产品参与审查,保证有独立视角。若确实只有一名测试人员,可以邀请开发从实现路径和异常分支角度提意见,产品从需求一致性角度确认,评审记录仍要保留提出人、处理结果和确认状态。
