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

20 KiB
Raw Permalink Blame History

物流公司管理需求 评审报告

评审对象: output/test_cases/物流公司管理需求_测试用例.md(164 条用例,表头 L22、分隔线 L23、用例 1164 对应 L24L187) 评审依据: 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 001083、TMS 001081);模块列全为"-"层级路径;类型全部落枚举
可执行性 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 修正笔误与泛化表述、对齐数据引用