Files
Yb-QaAutomationHub/output/analysis/物流公司管理需求_评审报告.md
xst 8c61209dd4 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 脚本骨架、覆盖率审计脚本与指标、评审修复脚本
2026-09-29 10:03:35 +08:00

173 lines
20 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.
# 物流公司管理需求 评审报告
> 评审对象: `output/test_cases/物流公司管理需求_测试用例.md`(164 条用例,表头 L22、分隔线 L23、用例 1~164 对应 L24~L187)
> 评审依据: `knowledge_base/01_standards/review_checklist.md`、`test_case_template.md`、`definition_of_done.md`、`output/test_points/物流公司管理需求_测试点.md`(159 个测试点)、`output/analysis/物流公司管理需求_风险评估.md`(RISK-DATA P1)、`requirements/物流公司管理需求.md`(v1.1)、`output/analysis/物流公司管理需求_测试数据.md`
> 本报告仅评审与给出修复文本,不修改用例文件;修复由流水线按本报告统一执行。
## 评审概览
| 指标 | 值 |
| :--- | :--- |
| 用例总数 | 164 |
| 阻断项 | 2 |
| 建议项 | 9 |
| 优化项 | 3 |
| 评分 | 92/100 |
评审结论摘要:
- **口径写反类问题:未发现**。八个高危口径逐条核对通过(详见"口径专项核对"),其中"停用公司在核算弹窗不可见 / 在打款筛选下拉可见"两个相反口径分列于正确用例、未写反未合并。
- 结构、原子性、类型、优先级四个维度逐项核对通过;RISK-DATA(P1) 三类核心场景(并发唯一、快照、删除保护)均落到 P0/P1 用例。
- 11 处测试点 `⚠️ 待确认` 的承接用例全部带 `[待确认]` 标注;另 6 项口径细化中 2 项(口径 a、f)存在标注缺失,构成阻断项。
- 主要的可执行性风险集中在**跨用例执行顺序**(LC-04 删除与重建资源的唯一执行点未定义)。
## 口径专项核对(阻断级维度,逐条给出结论)
| 口径项 | 结论 | 证据用例 |
| :--- | :--- | :--- |
| 总原则:关联仅记录展示、不阻断任何流程(强约束仅 BR-01/BR-04) | 逐项核对通过 | PLT_TMS_LC_022/031、PLT_BSC_LC_022 均含"无阻断/不影响"正反向断言 |
| 核算即运单核算、无"核算单";"核算单"仅出现在"禁出现"核验语境 | 逐项核对通过 | PLT_TMS_LC_001(全页检索禁字样)、015(无核算单表新增行)、078;全文检索"核算单"11 处全部为负向语境 |
| 单选、选填、仅启用公司可选、无生效合同可勾选、未选公司保存为"无外协公司" | 逐项核对通过 | PLT_TMS_LC_003(仅启用)、008(Q3 可勾选)、009(Q1 单选)、013(Q2 未选保存) |
| 两个相反可见性口径:核算弹窗"停用不可见" vs 打款下拉"含停用" | 逐项核对通过(未写反、未合并) | 不可见:PLT_TMS_LC_003、PLT_BSC_LC_057/059;含停用:PLT_TMS_LC_037、PLT_BSC_LC_058;037 与 003 互为对照 |
| 快照口径:改名/停用/删除后历史展示不变 | 逐项核对通过 | PLT_TMS_LC_050(改名)、051(停用)、052(删除);PLT_BSC_LC_053/058 联动 |
| Q5 道路运输经营许可证选填;Q6 合同附件不设大小上限 | 逐项核对通过(无"超大小被拒"反向断言) | PLT_BSC_LC_019(Q5)、075(Q6,"大文件不被前端大小校验拒绝") |
| 分页默认 20(可选 10/20/50/100)、导出上限 20000(截断或提示,非硬拒) | 逐项核对通过 | PLT_BSC_LC_010、014、083;PLT_TMS_LC_006 |
| RISK-DATA(P1) 核心场景(唯一性双保险/快照/删除保护) | 逐项核对通过(均 P0/P1,无下沉) | PLT_BSC_LC_037(并发同码)、050/051/052/053、PLT_TMS_LC_050/051/052 |
## 阻断项
### B-001: 待确认口径 f(纯空格/空白字符判定)承接用例缺失 `[待确认]` 标注且按单一口径断言
- 用例编号: PLT_BSC_LC_028(L51)、PLT_BSC_LC_032(L55)
- 问题: 两例预期结果分别写"纯空格提交按未填处理被阻断(trim 后为空口径)""纯空格按未填处理被阻断",把测试数据 §10 补充-6 的**待确认口径直接当成已确认事实**;同源的 PLT_BSC_LC_022 已按规范标 `[待确认]`,而 028/032 备注("对应TP-B-010;REQ-007"、"对应TP-B-014;REQ-007(漏测清单 §1 超长字符)")无任何标注。属"待确认相关用例缺失显式标注",且与文末自检结论"待确认项 11+6 处均在备注与文末显式标注"的声明不符。
- 修复建议(可直接套用):
- PLT_BSC_LC_028 备注改为: `对应TP-B-010;REQ-007;[待确认] 纯空格/空白字符在必填字段中是否按空处理(见测试数据 §10 补充-6,与 PLT_BSC_LC_022 同口径)`
- PLT_BSC_LC_028 预期结果第 3 条改为: `3. 纯空格提交的实际行为记录(按空拦截 或 通过),与测试数据 §10 补充-6 口径比对后回归(评审确认前不得静默按单一口径判定)`
- PLT_BSC_LC_032 备注改为: `对应TP-B-014;REQ-007(漏测清单 §1 超长字符);[待确认] 纯空格/空白字符是否按空处理(见测试数据 §10 补充-6)`
- PLT_BSC_LC_032 预期结果第 3 条改为: `3. 纯空格提交的实际行为记录(按空拦截 或 通过),与 PLT_BSC_LC_022 口径比对后回归`
- 修复后预期: 028/032 与 022 的待确认处理方式一致(标注 + 记录实际行为 + 评审后回归),满足"待确认项必须显式标注、不得臆造"的门禁要求。
### B-002: 待确认口径 a(合同附件扩展名大小写)承接声明落空——无标注、无样本、无步骤
- 用例编号: PLT_BSC_LC_073(L96)、PLT_BSC_LC_074(L97)
- 问题: 用例文末待确认汇总声明"a) 合同附件扩展名大小写口径(.PDF/.Jpg 是否放行)——承接 PLT_BSC_LC_073/074",但两例备注均无 `[待确认]` 标注,且全文(含 073/074 步骤与预期)**无 AT-03 样本、无任何大写扩展名验证**(全文检索"AT-03""大写扩展名"命中 0 处)。该待确认项实际处于"有声明、无承接、无标注"状态,属标注缺失型漏项。
- 修复建议(可直接套用):
- PLT_BSC_LC_073 步骤追加: `5. 上传大写扩展名样本(合同.PDF、合同.Jpg,AT-03)并记录实际口径`
- PLT_BSC_LC_073 预期结果追加: `5. 大写扩展名的实际处理行为记录(大小写不敏感放行 或 仅接受小写并提示),与评审结论对齐后回归,不得静默按单一口径断言`
- PLT_BSC_LC_073、PLT_BSC_LC_074 备注分别追加: `;[待确认] 合同附件扩展名大小写口径(.PDF/.Jpg 是否放行,见测试数据 §10 补充-1)`
- 修复后预期: 口径 a 具备显式承接用例与标注,AT-03 样本纳入执行范围,大小写放行结论由评审确认后固定。
## 建议项
### S-001: PLT_BSC_LC_017 步骤 3 与步骤 4 流程矛盾,后半段不可按序执行
- 用例编号: PLT_BSC_LC_017(L40)
- 问题: 步骤 3 预期"上传后提交不再因营业执照阻断**并保存成功**"——一旦保存成功表单即关闭、记录已创建;步骤 4"删除已上传的营业执照后**再次提交**"在同一表单流程内无法继续(且同名二次提交会先被名称唯一性拦截,阻断原因不再是营业执照)。
- 修复建议: 步骤 3 改为 `上传营业执照_测试甲.jpg 后再次提交(验证提交不再因营业执照被阻断;完整成功链路由 PLT_BSC_LC_038 覆盖)`;步骤 4 改为 `在新增页重新打开表单(名称改用"云南测试营业执照校验物流有限公司2"等新唯一值),上传营业执照后删除该证件,再次提交`。
- 修复后预期: "未传→阻断、上传→通过、删除→再阻断"三步在同一环境可连续执行,各步阻断原因均指向营业执照。
### S-002: LC-04 删除动作无唯一执行点——PLT_BSC_LC_049 与 PLT_BSC_LC_054 均执行确认删除
- 用例编号: PLT_BSC_LC_049(L72)、PLT_BSC_LC_054(L77)
- 问题: 049 步骤 4"再次点击删除并在确认框中确认"会实际完成 LC-04 删除(LC-04 无合同无引用,校验必然通过);054 前置却要求"LC-04 存在且列表可见"并再次执行删除。两例在同一数据集上先后执行必有一例失效,且 006/034/035/036/053/056/061 的"LC-04 已删除"前置来源不明。
- 修复建议: 让 049 只验证"取消不变更"与"确认后进入删除校验流程",删除主执行归 054:049 步骤 4 改为 `再次点击删除并在确认框中确认,记录删除结果(本步完成后 LC-04 即为已逻辑删除状态)`,并在 054 前置注明 `若 PLT_BSC_LC_049 已执行确认删除,则本用例前置改为"LC-04 已逻辑删除",步骤 1 改由备用样本(新造可删除公司)执行`;或反向:049 删除步骤 4、删除动作统一由 054 执行。
- 修复后预期: DL-04 删除动作全程只发生一次,依赖"LC-04 已删除"的后续用例前置有确定来源。
### S-003: "删除后重建"同一资源被 4 条用例重复消费,顺序执行时互相拦截
- 用例编号: PLT_BSC_LC_034(L57)、035(L58)、036(L59)、061(L84)
- 问题: 四例均以 LC-04 的名称/统一社会信用代码/简称码(YND)作为"删除后可复用"样本并断言**创建成功**:034 创建同名公司、035 创建同码公司、036 创建同简称码公司、061 同时创建同名+同码公司(另加 YND 公司)。顺序执行时先创建者的 active(deleted=0)记录会命中后创建者的唯一性校验,与各例"允许创建成功"预期直接冲突(034/061 撞名称、035/061 撞代码、036/061 撞简称码)。
- 修复建议: 保留单一"重建"样本(DL-06),做一次性创建:由 PLT_BSC_LC_061 执行"名称+代码+简称码"三个复用创建,其余用例改为核对已创建记录;或为 061 另备独立样本(新造并删除一家临时公司,复用其三元组)。同时在各例备注标注承接关系(如"承接 DL-06 重建记录,本用例只核对不新建")。
- 修复后预期: 唯一性不含已删除公司(BR-01)的结论由一次可复现的创建链证明,四例之间不再互相拦截。
### S-004: PLT_BSC_LC_061 步骤与预期计数不一致
- 用例编号: PLT_BSC_LC_061(L84)
- 问题: 步骤 1、2 共新建 2 家公司,但预期第 2 条写"新建公司与已删除行在数据库并存(deleted=0 与 deleted=1 **两条**记录)"、第 3 条写"列表仅展示新建公司(**1 条**)",均按 1 家新公司计数,步骤与预期对不上。
- 修复建议: 预期第 2 条改为 `新建的 2 家公司与已删除行在数据库并存(2 条 deleted=0 + 1 条 deleted=1),无唯一性误拦`;预期第 3 条改为 `列表仅展示新建的 2 家公司(不含已删除行),导出/统计不混淆新旧`。若希望保持 1 家新建,则将步骤 2 的简称码复用并入步骤 1 同一表单,并同步调整预期。
- 修复后预期: 计数断言与步骤一一对应,执行时可直接按行核对。
### S-005: PLT_BSC_LC_052 构造路径二义、预期第 1/2 条无法唯一判定
- 用例编号: PLT_BSC_LC_052(L75)
- 问题: 步骤 1"用 LC-02 移除引用后重试**或**新造公司"给出两条互斥构造路径(移除 WT-03 引用会污染被 051/058 等复用的共享样本);预期第 1/2 条仅写"不因合同条件阻断(提示原因不含生效合同)",对"删除到底成功还是被其他条件阻断"没有可唯一判定的最终结果。
- 修复建议: 固定构造路径:步骤 1 改为 `新造公司 A(仅挂待生效合同、无运单/货源引用)发起删除`,步骤 2 改为 `新造公司 B(仅挂已过期合同、无引用)发起删除`;预期第 1/2 条改为 `删除成功(deleted=1、列表消失),提示中不含"生效合同"原因;若产品口径为阻断则按双分支记录实际行为`。
- 修复后预期: 构造不动用 LC-02/WT-03 共享样本,判定标准唯一,与 TP-D-004 三态拆分要点一一对应。
### S-006: PLT_BSC_LC_067 步骤 4 与预期第 3 条表述互斥
- 用例编号: PLT_BSC_LC_067(L90)
- 问题: 步骤 4"在 LC-03 下新增另一条编号 HT-2026-0001 **复核允许性**"与预期第 3 条"LC-03 下再次新增同号**仍被拒**"方向相反(跨公司重复的"允许性"已由步骤 3 的 LC-01/LC-03 同号并存证明;步骤 4 实际验证的是同公司唯一)。
- 修复建议: 步骤 4 改为 `在 LC-03 下再次新增编号 HT-2026-0001,验证同公司唯一性仍然生效`;预期第 3 条保持"仍被拒(同公司唯一基于 company_id 范围)"不变。
- 修复后预期: 步骤与预期同向,"同公司唯一/跨公司允许"两条规则分别可证。
### S-007: PLT_TMS_LC_037 与 PLT_BSC_LC_056 对"已删除公司在打款下拉"口径不一致
- 用例编号: PLT_TMS_LC_037(L143)、PLT_BSC_LC_056(L79)
- 问题: 037 预期第 4 条把"已删除公司是否出现在打款筛选下拉"作为"记录实际行为"的观察项;而 056 预期第 1 条与 TP-D-008、测试数据 SS-08 均**断言**"列表、导出、核算勾选、货源选择、打款筛选下拉均不含已删除公司"。同一问题一处断言、一处观察,执行结论会互相冲突。
- 修复建议: 统一为断言(推荐):037 预期第 4 条该分句改为 `已删除公司不出现在打款筛选下拉(与 PLT_BSC_LC_056/TP-D-008/SS-08 一致)`;或反之两处都改为"记录实际行为"并补 `[待确认]` 标注(二选一)。
- 修复后预期: 删除终态的可见性口径在两例中一致,质量门禁引用唯一结论。
### S-008: 合同三个时间字段的必填校验无对应用例(建议增强 PLT_BSC_LC_069)
- 用例编号: PLT_BSC_LC_069(L92)
- 问题: 需求 6.4 明确签订时间/生效时间/过期时间均必填,且数据样本 CD-04(任一为空应阻断)已备;但用例仅覆盖"过期≤生效"的序关系(069),异常流程中缺"任一时间为空保存被阻断",与 DoD"异常流程/空值必须覆盖"存在缺口。
- 修复建议: PLT_BSC_LC_069 步骤追加 `5. 分别留空签订时间、生效时间、过期时间各保存一次`;预期追加 `5. 三项任一为空保存均被阻断、错误字段就近标红,弹窗不关闭、数据库无非法记录(样本 CD-04)`;备注追加"CD-04"。
- 修复后预期: 合同弹窗必填校验形成完整异常覆盖,CD-04 样本有承接。
### S-009: PLT_BSC_LC_020 未覆盖道路运输经营许可证的格式白名单
- 用例编号: PLT_BSC_LC_020(L43)
- 问题: TP-B-005 要求"各证件允许格式逐一上传成功",020 覆盖了营业执照(jpg/jpeg/png/pdf)与身份证(jpg/jpeg/png + pdf/bmp 拒绝),但**许可证(jpg/jpeg/png/pdf)既无通过样本也无拒绝样本**(全文仅 PLT_BSC_LC_019 上传了 pdf 一个样本),"各证件"覆盖不完整。
- 修复建议: PLT_BSC_LC_020 步骤 1 改为 `营业执照与道路运输经营许可证分别依次上传 .jpg/.jpeg/.png/.pdf 四格式`;步骤 2 补充 `许可证上传 .bmp 被拒`;测试数据列补 `DOC-07(许可证四格式)`。
- 修复后预期: 四类证件白名单验证与需求 6.2 表格逐项对应,无覆盖盲区。
## 优化项
### O-001: 笔误三处(不影响执行,建议顺手修正)
- PLT_BSC_LC_010 备注"漏收清单 §4 分页"应为"漏测清单 §4 分页"(L33)。
- PLT_BSC_LC_019 预期"不传许可证时提单成功"应为"提交成功"(L42)。
- PLT_BSC_LC_066 测试数据"生效=T-0、过期=T+365"建议改为"生效时间=T、过期时间=T+365"(L89,与 PLT_TMS_LC_081 的"生效时间=T"统一)。
### O-002: 泛化尾述可收敛为具体断言
- PLT_BSC_LC_012 预期第 3 条"导出按钮行为符合平台口径"建议写明 `导出按钮不可点 或 给出无数据提示(记录实际行为)`(L35)。
- PLT_BSC_LC_041 预期第 4 条"页面功能正常"、PLT_TMS_LC_011 预期第 4 条"搜索、分页、单选功能正常"、PLT_TMS_LC_074 预期第 3 条"记录可正常操作"建议补具体动作与结果(如"可执行打款/驳回,状态流转与未筛选时一致")(L64 / L117 / L180)。
### O-003: 数据引用小差异对齐
- PLT_TMS_LC_005 步骤关键词("测试庚""91532301")与所引 BLK-03 定义的样本("批量测试物流公司001""91530102MA00000")不一致,建议步骤或引用二者对齐其一(L111)。
- PLT_BSC_LC_040 步骤"连续点击'提交'按钮 3 次"与数据列 UQ-10 表述"1 秒连点 2 次"不一致,建议统一为 3 次并同步数据口径(L63)。
## 维度评分
| 维度 | 得分 | 说明 |
| :--- | :---: | :--- |
| 结构完整性 | 20/20 | 逐项核对通过。表头与 REQUIRED_COLUMNS 逐字一致;164 行每行恰 10 列、无空单元格、无半角竖线入格、无单元格内换行(统一 `<br>`);编号连续(BSC 001~083、TMS 001~081);模块列全为"-"层级路径;类型全部落枚举 |
| 可执行性 | 20/25 | 步骤均含具体菜单路径/按钮/输入值与测试数据 ID,无"输入合法数据"类空话;扣分:017 流程矛盾(S-001)、049/054 与 034/035/036/061 执行资源冲突(S-002/S-003)、052 构造二义(S-005) |
| 原子性 | 15/15 | 逐项核对通过。单主验证点;合成用例(022/052/064/070/081)与测试点 1:1 对应;边界成对(50/51、200/201、20000/20001)为文首组合约定且方向正确 |
| 预期结果质量 | 17/20 | 全部同时含 UI/接口反馈与数据状态变化(落库字段/状态位/日志/唯一约束/快照);扣分:028/032/073/074 待确认断言标注缺失(B-001/B-002)、052/061 预期与步骤计数/方向不一致(S-004/S-005)、037 第 4 条与 056 口径打架(S-007) |
| 类型准确性 | 10/10 | 逐项核对通过。135 功能/13 回归/11 安全/2 冒烟/1 性能/1 兼容/1 易用,无"其他";XSS 注入归安全、空态归易用、历史数据兼容归兼容、大数据导出归性能,均与内容匹配 |
| 优先级合理性 | 10/10 | 逐项核对通过。P0=55 与 P0 测试点 53 个全量承接(TP-B-009 拆分);P1=81/P2=23/P3=5 与测试点分布同构;RISK-DATA 核心场景(037、050/051/052/053、PLT_TMS_LC_050~052)均在 P0/P1,无高风险下沉 |
**总分: 92/100**
## 待确认项映射核对结论(门禁引用)
- 测试点文件 11 处 `⚠️ 待确认` 对应的 11 组承接用例(TP-B-017→036、TP-C-003→046、TP-D-005→053、TP-E-007→068、TP-F-020→020、TP-F-021→021、TP-F-024→024、TP-H-008→041、TP-I-002→046、TP-X-013→079、TP-X-014→080)备注**全部带 `[待确认]` 标注**——逐项核对通过。
- 另 6 项口径细化(测试数据 §10 补充-1~6):b/c/d/e 四项(029、030、023、026)已标注——通过;**a 项(073/074)与 f 项(028/032)标注缺失**,见 B-001/B-002。
- 历史缺陷防御用例(068~071)均标 `[AI修正: 历史缺陷防御]`;冲突修订用例(067/068/072/073/074/076/077)均标 `[AI修正: 冲突修订]`——逐项核对通过。
- 追溯性核对通过:164 条用例备注全部含 TP 编号,覆盖率声明(159/159)与映射清单一致。
## 修复执行清单(供流水线直接落修)
| 优先级 | 用例编号(行号) | 动作 |
| :--- | :--- | :--- |
| 阻断 | PLT_BSC_LC_028(L51)、PLT_BSC_LC_032(L55) | 按 B-001 补 `[待确认]` 标注并改写预期第 3 条为"记录实际行为" |
| 阻断 | PLT_BSC_LC_073(L96)、PLT_BSC_LC_074(L97) | 按 B-002 追加 AT-03 大写扩展名步骤/预期,备注补 `[待确认]` 标注 |
| 建议 | PLT_BSC_LC_017/049/054/034/035/036/061/052/067 | 按 S-001~S-006 改写步骤/预期/前置,统一执行顺序约束 |
| 建议 | PLT_TMS_LC_037 或 PLT_BSC_LC_056 | 按 S-007 统一"已删除公司在打款下拉"口径(推荐断言"不含") |
| 建议 | PLT_BSC_LC_069、PLT_BSC_LC_020 | 按 S-008/S-009 扩充必填时间与许可证格式覆盖 |
| 优化 | PLT_BSC_LC_010/019/066/012/041、PLT_TMS_LC_011/074/005、PLT_BSC_LC_040 | 按 O-001~O-003 修正笔误与泛化表述、对齐数据引用 |