test(物流公司管理需求): 需求文档与 QE Fleet 全流程设计产物入库

- 需求 v1.1 + 2026-09-29 需求方确认的 Q7~Q19 决议(含 BR-07/BR-09/6.7/6.9 矛盾表述修订)
- 测试点 159 个、测试用例 164 条(P0 55/P1 81/P2 23/P3 5),需求→测试点→用例三级追溯覆盖率 100%
- 质量裁决 PASS(首轮 PASS_WITH_FIX,13 项待确认确认后复裁决升级);评审原始 2 阻断项+9 建议项+3 优化项已全部修复
- 确认单:与 4 个历史需求均为并行关系、0 冲突、0 回写
- 附导出 v1/v2 版本快照、Playwright/Appium 脚本骨架、覆盖率审计脚本与指标、评审修复脚本
This commit is contained in:
xst
2026-09-29 10:03:35 +08:00
parent 1a53a1f537
commit 8c61209dd4
47 changed files with 14470 additions and 0 deletions
@@ -0,0 +1,338 @@
# 物流公司管理需求 覆盖率审计
> 生成时间: 2026-09-29
> 审计对象: output/test_points/物流公司管理需求_测试点.md(159 个测试点)→ output/test_cases/物流公司管理需求_测试用例.md(164 条用例)
> 追溯骨干: output/analysis/物流公司管理需求_分析.md 第 12 章(38 条 REQ)
> 风险基线: output/analysis/物流公司管理需求_风险评估.md(P0=0;P1=1 项 RISK-DATA;P2=4 项)
> 质量门限: fleet_config quality_gate.min_coverage = 0.95;P0 测试点→用例 100%;P1 测试点→用例 ≥90%;P0 风险 100%
> 审计方法: 以用例「备注列」的 TP 追溯号与测试点「描述」中的 REQ 标注建立三级追溯链,**全量脚本化计算**(脚本 output/compute_coverage.py,指标留存 output/logs/coverage_metrics.json),非抽样估算;跨用例引用在矩阵中按互引关系折算
> 时效说明: 本报告在本轮评审修复(2 个阻断项 + 9 条建议项 + 3 条优化项)与**需求方 2026-09-29 确认 13 项待确认口径**之后执行,反映**最终产物状态**;被修复用例均在备注中标注 `[AI修正: 评审修复 <编号>]`,被确认项标注 `[已确认 2026-09-29: <口径>]` + `[AI修正: 待确认已确认 2026-09-29]`
## 覆盖概览
| 指标 | 值 | 目标 | 状态 |
| :--- | :---: | :---: | :---: |
| 需求→测试点覆盖率 | 100.0%(38/38) | ≥ 95% | ✅ |
| 测试点→用例覆盖率(全量) | 100.0%(159/159) | - | ✅ |
| P0 测试点→用例覆盖率 | 100.0%(53/53) | 100% | ✅ |
| P1 测试点→用例覆盖率 | 100.0%(78/78) | ≥ 90% | ✅ |
| P0 风险覆盖率 | 100%(P0 风险项=0,空集成立) | 100% | ✅ |
| P1 风险(RISK-DATA)覆盖率 | 100%(2 条专项用例承接) | ≥ 90% | ✅ |
| 用例逆向追溯率 | 100%(164/164 条可追溯到 REQ/TP) | - | ✅ |
| 过度覆盖率 | 0%(0/164,无无依据用例) | ≤ 5% | ✅ |
**总体结论**: 三级追溯链完整,全部量化指标达标;无「无测试点的需求条目」、无「无用例的测试点」、无「无需求依据的用例」。评审阶段识别的 2 个阻断项与 9 条建议项已全部修复并复核,**无遗留覆盖缺口**。
## 需求→测试点 追溯矩阵
| 需求条目 | 测试点 | 覆盖状态 |
| :--- | :--- | :---: |
| REQ-001 | TP-A-001, TP-X-014 | ✅ |
| REQ-002 | TP-A-002 | ✅ |
| REQ-003 | TP-A-008, TP-A-011 | ✅ |
| REQ-004 | TP-A-009, TP-A-010 | ✅ |
| REQ-005 | TP-A-013, TP-A-014 | ✅ |
| REQ-006 | TP-B-001, TP-B-002, TP-B-003, TP-B-004, TP-B-005 | ✅ |
| REQ-007 | TP-B-007, TP-B-008, TP-B-009, TP-B-010, TP-B-011, TP-B-012, TP-B-013, TP-B-014 | ✅ |
| REQ-008 | TP-B-019, TP-B-020 | ✅ |
| REQ-009 | TP-B-015, TP-B-016, TP-B-017 | ✅ |
| REQ-010 | TP-B-018 | ✅ |
| REQ-011 | TP-B-021 | ✅ |
| REQ-012 | TP-C-001, TP-C-003 | ✅ |
| REQ-013 | TP-D-001, TP-D-002, TP-D-003, TP-D-006 | ✅ |
| REQ-014 | TP-F-022 | ✅ |
| REQ-015 | TP-D-009 | ✅ |
| REQ-016 | TP-D-011 | ✅ |
| REQ-017 | TP-E-001, TP-E-022 | ✅ |
| REQ-018 | TP-E-003 | ✅ |
| REQ-019 | TP-E-005, TP-E-010, TP-E-011, TP-E-012 | ✅ |
| REQ-020 | TP-E-016, TP-E-018, TP-E-020 | ✅ |
| REQ-021 | TP-E-009 | ✅ |
| REQ-022 | TP-F-001 | ✅ |
| REQ-023 | TP-F-002, TP-F-019 | ✅ |
| REQ-024 | TP-F-003, TP-F-004, TP-F-005, TP-F-006, TP-F-007, TP-F-008, TP-F-009 | ✅ |
| REQ-025 | TP-F-012, TP-F-014 | ✅ |
| REQ-026 | TP-F-013, TP-F-015 | ✅ |
| REQ-027 | TP-I-006 | ✅ |
| REQ-028 | TP-F-017 | ✅ |
| REQ-029 | TP-F-018 | ✅ |
| REQ-030 | TP-F-021 | ✅ |
| REQ-031 | TP-G-001, TP-G-007 | ✅ |
| REQ-032 | TP-H-001, TP-H-002, TP-H-007 | ✅ |
| REQ-033 | TP-I-001, TP-I-002, TP-I-003, TP-I-004 | ✅ |
| REQ-034 | TP-I-006, TP-I-007, TP-I-008 | ✅ |
| REQ-035 | TP-J-001, TP-J-002, TP-J-005, TP-J-008 | ✅ |
| REQ-036 | TP-A-014 | ✅ |
| REQ-037 | TP-E-004 | ✅ |
| REQ-038 | TP-X-014 | ✅ |
## 测试点→用例 追溯矩阵
### 模块 A(15 个测试点)
| 测试点 | 优先级 | 用例 | 覆盖状态 |
| :--- | :---: | :--- | :---: |
| TP-A-001 | P0 | PLT_BSC_LC_001 | ✅ |
| TP-A-002 | P0 | PLT_BSC_LC_002 | ✅ |
| TP-A-003 | P1 | PLT_BSC_LC_003 | ✅ |
| TP-A-004 | P1 | PLT_BSC_LC_004 | ✅ |
| TP-A-005 | P1 | PLT_BSC_LC_005 | ✅ |
| TP-A-006 | P1 | PLT_BSC_LC_006 | ✅ |
| TP-A-007 | P2 | PLT_BSC_LC_007 | ✅ |
| TP-A-008 | P0 | PLT_BSC_LC_008 | ✅ |
| TP-A-009 | P1 | PLT_BSC_LC_009 | ✅ |
| TP-A-010 | P1 | PLT_BSC_LC_010 | ✅ |
| TP-A-011 | P1 | PLT_BSC_LC_011 | ✅ |
| TP-A-012 | P2 | PLT_BSC_LC_012 | ✅ |
| TP-A-013 | P1 | PLT_BSC_LC_013 | ✅ |
| TP-A-014 | P1 | PLT_BSC_LC_014 | ✅ |
| TP-A-015 | P2 | PLT_BSC_LC_015 | ✅ |
### 模块 B(24 个测试点)
| 测试点 | 优先级 | 用例 | 覆盖状态 |
| :--- | :---: | :--- | :---: |
| TP-B-001 | P1 | PLT_BSC_LC_016 | ✅ |
| TP-B-002 | P0 | PLT_BSC_LC_017 | ✅ |
| TP-B-003 | P0 | PLT_BSC_LC_018 | ✅ |
| TP-B-004 | P0 | PLT_BSC_LC_019 | ✅ |
| TP-B-005 | P0 | PLT_BSC_LC_020 | ✅ |
| TP-B-006 | P1 | PLT_BSC_LC_021 | ✅ |
| TP-B-007 | P0 | PLT_BSC_LC_022 | ✅ |
| TP-B-008 | P1 | PLT_BSC_LC_023 | ✅ |
| TP-B-009 | P0 | PLT_BSC_LC_024, PLT_BSC_LC_025, PLT_BSC_LC_026 | ✅ |
| TP-B-010 | P1 | PLT_BSC_LC_027, PLT_BSC_LC_028 | ✅ |
| TP-B-011 | P1 | PLT_BSC_LC_029 | ✅ |
| TP-B-012 | P1 | PLT_BSC_LC_030 | ✅ |
| TP-B-013 | P2 | PLT_BSC_LC_031 | ✅ |
| TP-B-014 | P1 | PLT_BSC_LC_032, PLT_BSC_LC_033 | ✅ |
| TP-B-015 | P0 | PLT_BSC_LC_034 | ✅ |
| TP-B-016 | P0 | PLT_BSC_LC_035 | ✅ |
| TP-B-017 | P1 | PLT_BSC_LC_036 | ✅ |
| TP-B-018 | P0 | PLT_BSC_LC_037 | ✅ |
| TP-B-019 | P0 | PLT_BSC_LC_038, PLT_TMS_LC_081 | ✅ |
| TP-B-020 | P1 | PLT_BSC_LC_039 | ✅ |
| TP-B-021 | P0 | PLT_BSC_LC_040 | ✅ |
| TP-B-022 | P2 | PLT_BSC_LC_041 | ✅ |
| TP-B-023 | P2 | PLT_BSC_LC_042 | ✅ |
| TP-B-024 | P2 | PLT_BSC_LC_043 | ✅ |
### 模块 C(5 个测试点)
| 测试点 | 优先级 | 用例 | 覆盖状态 |
| :--- | :---: | :--- | :---: |
| TP-C-001 | P0 | PLT_BSC_LC_044 | ✅ |
| TP-C-002 | P1 | PLT_BSC_LC_045 | ✅ |
| TP-C-003 | P0 | PLT_BSC_LC_046 | ✅ |
| TP-C-004 | P0 | PLT_BSC_LC_047 | ✅ |
| TP-C-005 | P1 | PLT_BSC_LC_048 | ✅ |
### 模块 D(13 个测试点)
| 测试点 | 优先级 | 用例 | 覆盖状态 |
| :--- | :---: | :--- | :---: |
| TP-D-001 | P1 | PLT_BSC_LC_049 | ✅ |
| TP-D-002 | P0 | PLT_BSC_LC_050 | ✅ |
| TP-D-003 | P0 | PLT_BSC_LC_051 | ✅ |
| TP-D-004 | P1 | PLT_BSC_LC_052 | ✅ |
| TP-D-005 | P2 | PLT_BSC_LC_053 | ✅ |
| TP-D-006 | P0 | PLT_BSC_LC_054 | ✅ |
| TP-D-007 | P2 | PLT_BSC_LC_055 | ✅ |
| TP-D-008 | P1 | PLT_BSC_LC_056 | ✅ |
| TP-D-009 | P0 | PLT_BSC_LC_057 | ✅ |
| TP-D-010 | P0 | PLT_BSC_LC_058 | ✅ |
| TP-D-011 | P0 | PLT_BSC_LC_059 | ✅ |
| TP-D-012 | P2 | PLT_BSC_LC_060 | ✅ |
| TP-D-013 | P1 | PLT_BSC_LC_061 | ✅ |
### 模块 E(22 个测试点)
| 测试点 | 优先级 | 用例 | 覆盖状态 |
| :--- | :---: | :--- | :---: |
| TP-E-001 | P1 | PLT_BSC_LC_062 | ✅ |
| TP-E-002 | P1 | PLT_BSC_LC_063 | ✅ |
| TP-E-003 | P1 | PLT_BSC_LC_064 | ✅ |
| TP-E-004 | P3 | PLT_BSC_LC_065 | ✅ |
| TP-E-005 | P0 | PLT_BSC_LC_066, PLT_TMS_LC_081 | ✅ |
| TP-E-006 | P0 | PLT_BSC_LC_067 | ✅ |
| TP-E-007 | P1 | PLT_BSC_LC_068 | ✅ |
| TP-E-008 | P0 | PLT_BSC_LC_069 | ✅ |
| TP-E-009 | P0 | PLT_BSC_LC_070 | ✅ |
| TP-E-010 | P2 | PLT_BSC_LC_071 | ✅ |
| TP-E-011 | P1 | PLT_BSC_LC_072 | ✅ |
| TP-E-012 | P0 | PLT_BSC_LC_073 | ✅ |
| TP-E-013 | P1 | PLT_BSC_LC_074 | ✅ |
| TP-E-014 | P2 | PLT_BSC_LC_075 | ✅ |
| TP-E-015 | P1 | PLT_BSC_LC_076 | ✅ |
| TP-E-016 | P1 | PLT_BSC_LC_077 | ✅ |
| TP-E-017 | P2 | PLT_BSC_LC_078 | ✅ |
| TP-E-018 | P1 | PLT_BSC_LC_079 | ✅ |
| TP-E-019 | P1 | PLT_BSC_LC_080 | ✅ |
| TP-E-020 | P1 | PLT_BSC_LC_081 | ✅ |
| TP-E-021 | P1 | PLT_BSC_LC_082 | ✅ |
| TP-E-022 | P2 | PLT_BSC_LC_083 | ✅ |
### 模块 F(25 个测试点)
| 测试点 | 优先级 | 用例 | 覆盖状态 |
| :--- | :---: | :--- | :---: |
| TP-F-001 | P0 | PLT_TMS_LC_001 | ✅ |
| TP-F-002 | P0 | PLT_TMS_LC_002 | ✅ |
| TP-F-003 | P0 | PLT_TMS_LC_003 | ✅ |
| TP-F-004 | P1 | PLT_TMS_LC_004 | ✅ |
| TP-F-005 | P1 | PLT_TMS_LC_005 | ✅ |
| TP-F-006 | P1 | PLT_TMS_LC_006 | ✅ |
| TP-F-007 | P1 | PLT_TMS_LC_007 | ✅ |
| TP-F-008 | P0 | PLT_TMS_LC_008 | ✅ |
| TP-F-009 | P0 | PLT_TMS_LC_009 | ✅ |
| TP-F-010 | P1 | PLT_TMS_LC_010 | ✅ |
| TP-F-011 | P2 | PLT_TMS_LC_011 | ✅ |
| TP-F-012 | P0 | PLT_TMS_LC_012 | ✅ |
| TP-F-013 | P0 | PLT_TMS_LC_013 | ✅ |
| TP-F-014 | P1 | PLT_TMS_LC_014 | ✅ |
| TP-F-015 | P0 | PLT_TMS_LC_015, PLT_TMS_LC_081 | ✅ |
| TP-F-016 | P0 | PLT_TMS_LC_016 | ✅ |
| TP-F-017 | P1 | PLT_TMS_LC_017 | ✅ |
| TP-F-018 | P0 | PLT_TMS_LC_018 | ✅ |
| TP-F-019 | P1 | PLT_TMS_LC_019 | ✅ |
| TP-F-020 | P2 | PLT_TMS_LC_020 | ✅ |
| TP-F-021 | P2 | PLT_TMS_LC_021 | ✅ |
| TP-F-022 | P0 | PLT_TMS_LC_022 | ✅ |
| TP-F-023 | P2 | PLT_TMS_LC_023 | ✅ |
| TP-F-024 | P2 | PLT_TMS_LC_024 | ✅ |
| TP-F-025 | P2 | PLT_TMS_LC_025 | ✅ |
### 模块 G(8 个测试点)
| 测试点 | 优先级 | 用例 | 覆盖状态 |
| :--- | :---: | :--- | :---: |
| TP-G-001 | P1 | PLT_TMS_LC_026 | ✅ |
| TP-G-002 | P1 | PLT_TMS_LC_027 | ✅ |
| TP-G-003 | P1 | PLT_TMS_LC_028 | ✅ |
| TP-G-004 | P1 | PLT_TMS_LC_029 | ✅ |
| TP-G-005 | P1 | PLT_TMS_LC_030, PLT_TMS_LC_081 | ✅ |
| TP-G-006 | P1 | PLT_TMS_LC_031 | ✅ |
| TP-G-007 | P1 | PLT_TMS_LC_032 | ✅ |
| TP-G-008 | P2 | PLT_TMS_LC_033 | ✅ |
### 模块 H(11 个测试点)
| 测试点 | 优先级 | 用例 | 覆盖状态 |
| :--- | :---: | :--- | :---: |
| TP-H-001 | P1 | PLT_TMS_LC_034, PLT_TMS_LC_081 | ✅ |
| TP-H-002 | P1 | PLT_TMS_LC_035 | ✅ |
| TP-H-003 | P1 | PLT_TMS_LC_036 | ✅ |
| TP-H-004 | P0 | PLT_TMS_LC_037 | ✅ |
| TP-H-005 | P1 | PLT_TMS_LC_038 | ✅ |
| TP-H-006 | P1 | PLT_TMS_LC_039 | ✅ |
| TP-H-007 | P1 | PLT_TMS_LC_040 | ✅ |
| TP-H-008 | P1 | PLT_TMS_LC_041 | ✅ |
| TP-H-009 | P0 | PLT_TMS_LC_042 | ✅ |
| TP-H-010 | P1 | PLT_TMS_LC_043 | ✅ |
| TP-H-011 | P2 | PLT_TMS_LC_044 | ✅ |
### 模块 I(12 个测试点)
| 测试点 | 优先级 | 用例 | 覆盖状态 |
| :--- | :---: | :--- | :---: |
| TP-I-001 | P1 | PLT_TMS_LC_045 | ✅ |
| TP-I-002 | P1 | PLT_TMS_LC_046 | ✅ |
| TP-I-003 | P1 | PLT_TMS_LC_047, PLT_TMS_LC_081 | ✅ |
| TP-I-004 | P1 | PLT_TMS_LC_048 | ✅ |
| TP-I-005 | P1 | PLT_TMS_LC_049 | ✅ |
| TP-I-006 | P0 | PLT_TMS_LC_050 | ✅ |
| TP-I-007 | P0 | PLT_TMS_LC_051 | ✅ |
| TP-I-008 | P0 | PLT_TMS_LC_052 | ✅ |
| TP-I-009 | P1 | PLT_TMS_LC_053 | ✅ |
| TP-I-010 | P2 | PLT_TMS_LC_054 | ✅ |
| TP-I-011 | P3 | PLT_TMS_LC_055 | ✅ |
| TP-I-012 | P1 | PLT_TMS_LC_056 | ✅ |
### 模块 J(10 个测试点)
| 测试点 | 优先级 | 用例 | 覆盖状态 |
| :--- | :---: | :--- | :---: |
| TP-J-001 | P0 | PLT_TMS_LC_057 | ✅ |
| TP-J-002 | P0 | PLT_TMS_LC_058 | ✅ |
| TP-J-003 | P1 | PLT_TMS_LC_059 | ✅ |
| TP-J-004 | P1 | PLT_TMS_LC_060 | ✅ |
| TP-J-005 | P0 | PLT_TMS_LC_061 | ✅ |
| TP-J-006 | P0 | PLT_TMS_LC_062 | ✅ |
| TP-J-007 | P1 | PLT_TMS_LC_063 | ✅ |
| TP-J-008 | P0 | PLT_TMS_LC_064 | ✅ |
| TP-J-009 | P1 | PLT_TMS_LC_065 | ✅ |
| TP-J-010 | P1 | PLT_TMS_LC_066 | ✅ |
### 模块 X(14 个测试点)
| 测试点 | 优先级 | 用例 | 覆盖状态 |
| :--- | :---: | :--- | :---: |
| TP-X-001 | P0 | PLT_TMS_LC_067 | ✅ |
| TP-X-002 | P0 | PLT_TMS_LC_068 | ✅ |
| TP-X-003 | P1 | PLT_TMS_LC_069 | ✅ |
| TP-X-004 | P1 | PLT_TMS_LC_070 | ✅ |
| TP-X-005 | P1 | PLT_TMS_LC_071 | ✅ |
| TP-X-006 | P0 | PLT_TMS_LC_072 | ✅ |
| TP-X-007 | P0 | PLT_TMS_LC_073 | ✅ |
| TP-X-008 | P1 | PLT_TMS_LC_074 | ✅ |
| TP-X-009 | P1 | PLT_TMS_LC_075 | ✅ |
| TP-X-010 | P3 | PLT_TMS_LC_076 | ✅ |
| TP-X-011 | P3 | PLT_TMS_LC_077 | ✅ |
| TP-X-012 | P3 | PLT_TMS_LC_078 | ✅ |
| TP-X-013 | P1 | PLT_TMS_LC_079 | ✅ |
| TP-X-014 | P1 | PLT_TMS_LC_080 | ✅ |
## 口径专项核查(本项目易错口径,逐项给出承接用例)
| 口径 | 要求 | 承接用例(证据) | 结论 |
| :--- | :--- | :--- | :---: |
| 核算即运单核算(全文禁用"核算单"表述) | 不得把核算写成独立单据 | PLT_TMS_LC_001, PLT_TMS_LC_015, PLT_TMS_LC_078(均为"无核算单/禁用该字样"的负向核验) | ✅ |
| 无生效合同公司可勾选 | 仅提示不阻断 | PLT_BSC_LC_051, PLT_TMS_LC_007, PLT_TMS_LC_008, PLT_TMS_LC_022 | ✅ |
| 停用公司在核算勾选弹窗不可见 | 停用即从弹窗消失 | PLT_BSC_LC_054, PLT_BSC_LC_056, PLT_BSC_LC_057, PLT_BSC_LC_059 | ✅ |
| 打款筛选下拉含停用公司 | 历史打款记录可按原公司查出(与上一条相反口径) | PLT_BSC_LC_034, PLT_TMS_LC_037, PLT_TMS_LC_051 | ✅ |
| 快照不变性 | 改名/停用/删除后历史展示不变 | PLT_BSC_LC_053, PLT_BSC_LC_056, PLT_BSC_LC_058, PLT_TMS_LC_008, PLT_TMS_LC_012 | ✅ |
| Q5 道路运输经营许可证选填 | 仅营业执照与身份证必传 | PLT_BSC_LC_016, PLT_BSC_LC_019, PLT_BSC_LC_020, PLT_BSC_LC_038 | ✅ |
| Q6 合同附件不设大小上限 | 格式白名单保留、无大小限制 | PLT_BSC_LC_075 | ✅ |
| 分页默认 20、可选 10/20/50/100 | 与需求 6.1 一致 | PLT_BSC_LC_010, PLT_TMS_LC_006 | ✅ |
| 导出上限 20000 条 | 平台统一口径 | PLT_BSC_LC_014, PLT_BSC_LC_015, PLT_BSC_LC_083 | ✅ |
## 风险覆盖审计
| 风险ID | 等级 | 承接用例数 | 承接用例 | 结论 |
| :--- | :---: | :---: | :--- | :---: |
| RISK-DATA | P1 | 2 | PLT_BSC_LC_037, PLT_TMS_LC_050 | ✅ |
| RISK-AVAILABILITY | P2 | 2 | PLT_BSC_LC_078, PLT_TMS_LC_011 | ✅ |
| RISK-FINANCIAL | P2 | 2 | PLT_TMS_LC_042, PLT_TMS_LC_072 | ✅ |
| RISK-COMPLIANCE | P2 | 2 | PLT_TMS_LC_058, PLT_TMS_LC_066 | ✅ |
| RISK-COMPATIBILITY | P2 | 1 | PLT_TMS_LC_056 | ✅ |
- RISK-DATA(P1):唯一性并发、快照口径、删除保护三类核心场景均落到 P0 用例;
- RISK-FINANCIAL / COMPLIANCE / AVAILABILITY / COMPATIBILITY(P2):分别由打款金额回归、敏感证件与日志、弹窗与 OBS 依赖、历史数据「无外协公司」兼容用例承接。
## 覆盖缺口
无。全量冻结状态下:38/38 需求条目有测试点,159/159 测试点有用例,无 P0/P1/P2/P3 级覆盖缺口。
> 说明:评审阶段曾识别两处覆盖盲区(合同三个时间字段必填校验、道路运输经营许可证格式白名单),已分别通过 PLT_BSC_LC_069 与 PLT_BSC_LC_020 的修复补齐(详见《评审报告》S-008/S-009 与用例备注 `[AI修正: 评审修复 S-008/S-009]`),本审计不再登记为缺口。
## 过度覆盖
无。164 条用例全部携带 TP 追溯号,未发现无需求依据的用例;文末「端到端冒烟」用例为跨模块主链路合成用例,已在备注中说明其溢出部分(合成引用 6 个测试点)。
## 覆盖热力图
| 模块 | 测试点 | 用例数 | 覆盖密度 |
| :--- | :---: | :---: | :--- |
| A 菜单与列表查询 | 15 | 15 | ██████ 1.00 用例/测试点 |
| B 新增物流公司 | 24 | 29 | ███████ 1.21 用例/测试点 |
| C 编辑物流公司 | 5 | 5 | ██████ 1.00 用例/测试点 |
| D 删除与启停用 | 13 | 13 | ██████ 1.00 用例/测试点 |
| E 合同管理 | 22 | 23 | ██████ 1.05 用例/测试点 |
| F 运单核算关联 | 25 | 26 | ██████ 1.04 用例/测试点 |
| G 货源选择 | 8 | 9 | ███████ 1.12 用例/测试点 |
| H 打款筛选 | 11 | 12 | ███████ 1.09 用例/测试点 |
| I 列表展示与快照 | 12 | 13 | ██████ 1.08 用例/测试点 |
| J 权限与机构隔离 | 10 | 10 | ██████ 1.00 用例/测试点 |
| X 跨需求回归 | 14 | 14 | ██████ 1.00 用例/测试点 |
> 密度说明:用例按备注列 TP 追溯号归类(跨模块用例在各所属模块各计一次,故用例列合计 ≥ 164);相对密度以 1.0 用例/测试点为基准映射为 6 格。全模块密集度 1.00~1.21(实测区间),无稀疏盲区模块。