Files
Yb-QaAutomationHub/output/analysis/运单资料文件包下载需求_覆盖率审计.md
xst 901b6741ff test(运单资料文件包下载): 需求文档与 QE Fleet 全流程测试设计产物入库
- 需求 v1.0 定稿(md+docx)与 UI 原型入库;确认单判定 docx 为同文载体、安徽运八并行无冲突
- 全流程产物:分析 + 59 测试点 + 85 用例 + 测试数据 145 组;评审 3 阻断与覆盖缺口 GAP-001 已修复,裁决 PASS_WITH_FIX
- 导出 Excel(云效模型)+ XMind + 版本快照 v1;含 docx 生成脚本与转换校验产物
- .gitignore 排除 node_modules 与 Excel 锁文件
2026-09-09 09:31:55 +08:00

255 lines
23 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 运单资料文件包下载需求 覆盖率审计
> 生成时间: 2026-09-08
> 审计对象: output/test_points/运单资料文件包下载需求_测试点.md(59 个 TP)→ output/test_cases/运单资料文件包下载需求_测试用例.md(82 条 TC)
> 追溯骨干: output/analysis/运单资料文件包下载需求_分析.md 第 9 章(26 条 REQ)
> 风险基线: output/analysis/运单资料文件包下载需求_风险评估.md(P0=0,P1=1 RISK-AVAILABILITY,P2=4)
> 质量门限: fleet_config quality_gate.min_coverage = 0.95;P0 测试点→用例 100%;P1 测试点→用例 ≥90%;P0 风险 100%
> 审计方法: 以用例"备注列"与测试点"对应 REQ 标注"建立三级追溯;对全部 59 个 TP→TC 映射逐条核对关键验证点承接情况(非仅核对编号),并对 REQ→TP 表与 TP 描述的标注一致性做了交叉验证
## 覆盖概览
| 指标 | 值 | 目标 | 状态 |
| :--- | :---: | :---: | :---: |
| 需求→测试点覆盖率 | 100%(26/26) | ≥ 95% | ✅ |
| 测试点→用例覆盖率(全量) | 100%(59/59) | - | ✅ |
| P0 测试点→用例覆盖率 | 100%(25/25,且均有 P0 级用例承接) | 100% | ✅ |
| P1 测试点→用例覆盖率 | 100%(26/26) | ≥ 90% | ✅ |
| P2/P3 测试点→用例覆盖率 | 100%(8/8) | - | ✅ |
| P0 风险覆盖率 | 100%(P0 风险项=0,空集成立) | 100% | ✅ |
| P1 风险(RISK-AVAILABILITY)覆盖率 | 100%(关联缓解测试点全部有用例) | ≥ 90% | ✅ |
| 用例逆向追溯率 | 100%(82/82 条用例均可追溯到 REQ/TP) | - | ✅ |
| 过度覆盖率 | 0%(0/82 硬性冗余;另 1 条条件性冗余待 Q1 确认) | ≤ 5% | ✅ |
**总体结论**: 三级追溯链完整,全部量化指标达标,无"无测试点的需求"、无"无用例的测试点"、无"无需求依据的用例"。但存在 7 项覆盖缺口,其中 **GAP-001 为 BLOCKED 级**(P0 需求 REQ-015 的关键验证点未固化为用例断言,源于需求 4.4.4 条款边界未确认),其余 6 项为待确认口径传导的断言未固化或边角场景未覆盖。详见"覆盖缺口"。
**抽查验证说明**(对可疑标注的实测核对,非仅采信编号):
1. TC-001(冒烟)同时承接 TP-U-002/TP-T-001/TP-D-001 —— 核实其步骤覆盖模板下载→上传建任务→状态流转→下载解压全链路,与三个 TP 的主验证点相符;TP 的细粒度验证点(如统计卡片 +1、标签颜色)由 TC-010/032/033 完整承接,冒烟仅为主链路补充,判定合理。
2. TC-030(TP-U-017)备注"防重复点击归 PLT_TMS_FPKG_074 验证" —— 核实 TC-074 确以"1 秒内连点 5 次 + 接口并发重放"验证防抖与幂等,交叉引用成立,非断言遗漏。
3. TC-053/054(TP-P-007,全需求最易错点)—— 核实覆盖"校验失败剔除→证件改挂重算"与"单运单批次整批不生成"两条路径,但 TP-P-007 关键验证点 2"最小序号运单仅缺电子回单(文件缺失剔除)时同样重算挂载"无用例固化(用例文件自认数据缺口 #17 未收敛),登记为 GAP-001(BLOCKED)。
4. TC-047(TP-P-002)为"同名同车牌不同身份证"变体 —— 核实在 TP-P-002 关键验证点范围内(同车牌+不同司机/身份证拆批),非冗余拆分。
5. REQ-017 追溯表列有 TP-N-005,而 TP-N-005 描述写"对应 REQ-002/REQ-026" —— 核实其关键验证点含"审计日志可反查谁在何时下载了哪个任务(联动 TP-D-003)",实质支撑 REQ-017,判定为标注不一致而非覆盖缺口(建议下版统一 TP 描述)。
6. TC-009(TP-U-001)"模板内填写说明不参与数据解析"与 TP-U-001 关键验证点逐字对应;TC-013(TP-U-004)"列顺序打乱允许"与 TP-U-004 关键验证点逐字对应 —— 标注可信。
## 需求→测试点 追溯矩阵
> 26/26 全覆盖。测试点列表以测试点文档文末"REQ 追溯对照表"为准,并已与各 TP 描述中的"对应 REQ-X"标注逐条交叉验证一致(除上述 TP-N-005 描述标注差异)。
| 需求条目 | 测试点 | 用例数 | 覆盖状态 |
| :--- | :--- | :---: | :---: |
| REQ-001: 新增"运单文件包"菜单挂运单管理下,上传入口+任务列表结构(P0) | TP-M-001、TP-U-002、TP-N-008 | 4(001/002/010/082) | ✅ |
| REQ-002: 菜单权限控制,仅运营人员可见可操作(P0) | TP-M-002、TP-M-003、TP-M-004、TP-M-005、TP-N-005 | 7(003~008/078) | ✅ |
| REQ-003: 模板下载 xlsx 三列(P1) | TP-U-001 | 1(009) | ✅ |
| REQ-004: 上传限制 xlsx、≤2000 行、≤10MB(P1) | TP-U-002、TP-U-006、TP-U-007、TP-U-017、TP-N-007 | 8(001/010/015~018/030/081) | ✅ |
| REQ-005: 文件级校验整体拒绝并提示具体原因(P0) | TP-U-002、TP-U-003、TP-U-004、TP-U-005 | 6(001/010~014) | ✅ |
| REQ-006: 数据级校验六类行级失败(P0) | TP-U-008~TP-U-016(9 个) | 11(019~029) | ✅ |
| REQ-007: 剔除失败行继续有效行,记"已完成·部分失败"(P0) | TP-U-015、TP-T-002 | 3(026/027/034) | ✅ |
| REQ-008: 任务状态机五态(P0) | TP-T-001、TP-T-002、TP-T-003、TP-D-004 | 7(001/032~036/068) | ✅ |
| REQ-009: 任务列表十字段完整(P1) | TP-T-004 | 2(037/038) | ✅ |
| REQ-010: 三要素归批,换车/换司机拆批(P0) | TP-P-001、TP-P-002 | 3(045~047) | ✅ |
| REQ-011: 三层目录结构与命名,最小序号带证件后缀(P0) | TP-P-003、TP-P-011、TP-T-008 | 3(044/048/060) | ✅ |
| REQ-012: 运单包内容矩阵,单运单批次仍含证件(P0) | TP-P-004、TP-P-012 | 2(049/061) | ✅ |
| REQ-013: 合同/回单/证件数据来源口径(P1) | TP-P-005、TP-P-006、TP-P-013 | 5(050~052/062/063) | ✅ |
| REQ-014: 子目录组织与重名追加 (1)(2)(P1) | TP-P-010 | 1(059) | ✅ |
| REQ-015: 文件缺失不阻断记清单;最小序号剔除重算改挂;单文件重试 3 次(P0) | TP-P-007、TP-P-008、TP-P-009、TP-P-013、TP-N-006 | 10(053~058/062/063/079/080) | ✅(⚠️ GAP-001 子验证点未固化) |
| REQ-016: 任务完成后下载总包 zip,重复下载幂等(P0) | TP-D-001、TP-D-002、TP-D-004、TP-D-005、TP-D-006、TP-N-007 | 8(001/065~071/081) | ✅ |
| REQ-017: 下载审计日志:操作人/时间/任务编号(P0) | TP-D-003、TP-N-005 | 2(067/078) | ✅(⚠️ GAP-004 失败清单留痕待确认) |
| REQ-018: 失败清单下载 xlsx 四列(P1) | TP-T-006 | 2(041/042) | ✅ |
| REQ-019: 异步处理,列表可见进度(P1) | TP-T-005 | 2(039/040) | ✅ |
| REQ-020: 1000 单规模 30 分钟内完成(P1) | TP-N-001 | 1(072) | ✅ |
| REQ-021: 保留 7 天过期清理不可下载(P1) | TP-N-004 | 2(076/077) | ✅(⚠️ GAP-003 展示/临界口径待确认) |
| REQ-022: 多任务排队,并发上限 1~2(P1) | TP-N-002、TP-N-003 | 3(073~075) | ✅ |
| REQ-023: 同一文件重复上传允许,独立任务(P2) | TP-U-018、TP-N-003 | 3(031/074/075) | ✅ |
| REQ-024: 系统异常置"失败",删除后重传(P1) | TP-T-003、TP-T-007、TP-N-006 | 5(035/036/043/079/080) | ✅ |
| REQ-025: 按批次包单独下载本期不做(P3,负向范围) | TP-D-005 | 1(069) | ✅ |
| REQ-026: zip 不加密,依赖权限+审计补偿(P2) | TP-P-014、TP-N-005(追溯表口径;TP-M-005 描述亦标注 REQ-026) | 4(007/008/064/078) | ✅ |
## 测试点→用例 追溯矩阵
> 59/59 全覆盖,按模块归组呈现。用例编号省略前缀 PLT_TMS_FPKG_。"优先级"列为测试点优先级;已核实全部 P0 测试点均有 P0 级用例承接,无高风险场景下沉。
### 模块 TP-M 菜单与权限(5 个测试点)
| 测试点 | 优先级 | 用例 | 覆盖状态 |
| :--- | :---: | :--- | :---: |
| TP-M-001 菜单入口与页面骨架 | P0 | 002 | ✅ |
| TP-M-002 运营人员可见可操作 | P0 | 003 | ✅ |
| TP-M-003 非授权角色不可见且 URL 直达被拦截 | P0 | 004、005 | ✅ |
| TP-M-004 接口层越权防御 | P1 | 006 | ✅ |
| TP-M-005 机构数据隔离 | P2 | 007、008 | ✅ |
### 模块 TP-U 上传与校验(18 个测试点)
| 测试点 | 优先级 | 用例 | 覆盖状态 |
| :--- | :---: | :--- | :---: |
| TP-U-001 模板下载 | P0 | 009 | ✅(⚠️ GAP-006 多 Sheet/合并单元格口径未覆盖) |
| TP-U-002 正常上传创建任务正向链路 | P0 | 001、010 | ✅ |
| TP-U-003 非 xlsx 格式整体拒绝 | P0 | 011 | ✅ |
| TP-U-004 列名缺失或不符整体拒绝 | P0 | 012、013 | ✅(⚠️ GAP-006 同上关联) |
| TP-U-005 文件损坏整体拒绝 | P1 | 014 | ✅ |
| TP-U-006 行数边界 2000/2001/空清单 | P1 | 015、016 | ✅(Q2/Q3 已收敛) |
| TP-U-007 文件大小边界 10MB 临界 | P1 | 017、018 | ✅ |
| TP-U-008 序号非正整数行级失败 | P0 | 019 | ✅(⚠️ GAP-005 序号极值边界未单列) |
| TP-U-009 序号重复行级失败(全文件唯一) | P0 | 020 | ✅ |
| TP-U-010 货源单号/运单号为空行级失败 | P0 | 021 | ✅ |
| TP-U-011 运单号不存在行级失败 | P0 | 022 | ✅(⚠️ GAP-007 大小写口径未显式覆盖) |
| TP-U-012 货源单号不一致行级失败 | P0 | 023 | ✅ |
| TP-U-013 运单号文件内重复行级失败 | P0 | 024 | ✅ |
| TP-U-014 缺司机/车辆信息无法归批 | P0 | 025 | ✅ |
| TP-U-015 单文件混合多类错误(规则组合) | P1 | 026、027 | ✅ |
| TP-U-016 单元格特殊字符与超长内容防御 | P1 | 028、029 | ✅ |
| TP-U-017 上传弹窗交互细项 | P1 | 030(防重复点击交叉引用 074) | ✅ |
| TP-U-018 同一文件重复上传独立任务 | P2 | 031 | ✅ |
### 模块 TP-T 任务与列表(8 个测试点)
| 测试点 | 优先级 | 用例 | 覆盖状态 |
| :--- | :---: | :--- | :---: |
| TP-T-001 状态机正向流转与状态标签 | P0 | 001、032、033 | ✅ |
| TP-T-002 已完成·部分失败状态 | P0 | 034 | ✅ |
| TP-T-003 失败状态与删除重传 | P1 | 035、036 | ✅ |
| TP-T-004 列表字段、排序与分页 | P1 | 037、038 | ✅ |
| TP-T-005 异步处理与进度可见 | P1 | 039、040 | ✅ |
| TP-T-006 失败清单下载内容 | P1 | 041、042 | ✅ |
| TP-T-007 处理中系统异常一致性 | P1 | 043 | ✅ |
| TP-T-008 任务详情与结构预览弹窗(原型功能) | P3 | 044 | ✅(⚠️ Q1 待确认,条件性 RED-001) |
### 模块 TP-P 打包归批与文件包结构(14 个测试点)
| 测试点 | 优先级 | 用例 | 覆盖状态 |
| :--- | :---: | :--- | :---: |
| TP-P-001 三要素归批正向 | P0 | 045 | ✅ |
| TP-P-002 换车/换司机拆批(规则组合) | P0 | 046、047 | ✅ |
| TP-P-003 三层目录结构与命名规则 | P0 | 048 | ✅ |
| TP-P-004 内容矩阵与单运单批次 | P0 | 049 | ✅ |
| TP-P-005 合同口径(含承运不含委托/框架) | P1 | 050 | ✅ |
| TP-P-006 电子回单与证件档案口径 | P1 | 051、052 | ✅ |
| TP-P-007 最小序号剔除后证件挂载重算 | P0 | 053、054 | ✅(⚠️ GAP-001 BLOCKED:文件缺失剔除路径断言未固化) |
| TP-P-008 文件缺失不阻断任务 | P0 | 055、056 | ✅ |
| TP-P-009 单文件下载失败自动重试 3 次 | P1 | 057、058 | ✅ |
| TP-P-010 子目录组织与重名文件处理 | P1 | 059 | ✅ |
| TP-P-011 批次包命名特殊字符与超长防御 | P1 | 060 | ✅ |
| TP-P-012 大批量打包完整性与统计一致性 | P1 | 061 | ✅ |
| TP-P-013 打包数据来源溯源与实时性 | P1 | 062、063 | ✅(⚠️ GAP-002 Q4 口径未确认) |
| TP-P-014 zip 不加密暴露面确认 | P2 | 064 | ✅ |
### 模块 TP-D 下载与幂等审计(6 个测试点)
| 测试点 | 优先级 | 用例 | 覆盖状态 |
| :--- | :---: | :--- | :---: |
| TP-D-001 任务完成后下载总包 | P0 | 001、065 | ✅ |
| TP-D-002 重复下载幂等 | P0 | 066 | ✅ |
| TP-D-003 下载审计日志 | P0 | 067 | ✅(⚠️ GAP-004 Q6 失败清单留痕待确认) |
| TP-D-004 处理中/未完成任务不可下载(双重校验) | P1 | 068 | ✅ |
| TP-D-005 按批次包单独下载不做(负向确认) | P3 | 069 | ✅ |
| TP-D-006 下载中断与大文件弱网 | P1 | 070、071 | ✅ |
### 模块 TP-N 非功能:性能/并发/保留期/异常恢复(8 个测试点)
| 测试点 | 优先级 | 用例 | 覆盖状态 |
| :--- | :---: | :--- | :---: |
| TP-N-001 性能基线 1000 单 30 分钟 | P1 | 072 | ✅ |
| TP-N-002 多任务并发排队上限 1~2 | P1 | 073 | ✅ |
| TP-N-003 并发提交与重复提交幂等 | P1 | 074、075 | ✅ |
| TP-N-004 保留期 7 天过期边界 | P1 | 076、077 | ✅(⚠️ GAP-003 Q5/临界口径待确认) |
| TP-N-005 敏感数据合规补偿控制 | P2 | 078 | ✅ |
| TP-N-006 OBS 依赖不可用降级与恢复 | P1 | 079、080 | ✅ |
| TP-N-007 zip 中文目录与多来源 xlsx 兼容性 | P2 | 081 | ✅ |
| TP-N-008 新增菜单对既有功能回归隔离 | P2 | 082 | ✅ |
## 风险覆盖审计
| 风险项 | 等级 | 关联缓解测试点 | 用例承接 | 覆盖判定 |
| :--- | :---: | :--- | :--- | :---: |
| (无 P0 风险项) | P0 | - | - | ✅ 100%(空集成立,无阻断项) |
| RISK-AVAILABILITY 可用性(并发/重试/幂等/容量,评分 12) | P1 | TP-N-002(并发排队主场景)、TP-N-003(重复/并发提交幂等)、TP-D-002(下载幂等)、TP-P-009(OBS 重试 3 次)、TP-N-001(容量基线)、TP-T-007/TP-N-006(异常恢复) | 073、074/075、066、057/058、072、043、079/080 | ✅ 100% ≥ 90%(测试点文档明确"不得静默省略"的主场景 TP-N-002 已有专项用例 073) |
| RISK-FINANCIAL 资损(评分 5) | P2 | 无专属 TP(本需求为只读导出,无直接资损动作);缓解依赖幂等/并发类 TP | 同上幂等/并发用例 | ✅ 缓解面已覆盖 |
| RISK-COMPLIANCE 合规(评分 5) | P2 | TP-M-004、TP-M-005、TP-P-014、TP-N-005、TP-D-003 | 006、007/008、064、078、067 | ✅ 100%(权限+审计补偿链均有用例) |
| RISK-DATA 数据(评分 4) | P2 | TP-P-012、TP-P-013、TP-U-016 | 061、062/063、028/029 | ✅ 100% |
| RISK-COMPATIBILITY 兼容性(评分 3) | P2 | TP-N-007 | 081 | ✅ 100% |
**说明**: 本项目 P0 风险 = 0,无 P0 风险阻断项。P1 风险 RISK-AVAILABILITY 的缓解面(并发排队、重复提交幂等、下载幂等、OBS 重试、容量基线、异常恢复共 7 个测试点)全部有用例承接且无断言缺失,覆盖率 100%,满足 ≥90% 目标。
## 覆盖缺口
### 缺口 GAP-001: 最小序号运单因文件缺失被剔除后证件改挂重算——关键验证点未固化为用例断言 【BLOCKED】
- 需求条目: REQ-015(P0)/ 测试点 TP-P-007(P0,测试点文档自评"全需求最易错点")
- 缺口类型: 关键验证点未固化为用例(部分覆盖——TC-053/054 已覆盖"校验失败剔除"与"单运单批次整批剔除"两条路径,缺"文件缺失剔除"路径)
- 风险等级: P0
- 现状: TP-P-007 关键验证点 2"最小序号运单仅缺电子回单(文件缺失剔除)时同样重算挂载"无用例承接;用例文件已自认该场景依赖需求 4.4.4 条款一(缺失不剔除仅记清单)与条款二(剔除改挂)的适用边界未确认(实现口径确认项 3,数据缺口 #17,CMB-010/011 未固化)
- 建议: 【阻断验收签发,不阻断用例执行】需求方确认 4.4.4 条款一/二在"最小序号运单仅缺回单/合同"场景的边界后,基于 TC-053 补充变体用例(批次最小序号运单仅缺回单)并固化证件改挂断言;确认前该子项按 BLOCKED 跟踪
### 缺口 GAP-002: 打包期间源数据变更口径(快照 vs 实时)未确认,断言无法取值
- 需求条目: REQ-013/REQ-015(P1/P0)/ 测试点 TP-P-013 / 用例 063
- 缺口类型: 断言未固化(用例已建,核心断言 1 依赖 Q4 二选一)
- 风险等级: P1
- 现状: TC-063 仅能验证"全任务一致"(不混杂),无法验证口径正确性;新回单是否入包无判定基准
- 建议: 需求方在快照/实时中二选一后回填 TC-063 断言 1,并同步 TP-P-013 回归口径
### 缺口 GAP-003: 过期任务展示形态与 7 天临界口径未确认,两条用例断言双口径悬置
- 需求条目: REQ-021(P1)/ 测试点 TP-N-004 / 用例 076、077
- 缺口类型: 断言未固化(TC-077 断言 1 依赖 Q5:新增"已过期"展示态 or 原状态+按钮置灰;TC-076 断言 2 依赖 BND-032"完成时间+7 天整"实现口径)
- 风险等级: P1
- 建议: 确认 Q5 展示形态与保留期临界算法后回填断言;临界口径建议直接写死为"完成时间 +7×24h"或明确实现值
### 缺口 GAP-004: 失败清单下载是否记审计日志未确认,审计留痕范围存在豁口
- 需求条目: REQ-017(P0)/ 测试点 TP-D-003 / 用例 067
- 缺口类型: 断言未覆盖(失败清单含货源单号/运单号,属敏感业务数据,其下载留痕当前无用例断言,依赖 Q6)
- 风险等级: P1(REQ-017 主体"文件包下载审计"已由 TC-067 完整覆盖,本缺口为其延伸留痕项)
- 建议: 采纳用例文件建议"一并留痕"(与文件包下载同表或同流水),确认后在 TC-067 补充失败清单下载审计断言
### 缺口 GAP-005: 序号 int32 上限与 Excel 15 位精度截断边界无用例固化
- 需求条目: REQ-006(P0)/ 测试点 TP-U-008 / 用例 019
- 缺口类型: 边界场景无用例(用例文件实现口径确认项 9 自认"TP-U-008 未单列用例,建议执行 019 时顺带探测")
- 风险等级: P2(序号业务上通常 ≤2000,极值输入概率低,但一旦静默截断将破坏"最小序号"判定链)
- 建议: 在 TC-019 清单中显式追加 2 行极值序号数据(int32 上限、15 位以上数字),固化断言"合法或明确报错,不得静默截断"
### 缺口 GAP-006: 多 Sheet 工作簿、表头后附加说明行、合并单元格清单的解析口径无用例
- 需求条目: REQ-004/REQ-005(P1/P0)/ 测试点 TP-U-001、TP-U-004
- 缺口类型: 边界场景无用例(数据缺口 #15 自认"本文件未固化断言")
- 风险等级: P2
- 现状: TC-009 仅覆盖"模板自带说明行不参与解析"这一特例;用户自造多 Sheet/说明行/合并单元格文件的读取行为(读取首 Sheet?整体拒绝?)无任何用例约束
- 建议: 补充 1 条解析口径用例,或经需求/开发确认后显式声明"仅读首 Sheet、其余忽略"并写入用例前置说明
### 缺口 GAP-007: 运单号大小写匹配口径未显式覆盖
- 需求条目: REQ-006(P0)/ 测试点 TP-U-011 / 用例 022
- 缺口类型: 边界场景无用例(TP-U-011 关键验证点含"大小写/前后空格匹配口径一致",TC-022 仅覆盖前后空格变体,无大小写变体行)
- 风险等级: P3
- 建议: 在 TC-022 清单追加 1 行大小写变体运单号,验证存在性校验与实际导出同口径
## 过度覆盖
### 冗余 RED-001(条件性): TC-044 结构预览弹窗用例悬于未确认功能之上
- 用例: PLT_TMS_FPKG_044(承接 TP-T-008,标注 REQ-011)
- 问题: "查看结构/文件包结构预览"仅见于原型、需求正文未定义(待确认 Q1)。当前状态下可追溯到 TP-T-008→REQ-011,不计为硬性冗余;但若需求方确认本期裁剪该功能,TC-044 即成为无需求依据的过度覆盖
- 建议: Q1 确认裁剪则删除 TC-044 并同步移除 TP-T-008;确认实现则按弹窗实际字段回填断言后保留。冗余率影响: 裁剪情形下 1/82 ≈ 1.2%,仍 ≤ 5% 门限
**硬性冗余统计**: 0/82 = 0%(全部 82 条用例均可逆向追溯到 REQ/TP),≤ 5% 门限 ✅
**冗余倾向观察(不判为 RED,保留合理)**: TC-081 断言 3(.xls 改后缀 .xlsx 被拒)与 TC-011 部分重叠——属兼容性维度的跨模块交叉验证(RISK-COMPATIBILITY),且两用例执行环境不同(解压工具/浏览器 vs 接口直传),保留合理;TC-001 冒烟与明细用例存在主链路重叠,属用例文件声明的"端到端冒烟单独成条"设计原则,保留合理。
## 覆盖热力图
> 按 TP 文档六大模块统计。关联需求条目数为该模块 TP 触及的去重 REQ 数(一条 REQ 可跨多模块被计数,合计 40 条次 > 26 条);用例数含跨模块共用的 TC-001(冒烟,在三个模块各计 1 次,合计 84 计次 - 2 重复 = 82 条唯一)。
| 模块 | 关联需求条目 | 测试点(P0/P1/P2/P3) | 用例 | 覆盖密度 |
| :--- | :---: | :---: | :---: | :--- |
| 菜单与权限 | 3(REQ-001/002/026) | 5(3/1/1/0) | 7 | ███ 适中 |
| 上传与校验 | 7(REQ-001/003/004/005/006/007/023) | 18(11/6/1/0) | 24 | ██████████ 密集 |
| 任务与列表 | 7(REQ-007/008/009/011/018/019/024) | 8(2/5/0/1) | 14 | ██████ 较密 |
| 打包归批与文件包结构 | 7(REQ-010/011/012/013/014/015/026) | 14(6/7/1/0) | 20 | ████████ 密集 ⚠️ GAP-001 |
| 下载与幂等审计 | 4(REQ-008/016/017/025) | 6(3/2/0/1) | 8 | ███ 适中 ⚠️ GAP-004 |
| 非功能 | 12(REQ-001/002/004/015/016/017/020/021/022/023/024/026) | 8(0/5/3/0) | 11 | █████ 较密 ⚠️ GAP-003 |
**盲区高亮**:
- 无硬盲区: 不存在"无测试点的需求"(26/26)、"无用例的测试点"(59/59)、"无需求依据的用例"(82/82)。
- 待确认型盲区(需求侧未决传导,非用例缺失): 集中在 **打包归批**(GAP-001,文件缺失剔除触发证件改挂的口径,BLOCKED)与 **非功能**(GAP-003,过期展示/临界口径);**下载与幂等审计** 的盲区为审计留痕范围延伸(GAP-004)。
- 密度观察: 上传与校验(24 用例/18 TP,均值 1.33)与打包归批(20/14,均值 1.43)覆盖最厚,与"校验规则 + 归批规则是本需求复杂度核心"的判断一致;下载与幂等审计均值 1.33 但绝对量最少(8 条),其中 3 个 P0(下载/幂等/审计)均有专项 P0 用例,密度虽低但关键面无缺口。
- 模块口径说明: 用例文件的模块分布(菜单权限 7/上传校验 13/数据校验 10/任务列表 13/打包归批 20/下载审计 7/非功能 11/跨模块冒烟 1)中,"数据校验"10 条在本热力图中并入"上传与校验"(对应 TP-U-008~016 的承接用例),"跨模块冒烟"001 按其实际承接的 TP 归入三个模块重复计数。
## 审计结论
量化指标全部达标(需求覆盖 100%、P0/P1 测试点覆盖 100%、过度覆盖 0%),追溯标注质量高(抽查 6 处可疑标注,5 处成立、1 处为无害的描述不一致)。**签发建议: 有条件通过** —— 以 GAP-001(BLOCKED,REQ-015 关键验证点"文件缺失剔除→证件改挂"断言未固化)的需求侧确认为签发前置条件;GAP-002~004 随 Q4/Q5/Q6 确认回填断言;GAP-005~007 为低成本补强项,建议随执行批次吸收。