物流公司管理需求 测试数据
本文件由 data-builder Agent 构造,为测试用例提供精确数据支持(覆盖脚本生成模板,已删除与本次业务无关的商品/券/积分等占位内容)。
基准日 T = 2026-09-29:日期样本以 T±n 表述,括号内为按基准日换算的具体日期;实际执行日不同则整体平移再换算(见 0.3)。
数据来源与口径:《物流公司管理需求_分析.md》(BR-01BR-09、REQ-001038、决议 Q1–Q19——Q7~Q19 为 2026-09-29 补充确认,见需求文档第八章)、《需求正文(归一化版)》、项目画像(运八网络货运平台)。
使用约定:示例值可直接粘贴使用;示例中的公司/单号均为测试构造,不引用真实企业数据;真实账号、税源地字典值、真实单号格式一律标注「待补充」,不臆造。
术语声明:全文按"核算即运单核算"口径(无独立核算单);空值统一展示词为「无外协公司」。
统一社会信用代码样本说明:按国标 [0-9A-HJ-NPQRTUWXY]{2}\d{6}[0-9A-HJ-NPQRTUWXY]{10}(字符集排除 I/O/S/V/Z)构造,第 18 位校验位已按 GB 32100 算法生成,并对照 3 个已知有效样本完成算法自检;UC-04 起的样本为故意越界/违规值。
0. 数据总览
0.1 核心公司档案花名册(后续各章节的引用载体)
| 代号 |
公司名称 |
统一社会信用代码 |
简称码 |
状态 |
合同配置 |
被引用情况 |
主要用途 |
| LC-01 甲 |
云南测试甲物流有限公司 |
91530102MA6N4K7X52 |
YNA |
启用 |
HT-2026-0001(生效中)、HT-2026-0002(生效中)、HT-2025-0987(已过期) |
被运单 WT-04 引用 |
删除双条件阻断、唯一性三组配对、核算选择主样本 |
| LC-02 乙 |
昆明测试乙供应链有限公司 |
91530103MA6P8Q2D7F |
YNB |
启用 |
HT-2026-0011(已过期)、HT-2026-0012(待生效) |
被运单 WT-03 引用 |
无生效合同可勾选(Q3)、仅"被运单引用"阻断 |
| LC-03 丙 |
曲靖测试丙运输有限公司 |
91530302MA6R5T9H37 |
YNC |
启用 |
HT-2026-0001(生效中,与 LC-01 同号) |
无 |
仅"生效合同"阻断、跨公司合同编号重复对 |
| LC-04 丁 |
玉溪测试丁货运代理有限公司 |
91530402MA6U2W5J8J |
YND |
启用 |
无 |
无 |
可删除样本 → 删除后同名/同码重建 |
| LC-05 戊 |
大理测试戊物流有限公司 |
91532901MA6X7Y4L2T |
YNE |
启用 |
无 |
仅被货源 HY-02 引用 |
删除保护不覆盖样本(仅被货源引用、无运单 → 可删除,Q9 已确认) |
| LC-06 己 |
保山测试己运输有限公司 |
91530502MA6K1M8N6P |
YNF |
停用 |
HT-2026-0021(已过期) |
被运单 WT-05 引用、打款 PY-03 关联 |
停用可见性、停用快照、打款"含停用"筛选 |
| LC-07 庚 |
楚雄测试庚物流有限公司 |
91532301MA6W9E3F4G |
YNG |
启用 |
HT-2026-0031~0034(合同状态边界专用,见 2.2) |
被货源 HY-01、运单 WT-01 引用 |
改名快照链、合同状态"含当天"边界 |
| 并发对(无档案) |
云南测试并发物流有限公司A / B |
91530111MA6Y2T7P91(两组共用) |
留空 |
— |
— |
— |
并发同码提交样本(UQ-09,仅用于提交请求) |
构造顺序依赖:先建 7 家公司 → 合同 → 货源 → 运单/核算(快照保存)→ 打款 → 再执行改名/停用/删除等变更(§6)→ 最后执行删除约束(§5,不可逆)。并发与唯一性样本(§3)可穿插执行。
0.2 状态与枚举取值(自动提取)
| 对象 |
取值/口径 |
来源 |
| 物流公司状态 |
启用 / 停用 /(已删除=逻辑删除终态,无恢复入口) |
BR-02、BR-04、7.1 |
| 合同状态 |
待生效 / 生效中 / 已过期(系统按当前日期自动计算,当前日期 ∈ [生效时间, 过期时间] 含边界当天;不可手工设置) |
BR-03、REQ-021 |
| 运单核算状态 |
未核算 / 已核算(已核算再次修改=覆盖更新,不产生新单据) |
BR-06、6.6 |
| 打款页物流公司筛选选项 |
全部 / 无外协公司 / 各物流公司(含停用) |
BR-08 |
| 附件白名单(合同) |
pdf / doc / docx / jpg / jpeg / bmp / png;单附件;不设大小上限(Q6) |
BR-03、Q6 |
| 证件白名单(新增页) |
营业执照 jpg/jpeg/png/pdf(必传);法人身份证人像面、国徽面 jpg/jpeg/png(必传,不含 pdf/bmp);道路运输经营许可证 jpg/jpeg/png/pdf(选填,Q5) |
6.2、Q5 |
| 分页 |
默认 20 条/页,可选 10/20/50/100 |
REQ-004 |
| 导出上限 |
20000 条(平台 Excel 导出组件统一口径) |
§7、项目画像 §8.3 |
| 空值展示词 |
无外协公司 |
BR-08、BR-09 |
0.3 日期样本使用说明
- 基准日 T=2026-09-29;常用换算:T-400=2025-08-25,T-100=2026-06-21,T-35=2026-08-25,T-30=2026-08-30,T-10=2026-09-19,T-1=2026-09-28,T=2026-09-29,T+1=2026-09-30,T+10=2026-10-09,T+30=2026-10-29,T+100=2027-01-07,T+365=2027-09-29。
- 长期回归样本(长区间,跨日稳定):0.1 花名册中的合同除特别标注外均用 T-400 ~ T+365 区间,跨日执行不会漂移。
- 日敏感样本(仅执行当天有效,跨天须重造):2.2 的 CD-B1、CD-B2 及 LT-0031/0032,以及"创建时间范围含当天"(QR-05);已过期的边界样本用过去的固定日期,天然稳定。
0.4 长边界字面值(V 表,可直接复制粘贴)
格式:编号|字符数|字面值。字面值可用表达式快速重建(如 "云南测试五十字符边界物流有限公司" + "填"*34)。
1. 物流公司主档数据(FR-01/02/03/05,REQ-002~016)
1.1 公司名称(文本,必填,≤50 字符,全平台唯一)
| 数据ID |
字段/场景 |
示例值 |
边界说明 |
对应需求 |
状态 |
| NM-01 |
有效-常规 |
云南测试甲物流有限公司 |
16 字常规中文名称,应通过 |
REQ-007 / BR-01 |
已就绪 |
| NM-02 |
上边界=50 字 |
V-01 |
恰好 50 字符,应通过 |
REQ-007 |
已就绪 |
| NM-03 |
越界=51 字 |
V-02 |
超出 1 字符,应阻断并就近标红 |
REQ-007 / 异常流程-字段超长 |
已就绪 |
| NM-04 |
最小长度 |
甲 |
1 字符(无最小长度约束),应通过 |
REQ-007 |
已就绪 |
| NM-05 |
空值 / 纯空格 |
空串、" "(3 个半角空格) |
必填,空值应阻断;纯空格 trim 后为空按空处理,同样阻断(Q15 已确认) |
REQ-007 |
已就绪 |
| NM-06 |
重复值(唯一性) |
同 NM-01 |
触发唯一性阻断与提示,配对样本见 UQ-01 |
BR-01 / REQ-009 |
已就绪 |
| NM-07 |
首尾空格 |
" 云南测试甲物流有限公司 "(两侧含空格) |
提交前 trim 后判重:与 NM-01 视为重复、应阻断(Q13 已确认) |
BR-01 |
已就绪 |
| NM-08 |
全角/特殊符号 |
云南测试(甲)·物流—有限公司 |
全角括号/间隔号/破折号应正常保存与展示 |
REQ-007 |
已就绪 |
| NM-09 |
XSS |
<script>alert('XSS')</script>、"><img src=x onerror=alert(1)> |
列表/编辑页/弹窗回显均转义,不得执行 |
安全 / 9.列表展示 |
已就绪 |
| NM-10 |
SQL 注入 |
'; DROP TABLE logistics_company;-- |
参数化处理,无任何副作用 |
安全 |
已就绪 |
| NM-11 |
emoji / 生僻字 |
云南测试甲物流🚚有限公司、龘靐齉 |
不乱码;长度按字符计数(emoji/生僻字按字符数) |
REQ-007 |
已就绪 |
1.2 统一社会信用代码(文本,必填,18 位国标,失焦即校验,全平台唯一)
| 数据ID |
字段/场景 |
示例值 |
边界说明 |
对应需求 |
状态 |
| UC-01 |
合法-基准 |
91530102MA6N4K7X52(LC-01) |
18 位、字符集合规、校验位正确,应通过 |
REQ-007 / BR-01 |
已就绪 |
| UC-02 |
合法-其余档案 |
见 §0.1(LC-02~LC-07 共 6 个码) |
同批构造,供唯一性/并发/快照引用 |
BR-01 |
已就绪 |
| UC-03 |
失焦即校验 |
在输入框中改动任一字符后触发失焦 |
无需点击提交即触发校验提示(前端异步调唯一性校验接口) |
BR-01 / 6.2 |
已就绪 |
| UC-04 |
越界-17 位 |
91530102MA6N4K7X5 |
截去末位,长度不足应阻断 |
REQ-007 |
已就绪 |
| UC-05 |
越界-19 位 |
91530102MA6N4K7X521 |
末尾追加 1 位,超长应阻断 |
REQ-007 |
已就绪 |
| UC-06 |
含禁用字母 I |
91530102MA6N4K7X5I |
18 位但末位为 I,应阻断 |
BR-01 |
已就绪 |
| UC-07 |
含禁用字母 O |
91530102MA6N4K7X5O |
末位为 O,应阻断 |
BR-01 |
已就绪 |
| UC-08 |
含禁用字母 S |
91530102MA6N4K7X5S |
末位为 S,应阻断 |
BR-01 |
已就绪 |
| UC-09 |
含禁用字母 V |
91530102MA6N4K7X5V |
末位为 V,应阻断 |
BR-01 |
已就绪 |
| UC-10 |
含禁用字母 Z |
91530102MA6N4K7X5Z |
末位为 Z,应阻断 |
BR-01 |
已就绪 |
| UC-11 |
全小写 |
91530102ma6n4k7x52 |
小写字母不在字符集,应阻断 |
BR-01 |
已就绪 |
| UC-12 |
含空格 |
9153010 MA6N4K7X52(第 8 位为空格,共 18 字符);" 91530102MA6N4K7X52"(首部空格) |
内部空格应阻断;首尾空格提交前 trim 后判重(Q13 已确认) |
BR-01 |
已就绪 |
| UC-13 |
全角字符 |
91530102MA6N4K7X52 |
全角数字/字母应阻断 |
BR-01 |
已就绪 |
| UC-14 |
行政区划段含字母 |
9153A102MA6N4K7X52 |
第 3-8 位必须为数字,应阻断 |
BR-01 |
已就绪 |
| UC-15 |
校验位错误 |
91530102MA6N4K7X53(把合法码末位 2 改为 3) |
仅按 BR-01 正则校验字符集与长度、不校验第 18 位校验位:格式合法 → 可保存(Q14 已确认) |
BR-01 / Q14 |
已就绪 |
| UC-16 |
汉字/其他混入 |
91530102MA6N4K7X5甲 |
应阻断 |
BR-01 |
已就绪 |
| UC-17 |
重复值(唯一性) |
同 UC-01(LC-01 的码) |
触发唯一性阻断,配对样本见 UQ-02 |
BR-01 / REQ-009 |
已就绪 |
使用前先以本批 8 个代码在测试环境各查询一次,确认与既有数据无碰撞。
1.3 法人代表名称(文本,必填,≤30 字符)
| 数据ID |
字段/场景 |
示例值 |
边界说明 |
对应需求 |
状态 |
| LP-01 |
有效-常规 |
张测试 |
3 字,应通过 |
REQ-007 |
已就绪 |
| LP-02 |
上边界=30 字 |
V-03 |
恰好 30 字符,应通过 |
REQ-007 |
已就绪 |
| LP-03 |
越界=31 字 |
V-04 |
超 1 字符,应阻断并标红 |
REQ-007 |
已就绪 |
| LP-04 |
空值 |
空串 |
必填,应阻断 |
REQ-007 |
已就绪 |
| LP-05 |
含间隔号 |
阿不都·热合曼 |
少数民族姓名间隔号应正常保存与展示 |
REQ-007 |
已就绪 |
| LP-06 |
XSS / SQL 注入 |
同 NM-09 / NM-10(可复用同一串) |
转义、无副作用 |
安全 |
已就绪 |
| LP-07 |
中英数字混排 |
张三Test2 |
需求未限定字符集,长度符合即应通过(如实现有额外限制以实际为准) |
REQ-007 |
已就绪 |
1.4 联系人(文本,必填,≤20 字符)
| 数据ID |
字段/场景 |
示例值 |
边界说明 |
对应需求 |
状态 |
| CT-01 |
有效-常规 |
王测试 |
3 字,应通过 |
REQ-007 |
已就绪 |
| CT-02 |
上边界=20 字 |
V-05 |
恰好 20 字符,应通过 |
REQ-007 |
已就绪 |
| CT-03 |
越界=21 字 |
V-06 |
超 1 字符,应阻断并标红 |
REQ-007 |
已就绪 |
| CT-04 |
空值 / 纯空格 |
空串、" " |
必填,空值应阻断;纯空格 trim 后为空按空处理(Q15 已确认) |
REQ-007 |
已就绪 |
| CT-05 |
XSS / SQL 注入 |
同 NM-09 / NM-10 |
转义、无副作用 |
安全 |
已就绪 |
1.5 联系方式(文本,必填,手机号格式)
| 数据ID |
字段/场景 |
示例值 |
边界说明 |
对应需求 |
状态 |
| PH-01 |
合法-经典测试号 |
13800138000 |
11 位、1[3-9] 开头,应通过 |
REQ-007 |
已就绪 |
| PH-02 |
合法 |
15912345678 |
应通过 |
REQ-007 |
已就绪 |
| PH-03 |
合法 |
19988887777 |
应通过 |
REQ-007 |
已就绪 |
| PH-04 |
越界-10 位 |
1380013800 |
位数不足,应阻断 |
REQ-007 |
已就绪 |
| PH-05 |
越界-12 位 |
138001380001 |
位数超出,应阻断 |
REQ-007 |
已就绪 |
| PH-06 |
非法-非 1 开头 |
12800138000 |
第二位非 3-9,应阻断 |
REQ-007 |
已就绪 |
| PH-07 |
非法-含字母 |
1380013800a |
应阻断 |
REQ-007 |
已就绪 |
| PH-08 |
非法-含空格/横线 |
138 0013 8000、138-0013-8000 |
应阻断(仅首尾 trim,内部空格/横线仍非法) |
REQ-007 |
已就绪 |
| PH-09 |
非法-全角 |
13800138000 |
应阻断 |
REQ-007 |
已就绪 |
| PH-10 |
座机(口径已确认) |
0871-65000000 |
仅手机号 1[3-9]\d{9}:座机不支持 → 应拒绝并提示手机号格式(Q11 已确认) |
REQ-007 / Q11 |
已就绪 |
| PH-11 |
国际前缀(口径已确认) |
+8613800138000 |
国际前缀不支持 → 应拒绝(Q11 已确认) |
REQ-007 / Q11 |
已就绪 |
| PH-12 |
空值 |
空串 |
必填,应阻断 |
REQ-007 |
已就绪 |
| PH-13 |
重复值 |
与 PH-01 相同值建第二家公司 |
需求未要求联系方式唯一,应允许(列表支持模糊查询) |
REQ-002 |
已就绪 |
1.6 简称码(文本,选填,2-4 位纯字母,全平台唯一)
| 数据ID |
字段/场景 |
示例值 |
边界说明 |
对应需求 |
状态 |
| SC-01 |
上边界-4 位 |
ABCD |
4 位纯字母,应通过 |
BR-01 / REQ-007 |
已就绪 |
| SC-02 |
有效-3 位 |
YNA(LC-01 实值) |
3 位,应通过 |
BR-01 |
已就绪 |
| SC-03 |
下边界-2 位 |
AB |
2 位,应通过 |
BR-01 |
已就绪 |
| SC-04 |
越界-1 位 |
A |
位数不足,应阻断 |
BR-01 |
已就绪 |
| SC-05 |
越界-5 位 |
ABCDE |
位数超出,应阻断 |
BR-01 |
已就绪 |
| SC-06 |
含数字 |
A1、12 |
非纯字母,应阻断 |
BR-01 |
已就绪 |
| SC-07 |
含汉字 |
测试 |
应阻断 |
BR-01 |
已就绪 |
| SC-08 |
小写字母(口径已确认) |
ab |
大小写不做限制、均可保存(仅记录字段,不参与任何流程)(Q12 已确认) |
BR-01 / Q12 |
已就绪 |
| SC-09 |
空值(选填) |
多家公司简称码均留空 |
空值不参与全平台唯一 → 多家公司可同时留空、均可保存(Q16 已确认,见 UQ-07) |
BR-01 / Q16 |
已就绪 |
| SC-10 |
重复值 |
YNA(LC-01 已占用) |
触发唯一性阻断,见 UQ-03 |
BR-01 / REQ-009 |
已就绪 |
| SC-11 |
含前后空格 |
"YNA "、" YNA" |
提交前 trim 后判重:与已占用值 YNA 视为重复、应阻断(Q13 已确认) |
BR-01 / Q13 |
已就绪 |
1.7 企业通信地址(省市区级联,必填)与详细地址(≤100 字符)
| 数据ID |
字段/场景 |
示例值 |
边界说明 |
对应需求 |
状态 |
| AD-01 |
有效级联-基准 |
云南省 / 昆明市 / 五华区 |
三级完整,应通过 |
REQ-007 / 6.2 |
已就绪 |
| AD-02 |
有效级联-备用 |
云南省 / 曲靖市 / 麒麟区;云南省 / 大理白族自治州 / 大理市 |
供不同公司使用,含自治州层级 |
REQ-007 |
已就绪 |
| AD-03 |
非法-级联不完整 |
仅选"云南省",未选市/区 |
必填,应阻断 |
REQ-007 |
已就绪 |
| AD-04 |
非法-跨区组合 |
省="云南省" + 市="成都市" |
级联控件应不允许该组合(篡改请求也应拒绝) |
REQ-007 |
已就绪 |
| DT-01 |
有效-常规 |
测试大道 1 号 A 栋 101 |
应通过 |
REQ-007 |
已就绪 |
| DT-02 |
上边界=100 字 |
V-07 |
恰好 100 字符,应通过 |
REQ-007 |
已就绪 |
| DT-03 |
越界=101 字 |
V-08 |
超 1 字符,应阻断并标红 |
REQ-007 |
已就绪 |
| DT-04 |
空值 / 纯空格 |
空串、" " |
必填,空值应阻断;纯空格 trim 后为空按空处理(Q15 已确认) |
REQ-007 |
已就绪 |
| DT-05 |
XSS / SQL 注入 |
同 NM-09 / NM-10 |
转义、无副作用 |
安全 |
已就绪 |
1.8 备注(多行文本,选填,≤200 字符)
| 数据ID |
字段/场景 |
示例值 |
边界说明 |
对应需求 |
状态 |
| RM-01 |
有效-常规 |
外协承运,月结 |
应通过 |
REQ-007 |
已就绪 |
| RM-02 |
上边界=200 字 |
V-11 |
恰好 200 字符,应通过 |
REQ-007 |
已就绪 |
| RM-03 |
越界=201 字 |
V-12 |
超 1 字符,应阻断并标红 |
REQ-007 |
已就绪 |
| RM-04 |
空值 |
空串 |
选填,应允许 |
REQ-007 |
已就绪 |
| RM-05 |
多行/换行 |
第一行备注\n第二行备注(真实换行符) |
多行控件应正常保存与回显 |
REQ-007 |
已就绪 |
| RM-06 |
XSS(存储型高发点) |
<script>alert(1)</script>、<img src=x onerror=alert(1)> |
列表/编辑页/详情回显均转义 |
安全 |
已就绪 |
| RM-07 |
SQL 注入 |
1'; WAITFOR DELAY '0:0:5'-- |
参数化处理,无延迟、无副作用 |
安全 |
已就绪 |
1.9 状态(启用/停用,新增默认启用)
| 数据ID |
字段/场景 |
示例值 |
边界说明 |
对应需求 |
状态 |
| ST-01 |
新增默认 |
提交成功 → 列表状态=启用(绿),提示"新增成功" |
默认启用,返回列表 |
BR-02 / REQ-008/016 |
已就绪 |
| ST-02 |
停用-二次确认(确定) |
LC-06 → 停用(灰) |
二次确认后生效;立即从核算/货源选择弹窗消失 |
BR-05 / REQ-015 |
已就绪 |
| ST-03 |
停用-二次确认(取消) |
取消 → 状态保持启用不变 |
不产生状态变更与日志 |
BR-05 |
已就绪 |
| ST-04 |
停用 → 启用 |
LC-06 重新启用 |
即时生效,恢复出现在选择弹窗 |
BR-05 / REQ-016 |
已就绪 |
| ST-05 |
停用后档案可用 |
LC-06 进入列表查询、编辑页、合同管理 Tab |
均正常可用 |
BR-05 |
已就绪 |
1.10 证件上传(新增页,营业执照/身份证必传,许可证选填)
样本文件需在测试机准备(建议集中存放 testdata 目录);DOC-04 的伪造样本仅用于验证拒绝与安全处理。
| 数据ID |
字段/场景 |
示例值(文件名=上传用样本) |
边界说明 |
对应需求 |
状态 |
| DOC-01 |
营业执照-合法 |
营业执照_测试甲.jpg / .jpeg / .png / .pdf(4 个文件) |
白名单内 4 格式均应上传成功、可预览 |
REQ-006 |
已就绪 |
| DOC-02 |
营业执照-非法 |
营业执照_测试甲.gif / .docx / .txt / 无扩展名文件、营业执照_测试甲.bmp |
bmp 不在证件白名单(注意与合同附件白名单含 bmp 的差异),均应拒绝并提示 |
REQ-006 |
已就绪 |
| DOC-03 |
身份证人像面-合法 |
法人身份证人像面_测试甲.jpg / .jpeg / .png |
应上传成功 |
REQ-006 |
已就绪 |
| DOC-04 |
身份证人像面-非法 |
法人身份证人像面_测试甲.pdf / .bmp;伪造内容:exe 改名为 .jpg;双扩展名 身份证.pdf.exe |
身份证仅收 jpg/jpeg/png,pdf/bmp 应拒绝;伪造样本不得被执行 |
REQ-006 / 安全 |
已就绪 |
| DOC-05 |
身份证国徽面 |
法人身份证国徽面_测试甲.jpeg |
合法通过;非法样本同 DOC-04 |
REQ-006 |
已就绪 |
| DOC-06 |
道路运输经营许可证-不传 |
不上传 |
选填,应允许提交(Q5) |
REQ-006 / Q5 |
已就绪 |
| DOC-07 |
道路运输经营许可证-上传 |
道路运输经营许可证_测试甲.pdf |
白名单内应通过 |
REQ-006 |
已就绪 |
| DOC-08 |
必传缺失 |
营业执照或身份证任一项不传直接提交 |
应阻断并提示必传项 |
REQ-006 |
已就绪 |
| DOC-09 |
极端大小 |
0 字节文件、约 300MB 大文件(营业执照_大文件.pdf) |
不设大小上限口径:大文件应可上传(关注耗时/OBS 超时);0 字节行为记录观察项 |
Q6 / RISK-AVAILABILITY |
已就绪 |
| DOC-10 |
文件名安全 |
../../etc/passwd.jpg、超长文件名、含特殊字符文件名 |
正常处理或拒绝,不得越权写路径 |
安全 |
已就绪 |
| DOC-11 |
重新上传替换 |
同一证件位置再次上传新文件 |
替换旧文件、预览指向新文件(编辑页回显以实际实现为准) |
REQ-006 |
已就绪 |
1.11 列表查询 / 排序 / 分页样本(REQ-002/004)
| 数据ID |
字段/场景 |
示例值 |
边界说明 |
对应需求 |
状态 |
| QR-01 |
名称模糊查询 |
输入"测试甲" |
命中 LC-01(模糊匹配) |
REQ-002 |
已就绪 |
| QR-02 |
信用代码模糊查询 |
输入"91530102" |
命中 LC-01(前缀匹配) |
REQ-002 |
已就绪 |
| QR-03 |
联系方式模糊查询 |
输入"138" |
命中 PH-01 对应公司 |
REQ-002 |
已就绪 |
| QR-04 |
状态过滤 |
启用 → 不含 LC-06;停用 → 仅 LC-06;全部 → 均含 |
三态切换结果正确 |
REQ-002 |
已就绪 |
| QR-05 |
创建时间含当天(日敏感) |
范围=[2026-09-29, 2026-09-29] → 命中当日创建记录(如当天创建的 LC-04);=[2026-09-28, 2026-09-28] → 不含当日 |
结束日期含当天 23:59:59;仅执行当天有效 |
REQ-002 / 6.1 |
已就绪 |
| QR-06 |
组合条件 |
状态=停用 + 名称"保山" |
命中 LC-06,过滤叠加正确 |
REQ-002 |
已就绪 |
| QR-07 |
空结果 |
名称输入"不存在的公司XYZ" |
空态提示(列表与选择弹窗各有专门空态文案) |
REQ-002 / 漏测清单 §4 |
已就绪 |
| QR-08 |
重置 |
点"重置" |
条件清空、恢复默认列表(创建时间倒序、20 条/页) |
REQ-002 |
已就绪 |
| QR-09 |
默认排序 |
新创建的公司排首位 |
创建时间倒序 |
REQ-004 |
已就绪 |
| QR-10 |
分页 |
25 条数据(§8 BLK-01 构造) |
默认 20/页共 2 页;可选 10/20/50/100 |
REQ-004 |
已就绪 |
2. 合同数据(FR-06,REQ-017~021)
2.1 合同编号(文本,必填,≤50 字符,同公司唯一;不同公司允许重复)
| 数据ID |
字段/场景 |
示例值 |
边界说明 |
对应需求 |
状态 |
| CN-01 |
有效-常规 |
HT-2026-0001(LC-01 实值) |
应通过 |
REQ-019 / BR-03 |
已就绪 |
| CN-02 |
上边界=50 字 |
V-13 |
恰好 50 字符,应通过 |
REQ-019 |
已就绪 |
| CN-03 |
越界=51 字 |
V-14 |
超 1 字符,应阻断 |
REQ-019 |
已就绪 |
| CN-04 |
同公司重复 |
在 LC-01 下再建一条编号 HT-2026-0001 |
阻断并提示(唯一性提示应含语义说明) |
BR-03 / REQ-019 |
已就绪 |
| CN-05 |
跨公司重复(配对) |
LC-03 建编号 HT-2026-0001(与 LC-01 同号) |
允许(不同公司之间可重复) |
BR-03 |
已就绪 |
| CN-06 |
编辑排除自身 |
编辑 HT-2026-0001 仅改附件、不改编号后保存 |
不报编号重复(编辑时编号排除自身,Q16 已确认) |
REQ-019 / Q16 |
已就绪 |
| CN-07 |
特殊字符 / 注入 |
HT-<>'"&;--、HT-2026-0001' |
正常存储或按规则提示;无注入副作用 |
安全 / REQ-019 |
已就绪 |
| CN-08 |
空值 |
空串 |
必填,应阻断 |
REQ-019 |
已就绪 |
2.2 时间字段与合同状态边界(签订/生效/过期;状态系统自动计算)
合同台账(可直接录入的完整数据集;税源地列待补充见 2.3,附件见 2.4)
| 合同编号 |
所属公司 |
签订时间 |
生效时间 |
过期时间 |
当天状态(T=2026-09-29) |
用途 |
| HT-2026-0001 |
LC-01 |
2026-08-25(T-35) |
2026-08-30(T-30) |
2027-09-29(T+365) |
生效中 |
稳定生效合同;跨公司重复对(CN-05) |
| HT-2026-0002 |
LC-01 |
2026-09-29(T) |
2026-09-29(T,当天生效) |
2027-09-29(T+365) |
生效中 |
"生效时间=当天"边界(长期稳定) |
| HT-2025-0987 |
LC-01 |
2025-08-25(T-400) |
2025-08-25(T-400) |
2026-09-28(T-1) |
已过期 |
稳定过期样本(跨日不漂移) |
| HT-2026-0011 |
LC-02 |
2026-06-21(T-100) |
2026-06-21(T-100) |
2026-09-19(T-10) |
已过期 |
无生效合同公司(Q3 可勾选) |
| HT-2026-0012 |
LC-02 |
2026-09-29(T) |
2026-10-09(T+10) |
2027-01-07(T+100) |
待生效 |
待生效样本 |
| HT-2026-0001(同号) |
LC-03 |
2026-08-25(T-35) |
2026-08-30(T-30) |
2027-09-29(T+365) |
生效中 |
跨公司编号重复对;仅"生效合同"阻断删除的载体 |
| HT-2026-0021 |
LC-06 |
2025-08-25(T-400) |
2025-08-25(T-400) |
2026-09-28(T-1) |
已过期 |
停用公司历史合同 |
| HT-2026-0031 |
LC-07 |
2026-09-29(T) |
2026-09-29(T,当天生效) |
2027-09-29(T+365) |
生效中 |
日敏感:当天生效边界(CD-B1) |
| HT-2026-0032 |
LC-07 |
2026-08-30(T-30) |
2026-08-30(T-30) |
2026-09-29(T,当天过期) |
生效中 |
日敏感:当天过期含边界(CD-B2) |
| HT-2026-0033 |
LC-07 |
2025-08-25(T-400) |
2025-08-25(T-400) |
2026-09-28(T-1) |
已过期 |
昨天过期(CD-B3) |
| HT-2026-0034 |
LC-07 |
2026-09-29(T) |
2026-09-30(T+1) |
2027-01-07(T+100) |
待生效 |
明天生效(CD-B4) |
CD-B1/B2 仅执行当天有效:跨天执行须按当日重造(把 T 改为执行日)。HT-2026-0031~0034 当天使 LC-07 的"生效合同数"实时统计=2,次日变 1,断言时注意取样时点。
时间校验与状态样本
| 数据ID |
字段/场景 |
示例值 |
边界说明 |
对应需求 |
状态 |
| CD-01 |
非法-过期=生效 |
生效=2026-10-09(T+10)、过期=2026-10-09(T+10) |
必须"晚于",相等应阻断并提示 |
BR-03 / REQ-019 |
已就绪 |
| CD-02 |
非法-过期<生效 |
生效=2027-01-07(T+100)、过期=2026-10-09(T+10) |
倒置应阻断 |
BR-03 / REQ-019 |
已就绪 |
| CD-03 |
补录-签订晚于当前 |
签订=2026-10-29(T+30)、生效=2026-10-09(T+10)、过期=2027-01-07(T+100) |
签订时间可晚于当前日期,不做强校验,应允许保存 |
BR-03 |
已就绪 |
| CD-04 |
空值 |
签订/生效/过期任一为空 |
三项均必填,应阻断 |
REQ-019 |
已就绪 |
| CD-05 |
极远日期 |
过期=2099-12-31 |
无上限口径,应允许(状态=待生效/生效中按当天计算) |
BR-03 |
已就绪 |
| CD-06 |
状态不可手工设置 |
合同列表/弹窗中查找状态编辑入口 |
状态列只读、无手工设置入口;日期变更后状态按当前日期自动重算 |
BR-03 / REQ-021 / 7.2 |
已就绪 |
| CD-07 |
日期控件 |
日历控件选择/手工输入非法日期串 |
控件应拦截非法日期(如 2026-02-30) |
REQ-019 |
已就绪 |
2.3 所属税源地(下拉,必填,数据字典-税源地)
| 数据ID |
字段/场景 |
示例值 |
边界说明 |
对应需求 |
状态 |
| TX-01 |
有效值 |
待补充:从"基础信息 → 数据字典 → 税源地"读取前 2 项真实字典值填入 |
与企业货主税源地同源;录入合同必须使用环境真实字典值 |
REQ-019 / 6.4 |
待补充 |
| TX-02 |
空(不选) |
不选择直接保存 |
必填,应阻断 |
REQ-019 |
已就绪 |
| TX-03 |
字典外值(接口级) |
请求携带不存在的税源地编码 |
建议拒绝(服务端字典校验);接口校验口径如需确认以实际为准 |
REQ-019 |
已就绪 |
2.4 合同附件(必传,单附件,白名单 pdf/doc/docx/jpg/jpeg/bmp/png,不设大小上限)
白名单 7 类样本文件与 1 个超大文件需在测试机准备;伪造样本仅用于验证拒绝与安全处理。
| 数据ID |
字段/场景 |
示例值(文件名=上传用样本) |
边界说明 |
对应需求 |
状态 |
| AT-01 |
白名单内(7 类) |
合同扫描件.pdf、承运合同.doc、承运合同.docx、合同扫描件.jpg、合同扫描件.jpeg、合同扫描件.bmp、合同扫描件.png |
7 类均应上传成功,上传后显示文件名,可预览/下载 |
BR-03 / REQ-019/020 |
已就绪 |
| AT-02 |
白名单外 |
合同清单.xlsx、说明.txt、打包.zip、打包.rar、图.gif |
均应拒绝并提示格式白名单(注意 gif/rar 也属白名单外) |
BR-03 / REQ-019 |
已就绪 |
| AT-03 |
大写扩展名(口径已确认) |
合同.PDF、合同.Jpg |
大小写不敏感:白名单按扩展名小写归一,.PDF/.Jpg 等效放行(Q10 已确认) |
BR-03 / Q10 |
已就绪 |
| AT-04 |
无扩展名 |
文件名为"合同附件" |
应拒绝 |
BR-03 |
已就绪 |
| AT-05 |
伪造扩展名 |
病毒.exe.pdf(双扩展)、contract.pdf.exe、exe 改名为 合同扫描件.jpg |
拒绝或隔离;任何情况下不得执行 |
安全 / BR-03 |
已就绪 |
| AT-06 |
极端大小 |
0 字节文件、约 300MB 大文件 |
不设大小上限(Q6):大文件应可上传(关注耗时/OBS 超时与重试);0 字节行为记录观察项 |
Q6 / RISK-AVAILABILITY |
已就绪 |
| AT-07 |
重新上传替换 |
已有附件时再次选择新文件 |
单附件:替换后仅保留最新 1 个(旧 URL 不再可访问以下载结果为准) |
Q6 / REQ-019 |
已就绪 |
| AT-08 |
多文件选择 |
一次选择 2 个文件 |
单附件限制:应按限制处理(仅取 1 个或提示) |
Q6 |
已就绪 |
| AT-09 |
上传依赖失败 |
OBS/文件服务不可用或超时(故障注入,见缺口 #11) |
上传失败提示 + 可重试;不影响已填表单内容 |
RISK-AVAILABILITY |
待补充 |
3. 唯一性配对数据(BR-01 / REQ-009/010/011 / 验收 8)
3.1 三组重复对与编辑排除自身
| 数据ID |
重复维度 |
配对样本值 |
预期行为 |
对应需求 |
状态 |
| UQ-01 |
公司名称 |
已存在:云南测试甲物流有限公司(LC-01);新增:名称同 LC-01,其余字段全新 |
阻断 + 名称字段就近标红 + 明确提示"已存在";表单不清空 |
BR-01 / REQ-009 / 6.2 |
已就绪 |
| UQ-02 |
统一社会信用代码 |
已存在:91530102MA6N4K7X52(LC-01);新增:uscc 同 LC-01,名称全新 |
同上(失焦校验与提交双时机均需覆盖) |
BR-01 / REQ-009 |
已就绪 |
| UQ-03 |
简称码 |
已存在:YNA(LC-01);新增:简称码 YNA,名称与代码全新 |
同上 |
BR-01 / REQ-009 |
已就绪 |
| UQ-04 |
编辑排除自身 |
LC-01 进入编辑仅修改法人代表名称后保存 |
名称/信用代码/简称码未变,不得误报重复(编辑排除自身,Q16 已确认) |
REQ-012 / 6.3 / Q16 |
已就绪 |
| UQ-05 |
编辑改为他人值 |
LC-01 名称改为"昆明测试乙供应链有限公司"(LC-02 名称)后保存 |
阻断 |
BR-01 / REQ-012 |
已就绪 |
| UQ-06 |
逻辑删除后复用 |
LC-04 删除后,用其名称"玉溪测试丁货运代理有限公司"+ 代码 91530402MA6U2W5J8J 新建 |
允许(唯一性不含已逻辑删除的公司) |
BR-01 / REQ-009 |
已就绪 |
| UQ-07 |
空简称码多公司 |
新建 2 家公司,简称码均留空 |
空值不参与唯一 → 两家均可保存、共存(Q16 已确认) |
BR-01 / Q16 |
已就绪 |
| UQ-08 |
前后空格判重 |
"YNA " vs "YNA";"云南测试甲物流有限公司 " vs 原名 |
提交前 trim 后判重:均视为重复、应阻断(Q13 已确认) |
BR-01 / Q13 |
已就绪 |
3.2 并发同码与幂等样本
| 数据ID |
场景 |
请求样本(两张表单的字段值) |
预期行为 |
对应需求 |
状态 |
| UQ-09 |
并发提交同一信用代码 |
表单A:名称=云南测试并发物流有限公司A;uscc=91530111MA6Y2T7P91;法人=张甲;联系人=王甲;电话=13800138001;地址=云南省/昆明市/官渡区;详细=测试路 1 号;简称码=AB 表单B:名称=云南测试并发物流有限公司B;uscc=同 A;其余字段不同(法人=张乙、电话=13800138002 等) |
两个独立浏览器会话(或两个 HTTP 请求)同时提交:仅 1 条入库;后提交者失败且提示友好(不出现 DB 异常原文);不产生重复数据 |
REQ-010 / BR-01 / 验收8 |
已就绪 |
| UQ-10 |
幂等-重复点击 |
任一新增表单,1 秒内连点"保存/新增"2 次 |
仅 1 条入库,以最终一次结果为准(平台统一幂等口径) |
REQ-011 |
已就绪 |
4. 核算关联数据(FR-07/08/09/10,BR-06/07/08/09)
运单号/货源号/打款单号为逻辑代号占位;真实编号格式与样例执行时从测试环境读取并替换(缺口 #7)。所有"引用公司"的运单/货源,须在快照保存完成后再执行改名/停用/删除变更(§6)。
4.1 货源样本(发布货源-物流公司字段,FR-08)
| 数据ID |
货源场景 |
所选物流公司 |
关联运单 |
用途/断言要点 |
对应需求 |
状态 |
| HY-01 |
新建货源,经选择弹窗选 LC-07 庚(搜索"庚"→单选→确定→回显名称/代码/联系人) |
庚(楚雄测试庚物流有限公司) |
WT-01 |
核算自动带入的来源;改名快照链起点 |
BR-07 / REQ-031 |
已就绪 |
| HY-02 |
新建货源,选 LC-05 戊;不发布关联运单 |
戊 |
无 |
删除保护不覆盖场景(仅被货源引用 → 可删除,Q9 已确认) |
BR-04 / BR-07 |
已就绪 |
| HY-03 |
新建货源,不选物流公司直接发布 |
无 |
WT-02 |
选填不阻断(货源侧 Q2 口径) |
BR-07.4 |
已就绪 |
| HY-04 |
新建货源,选 LC-02 乙 |
乙 |
WT-03 |
乙被运单引用(删除阻断②前置) |
BR-07 |
已就绪 |
| HY-05 |
新建货源,选 LC-06 己(发布后己被停用) |
己(已停用) |
WT-05 |
停用快照 + 打款"含停用"链路 |
BR-05 / BR-08 |
已就绪 |
| HY-06 |
操作样本:编辑 HY-03 → 选择 LC-01 保存(写入快照);再编辑 → "移除"清空保存;再编辑 → 改选 LC-07(替换) |
依次:甲 → 空 → 庚 |
— |
更换/清除/替换回显验证 |
REQ-031 / BR-07.3 |
已就绪 |
| HY-07 |
选择弹窗入口校验 |
在"指定车队司机"附近出现"选择物流公司"字段 |
— |
位置与交互对标需求 6.7 |
BR-07 / 6.7 |
已就绪 |
4.2 运单/核算样本(运费核算-修改核算弹窗,FR-07)
| 数据ID |
运单场景(占位号) |
公司带入/选择 |
核算操作 |
预期落库与断言 |
对应需求 |
状态 |
| WT-01 |
WT-01:货源 HY-01 → 未核算 |
默认带入庚 |
不改公司直接保存 |
运单表写入 company_id+名称+uscc(快照基准=「楚雄测试庚物流有限公司」)+ 客户收货地址;核算状态→已核算 |
BR-06 / REQ-025/026 |
已就绪 |
| WT-02 |
WT-02:货源 HY-03 → 未核算 |
无(初始为空) |
不选公司直接保存 |
正常保存,运单记为"无外协公司";不阻断 |
Q2 / REQ-026 |
已就绪 |
| WT-03 |
WT-03:货源 HY-04 → 未核算 |
默认带入乙 |
直接保存 |
快照=乙;乙被运单引用 |
BR-06 / REQ-026 |
已就绪 |
| WT-04 |
WT-04:无货源公司 → 已核算(无外协) |
首次不选;二次修改核算补选 LC-01 甲 |
覆盖更新保存 |
覆盖运单核算字段、不产生新单据、写日志 1 条;甲被运单引用(删除阻断①双条件前置) |
REQ-028 / BR-04 |
已就绪 |
| WT-05 |
WT-05:货源 HY-05 → 未核算 |
默认带入己 |
保存(随后己被停用) |
已核算运单不受停用影响;历史展示不变 |
BR-05 / REQ-027 |
已就绪 |
| WT-07 |
WT-07:未核算载体(与公司无关的普通运单) |
打开弹窗选择甲(先不保存)→ 另一会话停用 LC-01 → 再点"保存/核算" |
保存被阻断 |
后端二次校验:提示具体公司名并要求重新选择;重选启用公司(如乙)或清除后可保存成功 |
REQ-029 / 6.6 异常 |
已就绪 |
| WT-08 |
WT-08:未核算载体 |
选择弹窗交互专项:搜索"测试"/"91530102"、翻页(25 条数据)、单选替换、确定回填、"清除"取消选择 |
— |
弹窗仅启用公司、创建时间倒序、20 条/页、单选;搜索无结果空态"未找到符合条件的物流公司" |
REQ-024/025 / 6.6 |
已就绪 |
| WT-09 |
WT-09:已核算 WT-01 再次打开修改核算弹窗 |
— |
只读观察回显 |
回显基准=运单表已存快照值(Q8 已确认;未核算的运单没有值,按货源所选公司默认带入) |
REQ-025 / Q8 |
已就绪 |
| WT-10 |
弹窗加载失败(故障注入) |
打开选择弹窗时阻断接口/断网 |
— |
空状态 + "重新加载"按钮,点击可恢复 |
RISK-AVAILABILITY / 6.6 |
待补充 |
4.3 客户收货地址(修改核算弹窗新增字段,选填,≤200 字符,仅记录)
| 数据ID |
字段/场景 |
示例值 |
边界说明 |
对应需求 |
状态 |
| RA-01 |
有效-常规 |
云南省昆明市五华区测试大道 1 号测试仓库 |
应通过并落库运单表 |
BR-06.7 / REQ-023 |
已就绪 |
| RA-02 |
上边界=200 字 |
V-09 |
恰好 200 字符,应通过 |
REQ-023 |
已就绪 |
| RA-03 |
越界=201 字 |
V-10 |
超 1 字符,应阻断并提示 |
REQ-023 / 异常流程-字段超长 |
已就绪 |
| RA-04 |
空值(不填) |
空串 |
选填,应允许(与不选公司可并存) |
REQ-023 / Q2 同口径 |
已就绪 |
| RA-05 |
XSS |
<script>alert(1)</script> |
转义存储与展示 |
安全 |
已就绪 |
| RA-06 |
纯空格 |
" " |
trim 后为空按空处理(Q15 已确认) |
REQ-023 |
已就绪 |
| RA-07 |
多行/换行 |
第一行收货地址\n第二行补充说明 |
纯文本应允许(控件若限单行以实际为准) |
REQ-023 |
已就绪 |
4.4 打款样本(FR-09/10,货主打款 / 财务打款 / 打款记录)
| 数据ID |
页面 |
关联运单(快照) |
场景/断言 |
对应需求 |
状态 |
| PY-01 |
货主打款 |
WT-03(乙) |
筛选"乙"命中该记录;展示列=乙;筛选不改变任何操作入口与金额 |
BR-08/09 / REQ-032/033 / 验收9 |
已就绪 |
| PY-02 |
货主打款 |
WT-02(无外协公司) |
筛选"无外协公司"命中;展示列="无外协公司" |
BR-08 / REQ-032 |
已就绪 |
| PY-03 |
财务打款 |
WT-05(己,已停用) |
下拉含停用公司"己";筛出历史打款记录;打款/驳回等操作正常执行 |
BR-08/BR-05 / 验收9 |
已就绪 |
| PY-04 |
打款记录 |
WT-01(庚旧名快照) |
三页面(货主打款/财务打款/打款记录)筛选与展示口径一致 |
BR-08/09 / REQ-032/033 |
已就绪 |
| PY-05 |
组合筛选 |
任一 |
物流公司 + 打款状态 + 打款时间范围组合查询、重置恢复 |
REQ-032 |
已就绪 |
| PY-06 |
回归 |
任一(金额取环境既有记录,不构造金额样本) |
改造后:打款金额、支付流水、打款/驳回流程、安徽运八上报触发均不变 |
RISK-FINANCIAL / 分析 10.2 |
已就绪 |
| PY-07 |
下拉选项构成 |
— |
下拉=全部 / 无外协公司 / 各物流公司(含停用;已删除公司不含) |
BR-08 / 6.5 |
已就绪 |
4.5 展示快照与取值口径(BR-09 / REQ-027/033/034)
- 4 个列表(货源管理 / 运单管理 / 货主打款 / 财务打款)展示的"物流公司"均为保存时刻快照值:公司改名/停用/删除后历史展示不变(见 §6 SS 系列);未关联统一显示"无外协公司"。
- 取值口径(Q8 已确认):运单管理列/打款筛选/导出的"物流公司"一律以运单表为准。货源所选物流公司为货源维度记录;核算时按货源所选公司默认带入"修改核算"弹窗(运单表初始无值:未核算的运单没有值;弹窗内可清除或更换),确认核算后写入运单表(运单维度)。本文样本按"运单表快照为准(核算保存即固化)"设计断言;未核算或未关联运单取值="无外协公司"(不联表实时取货源当前值)。
- 导出 Excel 必须含"物流公司"列(含快照旧名),见 §8 BLK-05。
5. 删除约束样本(BR-04 / REQ-013 / 验收 2)
执行顺序放最后(不可逆操作);执行前确认 §6 快照场景已完成。
| 数据ID |
删除场景 |
样本公司(条件) |
预期行为 |
对应需求 |
状态 |
| DL-01 |
①+② 双条件同时命中 |
LC-01(2 条生效中合同 + 被 WT-04 引用) |
阻断删除;提示须说明具体原因(观察双原因同时展示/优先级口径);引导改用"停用" |
BR-04 / REQ-013 |
已就绪 |
| DL-02 |
② 仅被运单引用 |
LC-02(合同均已过期/待生效;被 WT-03 引用) |
阻断;提示"被运单引用"并引导停用 |
BR-04 |
已就绪 |
| DL-03 |
① 仅有生效中合同 |
LC-03(1 条生效中;无运单/货源引用) |
阻断;提示含生效合同数=1 |
BR-04 |
已就绪 |
| DL-04 |
无任何引用(可删除) |
LC-04(无合同、无引用) |
二次确认→删除成功:列表消失、导出不含、核算勾选不含;点"取消"时不删除 |
BR-04 / REQ-013 / 验收2 |
已就绪 |
| DL-05 |
⑤ 仅被货源引用、未产生运单 |
LC-05(仅 HY-02 引用) |
删除保护不覆盖(Q9 已确认):可删除;删除成功后 HY-02 货源列表仍显示快照名「大理测试戊物流有限公司」(不空白、不变为"无外协公司") |
BR-04 / Q9 |
已就绪 |
| DL-06 |
删除后同名重建 |
用 LC-04 名称+代码重建 |
允许(唯一性不含已逻辑删除) |
BR-01 / 验收2 |
已就绪 |
| DL-07 |
删除后历史追溯 |
历史运单/货源/打款中该公司记录 |
快照名与公司 ID 保持不变;不得变空、不得变为"无外协公司" |
BR-04 说明 / BR-09.4 |
已就绪 |
6. 状态与快照验证样本(BR-05 / BR-09.4 / REQ-015/016/027/034)
快照验证通用链路:公司先建档 → 货源/运单引用并保存(快照基准固化)→ 改名/停用/删除 → 校验历史展示不变。改名样本:SC-05 场景将 LC-07"楚雄测试庚物流有限公司"改为"楚雄测试庚物流(云南)有限公司"(新名也须通过唯一性)。
| 数据ID |
验证场景 |
操作样本 |
断言要点 |
对应需求 |
状态 |
| SS-01 |
停用即时性 |
LC-06 停用 → 打开选择弹窗 |
立即(刷新后无需等待缓存过期)不可见 |
BR-05 / REQ-015 |
已就绪 |
| SS-02 |
停用不影响已核算 |
WT-05 在运费核算列表/运单管理查看;再次打开修改核算弹窗 |
展示与回显均不变 |
BR-05 / REQ-027 |
已就绪 |
| SS-03 |
停用后档案可用 |
LC-06 列表查询、编辑页、合同管理 Tab |
均可正常操作 |
BR-05 |
已就绪 |
| SS-04 |
启用恢复 |
LC-06 重新启用 → 选择弹窗 |
即时恢复可见 |
REQ-016 |
已就绪 |
| SS-05 |
改名快照链 |
LC-07 改名 → 校验 WT-01、HY-01、货源管理列表、运单管理、4 列表导出、打款展示、WL-06 场景 |
历史全部显示旧名「楚雄测试庚物流有限公司」;LC-07 档案自身显示新名 |
BR-06.6 / BR-09.4 / REQ-027/034 |
已就绪 |
| SS-06 |
停用快照 |
以 LC-06(WT-05/PY-03)复核 §SS-02 口径 |
历史显示"保山测试己运输有限公司"不变 |
BR-09.4 |
已就绪 |
| SS-07 |
删除快照 |
LC-05 删除后(DL-05 可删除路径,Q9)查看 HY-02 |
货源管理列表仍显示「大理测试戊物流有限公司」 |
BR-09.4 / BR-04 |
已就绪 |
| SS-08 |
已删除公司不可见 |
LC-04/LC-05 删除后 |
选择弹窗、核算勾选、列表导出、打款下拉均不含 |
BR-04 / 6.5 |
已就绪 |
| SS-09 |
打款"含停用"筛选 |
筛选下拉选 LC-06(停用) |
可筛出历史打款 PY-03 |
BR-08 |
已就绪 |
| SS-10 |
弹窗回显基准 |
WT-09 场景(已核算运单再次打开) |
回显=运单表已存快照值(Q8 已确认) |
REQ-025 / Q8 |
已就绪 |
| SS-11 |
合同状态自动计算 |
合同列表观察 HT-2026-0031~0034 |
状态列按当前日期自动计算;含边界当天;无手工设置入口 |
BR-03 / REQ-021 |
已就绪 |
| SS-12 |
生效合同数实时统计 |
LC-01 列表列 |
显示实时"生效中"合同数(当天=2);合同增删/日期变化后随之变化 |
REQ-003 |
已就绪 |
7. 角色与账号数据(REQ-035 / 验收 7,账号为待人工补充项)
| 数据ID |
角色 |
账号 |
权限/用途 |
对应需求 |
状态 |
| ACC-01 |
系统管理员 |
super_admin(测试环境地址与账号见项目画像 §1) |
授权场景:菜单可见性 + 角色权限配置 |
REQ-035 |
已就绪 |
| ACC-02 |
运营管理员 |
待补充(由系统管理员授权后提供) |
物流公司新增/编辑/删除/启停用、合同管理全部操作 |
REQ-035 |
待补充 |
| ACC-03 |
核算人员 |
待补充 |
运费核算勾选可用;物流公司列表只读(无新增/编辑/删除/启停用入口) |
REQ-035 / 验收7 |
待补充 |
| ACC-04 |
财务人员 |
待补充 |
货主打款/财务打款页面查询与打款操作权限 |
REQ-035 |
待补充 |
| ACC-05 |
跨机构账号(机构B) |
待补充 |
跨机构数据隔离验证:不可见、不可操作机构A的物流公司 |
REQ-035 / 验收7 |
待补充 |
| ACC-06 |
机构信息 |
机构A / 机构B 的名称与编码 待补充 |
隔离验证前置;物流公司按创建机构归属 |
REQ-035 |
待补充 |
| ACC-07 |
只读断言样本 |
用 ACC-03 登录物流公司列表/编辑页 |
列表无操作按钮、编辑页只读、启停用不可操作;仅可查看 |
REQ-035 / 验收7 |
待补充(依赖 ACC-03) |
| ACC-08 |
越权断言样本 |
用 ACC-05 通过 URL 直达/构造请求访问机构A公司 ID 的编辑、删除、导出 |
拒绝或不可见;行为日志记录完整(操作人/时间/IP/变更摘要) |
REQ-035 / 项目画像 §7.3 |
待补充(依赖 ACC-05) |
8. 批量 / 性能数据(REQ-004/005、选择弹窗、验收 10)
| 数据ID |
场景 |
数据量/样本 |
边界说明 |
对应需求 |
状态 |
| BLK-01 |
列表分页 |
25 条启用公司(命名:批量测试物流公司00001~00025) |
默认 20 条/页共 2 页;切换 10/20/50/100 各档验证 |
REQ-004 |
已就绪(待构造) |
| BLK-02 |
选择弹窗分页/排序 |
同 BLK-01 的 25 条 |
创建时间倒序(后建在前);20 条/页翻页正确 |
REQ-024 |
已就绪(待构造) |
| BLK-03 |
弹窗搜索 |
关键词"批量测试物流公司001"(名称)、"91530102MA00000"(代码前缀) |
模糊命中;无结果关键词"ZZZ不存在"→ 专门空态文案 |
REQ-024 |
已就绪 |
| BLK-04 |
导出 20000 上限(数字边界成对) |
恰好 20000 条 → 应成功导出全部;20001 条 → 按平台组件口径(截断或提示,记录实际行为) |
导出应不含已逻辑删除公司;列与页面一致 |
REQ-005 / §7 / 项目画像 §8.3 |
待补充(构造通道见缺口 #9) |
| BLK-05 |
四列表导出含列 |
货源管理/运单管理/货主打款/财务打款 各导出 1 次 |
均含"物流公司"列且为快照值(如庚的旧名) |
BR-09.5 / REQ-033 |
已就绪 |
| BLK-06 |
弹窗大数据量 |
250 条启用公司 |
打开弹窗首屏渲染/翻页时长基线记录;加载失败时"重新加载"可用 |
非功能 / RISK-AVAILABILITY |
待补充(构造通道见缺口 #9) |
| BLK-07 |
批量核算(Q7 已确认:不支持) |
勾选 WT-02、WT-03 执行批量核算 |
已确认口径:批量核算不填充、不清除物流公司与客户收货地址,维持原值(批量逻辑不变;两字段仅单笔"修改核算"弹窗可填) |
REQ-030 / Q7 |
已就绪 |
| BLK-08 |
合同列表导出 |
LC-01 名下 3 条合同 |
导出含合同状态列(自动计算值) |
REQ-017 |
已就绪 |
批量数据生成器(可直接运行,产物为格式合法且校验位正确的代码):
说明:简称码空值不参与唯一(Q16 已确认),批量留空可正常创建;若批量创建整体失败(实现把空值判为互相重复)即为口径不符,改用 gen_code 变体可继续性能场景。
9. 安全与异常数据汇总(并入各字段表使用)
| 数据ID |
场景 |
测试值 |
预期行为 |
对应需求 |
状态 |
| SEC-01 |
搜索框 SQL 注入 |
公司名称查询输入 ' OR '1'='1;代码查询输入 ' UNION SELECT 1-- |
按字面匹配或空结果;无报错泄露、无副作用 |
安全 |
已就绪 |
| SEC-02 |
搜索框 XSS |
查询输入 <img src=x onerror=alert(1)> |
结果区/空态不回显未转义内容 |
安全 |
已就绪 |
| SEC-03 |
存储型 XSS |
名称 NM-09 / 备注 RM-06 / 收货地址 RA-05 写入后 |
列表、编辑页、选择弹窗、详情均转义 |
安全 / 9.列表展示 |
已就绪 |
| SEC-04 |
越权访问 |
ACC-05 直达 URL 或构造请求访问机构A公司(编辑/删除/导出私密字段) |
拒绝/不可见;写行为日志 |
REQ-035 |
待补充(依赖 ACC-05) |
| SEC-05 |
敏感证件访问 |
非授权角色直接访问营业执照/身份证 OBS 链接 |
权限校验;访问留痕(RISK-COMPLIANCE) |
REQ-035 / 项目画像 §7.3 |
已就绪 |
| SEC-06 |
路径穿越文件名 |
上传文件名 ../../etc/passwd.jpg |
拒绝或安全重命名,不得越权写路径 |
安全 |
已就绪 |
| SEC-07 |
特殊字符集 |
换行、制表符、零宽字符 U+200B、RTL 覆盖 U+202E、4 字节 emoji |
不报错、不乱码;长度按字符计数(emoji/生僻字按字符数) |
安全 / REQ-007 |
已就绪 |
| SEC-08 |
超长 payload |
各文本字段提交 5000 字符 |
按字段上限拦截(50/30/20/100/200/200) |
REQ-007 / 异常流程-字段超长 |
已就绪 |
| SEC-09 |
伪造文件内容 |
exe/脚本改名为 .jpg/.pdf/.docx 上传(证件与合同附件) |
扩展名白名单处理;不得执行;如需内容嗅探以实际实现为准 |
安全 / DOC-04 / AT-05 |
已就绪 |
10. 口径确认对数据断言的约束(分析 §11.2 共 5 项 + 补充口径 6 项;11 项已于 2026-09-29 全部确认)
| 原待确认项 |
影响的数据样本 |
已确认口径(2026-09-29) |
| #1 批量核算是否支持批量填充(Q7) |
BLK-07 |
不支持:批量逻辑不变、不填充/不清除;两字段仅单笔"修改核算"弹窗可填 |
| #2 运单管理/导出/打款筛选的取值口径(Q8) |
WT-09、SS-10、§4.5 |
一律以运单表为准(核算保存即固化);货源所选公司由核算弹窗默认带入(运单表初始无值);未核算/未关联回退取值为"无外协公司"(不联表取货源当前值) |
| #3 货源引用是否阻断删除(Q9) |
DL-05、SS-07 |
不覆盖:仅生效合同/运单引用两条件阻断;仅被货源引用可删除 |
| #4 唯一性空值/排除自身边界(Q13/Q16) |
UQ-06/07/08、SC-09、CN-06 |
空值不参与唯一;编辑排除自身(名称/信用代码/简称码/合同编号);提交前 trim 后判重 |
| #5 客户收货地址展示载体(Q19) |
RA-01~07 |
以运单详情只读展示为验收基线;不加入运单管理列表列;导出暂不要求 |
✅ 已确认(2026-09-29):合同附件扩展名大小写不敏感——.PDF/.Jpg 等同 .pdf/.jpg 放行(白名单按扩展名小写归一判定);影响样本 AT-03(Q10)。
✅ 已确认(2026-09-29):联系方式仅手机号 1[3-9]\d{9};座机(0871-…)与国际前缀(+86…)不支持、应拒绝;影响样本 PH-10、PH-11(Q11)。
✅ 已确认(2026-09-29):简称码大小写不做限制、均可保存(仅作记录、不参与任何流程;不阻断);影响样本 SC-08(Q12)。
✅ 已确认(2026-09-29):唯一性判重提交前 trim 首尾空格——"甲公司 "与"甲公司"视为重复、应阻断;影响样本 NM-07、UC-12、SC-11、UQ-08(Q13)。
✅ 已确认(2026-09-29):信用代码仅按 BR-01 正则校验字符集与长度,不校验第 18 位校验位——校验位错误但格式合法可保存;影响样本 UC-15(Q14)。
✅ 已确认(2026-09-29):纯空格/空白字符 trim 后为空视为未填,必填字段按空值阻断;影响样本 NM-05、CT-04、DT-04、RA-06(Q15)。
11. 数据缺口(需要人工补充的数据与能力)
| 序号 |
缺失数据/能力 |
用途 |
建议来源/方式 |
对应样本 |
| 1 |
运营管理员账号(授权后可用) |
档案与合同全操作场景 |
系统管理员(ACC-01)授权后提供 |
ACC-02 |
| 2 |
核算人员账号 |
核算勾选 + 物流公司列表只读验证 |
同上 |
ACC-03 / ACC-07 |
| 3 |
财务人员账号 |
打款页面查询与回归 |
同上 |
ACC-04 |
| 4 |
跨机构账号(机构B) |
机构数据隔离验证 |
同上 |
ACC-05 / ACC-08 |
| 5 |
机构A、机构B 名称与机构编码 |
隔离验证前置 |
测试环境机构管理读取 |
ACC-06 |
| 6 |
数据字典-税源地真实取值(≥2 项) |
合同新增必填项(TX-01) |
基础信息 → 数据字典 → 税源地 读取 |
TX-01 |
| 7 |
运单号/货源号/打款记录号真实格式与样例 |
替换 §4 各表逻辑占位号 |
测试环境列表读取(含未核算/已核算/停用公司历史记录各 ≥1) |
§4.1~4.4 |
| 8 |
OBS/文件服务可用性确认 |
合同附件与证件上传/预览/下载 |
环境运维确认 |
DOC-* / AT-* |
| 9 |
20000 条级数据构造通道(接口批量或 DB 导入) |
BLK-04 导出上限、BLK-06 性能基线 |
开发/运维提供导入方式与权限 |
BLK-04/06 |
| 10 |
系统管理员权限点清单(菜单/按钮权限标识) |
授权配置核对与只读断言 |
系统管理员/开发提供 |
ACC-02~05 |
| 11 |
故障注入手段(阻断 OBS/核算接口) |
上传失败重试、弹窗加载失败空态 |
运维/开发支持(或浏览器 DevTools 请求拦截替代) |
AT-09 / WT-10 |