测试覆盖与需求验证需要哪些依据:判定依据与实施步骤

测试覆盖与需求验证要回答的是“每条需求是否被验证过、验证到什么程度”。支撑这个结论的依据分为四层:需求侧的可验证条目与验收标准、设计侧的测试条件与用例映射、执行侧的用例结果与缺陷记录、判定侧的覆盖口径与评审结论。本文按这四层给出建立依据链的步骤、角色分工和检查清单,覆盖口径需要在测试开始前书面约定。



要点总览(TL;DR)


  • 测试覆盖与需求验证的依据分四层:需求侧的可验证条目与验收标准、设计侧的测试条件与用例映射、执行侧的用例结果与缺陷记录、判定侧的覆盖口径与评审结论。
  • 做法分四步:把需求拆成带编号和验收标准的可验证条目,建立条目到测试条件与用例的映射,用执行记录和缺陷回填形成证据,最后按事先约定的口径统计并出具结论。
  • 覆盖口径要在测试开始前书面写明统计对象、分母定义和通过阈值;按条目覆盖回答需求验证是否完整,按用例覆盖回答执行进度,两者可并用但分母要分别说明。
  • 依据缺失多因责任不清,需求负责人、测试设计、执行人员和测试负责人各自对应一份交付物与交接时点,变更时按来源归属更新。
  • 判定前逐项核对四层依据,高优先级条目无验收标准、条目无用例且无说明、失败项无缺陷记录、口径未约定属于阻断项,补齐后才能出具结论。


判定测试覆盖与需求验证要看哪几类依据


覆盖结论之所以经常出现争议,多半是因为依据只停留在某一层:有人拿用例执行率说话,有人拿需求清单说话,两边统计的对象不同。把依据按产出顺序分成四层,可以让每个结论都找到对应的原始材料。


层级 依据内容 产出角色 可用时点
需求侧 可验证需求条目、验收标准、优先级、来源需求 需求负责人,测试人员参与评审 需求评审通过后、测试设计开始前
设计侧 测试条件、用例编号、条目与用例的映射关系、覆盖类型 测试设计人员 用例评审通过后、执行开始前
执行侧 用例执行结果、执行环境与时间、缺陷记录、回归记录 测试执行人员,开发配合缺陷处理 每轮测试执行期间持续更新
判定侧 覆盖口径定义、统计结果、评审记录与结论 测试负责人组织,需求方与开发参与评审 版本测试结束、发布判定前

四层之间是单向可查的关系:判定结论指向执行记录,执行记录指向用例,用例指向需求条目。任何一层缺失,结论就只能靠口头说明,无法复核。下面四步依次建立这四层依据。



第一步:把需求拆成可验证条目并编号


需求文档通常按业务场景描述,一段话里可能包含多个判定点,直接拿它统计覆盖会出现“验证了一半算不算覆盖”的模糊地带。第一步的任务是把需求转成可以逐条打勾的条目。


拆分粒度:一条需求条目对应一个可独立验证的判定点。例如“用户可以使用手机号登录”可以拆成“正确手机号加正确验证码登录成功”“验证码错误时提示并拒绝登录”“验证码超过有效期时拒绝登录”等条目,每条都能单独判定通过或不通过。


必填字段:条目编号、条目描述、验收标准、优先级、来源需求。条目编号是后续映射的锚点,一经分配不随需求描述修改而变更;来源需求记录条目出自哪份文档的哪一节,便于需求变更时定位影响范围。


输入与输出:输入为需求文档和需求评审意见,输出为可验证条目清单。测试人员在需求评审阶段介入,重点检查验收标准是否可观察,把“体验流畅”“响应及时”这类描述追问成具体条件。


完成标志:每条条目都能写出至少一个可观察的通过条件,即给定什么输入、在什么环境下、观察到什么结果算通过。写不出通过条件的条目,说明需求本身还没想清楚,应退回需求方澄清,不进入测试设计。



第二步:建立需求条目到测试条件与用例的映射


映射的作用是让“这条需求验证了没有”可以逐条核对,而不是靠记忆。做法是先由条目推导测试条件,再把测试条件落到具体用例。


测试条件描述“要验证什么”,用例描述“怎么验证”。例如条目“验证码错误时提示并拒绝登录”对应的测试条件包括:错误验证码的提示文案正确、登录被拒绝、连续错误达到阈值后的锁定行为。每个测试条件再展开为一条或多条用例,标注正常、边界、异常三种覆盖类型。


映射表建议包含以下字段:


字段 说明
条目编号 来自第一步的条目清单,是映射的主键之一
测试条件 从条目推导出的验证点,可多条
用例编号 落到具体用例,可多条
覆盖类型 正常、边界、异常,用于检查验证的充分性
备注 记录不覆盖的原因或替代验证方式

多对多关系需要单独记录:一个条目对应多条用例时,在映射表中按用例逐行展开;一条用例同时验证多个条目时,同样逐行记录,不做合并。这样无论从条目查用例,还是从用例反查条目,都能得到完整结果。确实无法覆盖的条目,在备注中写明原因和替代验证手段,例如由验收测试或线上监控承担,避免出现无说明的空白。


完成标志:不存在无用例对应的条目,也不存在无来源条目的用例。前者意味着需求没有被验证计划覆盖,后者意味着存在脱离需求的冗余用例,需要确认它验证的是哪条需求或哪类质量要求。


条目与用例分散在不同表格中时,维护映射关系容易断链。ONES 测试管理支持测试用例与需求、任务关联,测试计划与迭代关联,可以把条目、用例和执行结果放在同一工作项体系中互相引用,减少手工同步映射表的成本。



第三步:执行记录与缺陷回填形成验证证据


设计侧的依据只证明“计划验证什么”,执行侧的依据才证明“实际验证了什么”。执行记录要能支撑逐条回溯,因此每条用例的执行都要留下可查的结果。


执行记录要素:用例编号、执行时间、执行人、执行结果(通过、失败、阻塞、未执行)、执行环境。执行环境需要写清版本号、测试环境标识和必要的数据条件,否则同一用例在不同环境下的结果无法比较。


缺陷关联:用例失败时,创建缺陷并关联到对应用例和需求条目。关联到条目是为了让覆盖统计能区分“验证过且通过”和“验证过但失败”,失败项在缺陷修复并回归通过之前,不应计入通过。缺陷记录中写明复现步骤和影响的需求条目,开发修复后由测试回归并更新用例结果。


回归更新:回归执行后更新原有用例的结果和执行时间,保留历史轮次记录。覆盖判定使用最新一轮结果,历史记录用于说明问题收敛过程。


完成标志:每条已执行用例都有明确结果,每个失败项都有对应缺陷或书面说明(例如环境问题导致阻塞、需求变更导致用例作废)。未执行用例需要有原因记录,不能以空白状态进入判定环节。


在 ONES 中,未通过的用例可以快速创建缺陷任务,缺陷任务在测试与研发团队之间流转,回归结果回填到原用例,执行记录与缺陷记录保持在同一处可查。



第四步:约定覆盖口径并出具判定结论


覆盖率的分子分母如何定义,直接决定结论是“覆盖充分”还是“覆盖不足”。口径必须在测试开始前写明,事后调整口径会让结论失去可信度。


口径需写明的要素:统计对象(按需求条目还是按用例)、分母定义(全部条目、本期范围条目、还是高优先级条目)、通过阈值(例如高优先级条目全部通过、整体条目通过率不低于约定比例)、失败与阻塞项的处理方式。


两种常见口径的差异:


口径 统计对象 适用场合 注意点
按条目覆盖 需求条目是否至少有一条用例验证并通过 发布判定、验收前确认需求验证完整性 需说明一条条目对应多条用例时如何计通过
按用例覆盖 已执行用例占计划用例的比例及通过率 测试过程跟踪、版本间质量对比 用例数量受设计粒度影响,不能单独作为需求验证结论

两种口径可以并用,但需要分别说明分母,不能把条目通过率和用例执行率混在一个数字里表述。按条目覆盖更适合回答“需求验证是否完整”,按用例覆盖更适合回答“测试执行进度如何”。


评审与留证:评审由测试负责人组织,需求负责人确认条目范围与验收标准,开发负责人确认缺陷处理情况,共同形成结论。结论记录写明统计口径、统计时间、数据来源(条目清单与执行记录的版本)、未覆盖项及原因、结论(通过、有条件通过、不通过)。有条件通过的,列明遗留项和后续验证安排。


完成标志:结论中的每个数字都能回溯到具体条目编号和用例编号,评审参与人对口径无异议。



角色分工与各环节交付物


依据缺失往往不是没人做,而是没人对某份材料负责。下表把四层依据的产出责任和交接时点固定下来。


角色 交付物 交接时点
需求负责人 需求文档、验收标准、条目范围确认 需求评审通过后移交测试设计
测试设计人员 可验证条目清单(与需求方共同确认)、测试条件、用例、映射表 用例评审通过后移交执行
测试执行人员 执行记录、缺陷记录、回归结果 每轮执行结束后更新,判定前完成汇总
测试负责人 覆盖口径说明、统计结果、评审记录与结论 发布判定会前发出,会后归档
开发负责人 缺陷修复说明、影响范围确认 缺陷修复后、判定评审前

依据变更时的更新责任按来源归属:需求条目变更由需求负责人发起,测试设计人员同步更新映射和用例;用例变更由测试设计人员负责,执行人员按新版本执行;执行结果以最新一轮为准,历史记录保留不删。变更需要在评审记录中体现,说明结论基于哪一版条目和用例。



示例:一条登录需求如何走完四层依据


以下为演示情景,用于说明依据链条的形态,数据不代表真实项目。


需求条目:REQ-LOGIN-003,描述为“验证码错误时提示并拒绝登录”,验收标准为“输入错误验证码点击登录,页面提示验证码错误,用户停留在登录页且不产生登录会话”,优先级为高,来源需求为《账号登录需求》第 2.3 节。


测试条件与用例映射:测试条件一“错误验证码提示文案正确”,对应用例 TC-101(正常);测试条件二“连续错误达到阈值后锁定”,对应用例 TC-102(边界);测试条件三“锁定期间正确验证码也无法登录”,对应用例 TC-103(异常)。三条用例均标注来源条目 REQ-LOGIN-003。


执行与缺陷:TC-101 执行通过;TC-102 执行失败,实际未触发锁定,创建缺陷 BUG-207 并关联 TC-102 与 REQ-LOGIN-003;TC-103 因锁定功能未生效标记阻塞。开发修复 BUG-207 后回归,TC-102 与 TC-103 均通过,用例结果更新为通过并保留首轮失败记录。


判定结论:按条目覆盖口径统计,REQ-LOGIN-003 的三条用例全部通过,该条目计为已验证;按用例覆盖口径统计,本期计划用例 120 条,已执行 118 条,通过 115 条,2 条阻塞并注明原因。评审记录写明统计时间、数据来源版本,结论为有条件通过,遗留 2 条阻塞用例在发布前完成验证。



完成检查:依据是否齐备可判定


进入覆盖判定前,按下表逐项核对。任一项不满足,结论应暂缓出具。


层级 检查项 常见缺口
需求侧 每条条目有编号、验收标准、优先级、来源;通过条件可观察 条目无验收标准,或验收标准无法判定
设计侧 条目均有对应用例;用例均有来源条目;覆盖类型已标注 用例无来源条目,或条目无用例且无原因说明
执行侧 已执行用例均有结果;失败项均有缺陷或说明;回归结果已回填 执行无结果、失败项无缺陷记录、回归后未更新
判定侧 口径事先书面约定;统计可回溯到编号;评审记录完整 口径未事先约定,事后各自解释分母

阻断项:高优先级条目无验收标准、条目无用例且无替代验证说明、失败项无缺陷记录、覆盖口径未约定。这四类问题会直接导致结论无法复核,需要补齐后才能判定。补齐条件分别是:需求方补充可观察的验收标准、测试设计补充用例或书面说明替代验证方式、执行人员补建缺陷或记录阻塞原因、测试负责人组织确认口径并写入评审记录。


依据链完整后,覆盖结论不再依赖个人判断,而是由条目、用例、执行记录和口径说明共同支撑。ONES 测试管理可自动生成测试报告并支持自定义报告模板,把执行结果和缺陷分布汇总到同一份材料中,便于评审时对照条目与用例编号核对结论。



常见问题


需求条目和用例是多对多关系,映射表怎么记才不会乱?


按行展开,不做合并。一个条目对应多条用例时,在映射表中每条用例占一行;一条用例同时验证多个条目时,也按条目逐行记录。这样从条目查用例、从用例反查条目都能得到完整结果。


如果条目和用例分散在不同表格里,维护映射容易断链,可以考虑把条目、用例和执行结果放在同一工作项体系中互相引用,减少手工同步。


覆盖口径应该在什么时点确定,中途能调整吗?


口径应在测试开始前书面约定,写明统计对象、分母定义、通过阈值以及失败与阻塞项的处理方式。测试中途调整口径会让前后数据无法比较,也会削弱结论的可信度。


如果需求范围确实发生变更,应同步更新口径说明并在评审记录中注明变更原因和生效范围,结论中说明基于哪一版口径统计。


用例失败后创建了缺陷,这条需求算验证过还是没验证?


算验证过但未通过。覆盖统计需要区分“验证过且通过”和“验证过但失败”,失败项在缺陷修复并回归通过之前不计入通过。


缺陷要关联到对应用例和需求条目,修复后由测试回归并更新用例结果,保留首轮失败记录用于说明问题收敛过程。


确实无法覆盖的需求条目怎么处理?


在映射表备注中写明不覆盖的原因和替代验证方式,例如由验收测试、线上监控或其他专项验证承担。有书面说明的空白可以进入判定,无说明的空白应视为依据缺口。


如果该条目优先级为高,建议在判定评审中单独列出,由需求负责人确认替代验证是否足够。


覆盖判定评审需要哪些角色参加,结论怎么留证?


通常由测试负责人组织,需求负责人确认条目范围与验收标准,开发负责人确认缺陷处理情况。结论记录写明统计口径、统计时间、数据来源版本、未覆盖项及原因,以及通过、有条件通过或不通过的结论。


有条件通过的,列明遗留项和后续验证安排。结论中的每个数字都应能回溯到具体条目编号和用例编号,便于事后复核。