测试规划说明书
1. 文档信息
| 项目 |
内容 |
| 项目名称 |
订单全流程管理系统 |
| 文档版本 |
v1.0 |
| 编写日期 |
2026-05-28 |
| 文档目的 |
基于《确定版需求说明书》与《确定版功能任务完成清单》《未完成功能清单》,对系统全部功能模块进行测试规划,明确测试范围、优先级、用例覆盖与验收标准 |
| 参考文档 |
《确定版需求说明书.md》《确定版功能任务完成清单.md》《未完成功能清单.md》《开发细节/04-测试用例清单.md》 |
2. 测试目标
2.1 核心测试目标
基于《未完成功能清单》识别的 6 大本质缺口,本次测试的核心目标为:
| 编号 |
测试目标 |
对应缺口 |
验证方式 |
| T-1 |
验证订单从创建→审批→下发→履约→结算的完整数据闭环 |
数据闭环未闭合 |
端到端流程用例 |
| T-2 |
验证订单、任务、提醒、审批的状态机严格按规则流转 |
状态机未完全收敛 |
状态流转矩阵用例 |
| T-3 |
验证不同角色的字段级、按钮级、行级权限隔离 |
权限隔离未完全落地 |
多角色对比用例 |
| T-4 |
验证提醒、欠款、报表等规则由配置项驱动 |
配置驱动未完全实现 |
配置变更联动用例 |
| T-5 |
验证快递100、AI OCR、OSS、微信通知等外部能力的真实对接 |
外部能力未完全接通 |
集成/模拟用例 |
| T-6 |
验证四端前端页面的字段展示、按钮时机、空态/错误态符合需求 |
体验层未完全收口 |
UI 回归用例 |
2.2 测试完成度基线
基于《确定版功能任务完成清单》,当前系统整体完成度约 93%,以下为各模块完成度与测试重点:
| 模块 |
完成度 |
测试重点 |
| 订单中心 / 订单详情 / 订单轨迹 |
100% |
回归验证 |
| 审批中心 / 审批详情 |
100% |
回归验证 |
| 客户中心 |
100% |
回归验证 |
| 提醒中心 |
100% |
回归验证 |
| 权限中心 |
100% |
回归验证 |
| 报表统计 / 报表核对 |
100% |
回归验证 |
| 员工中心 |
100% |
回归验证 |
| 系统管理页 |
100% |
回归验证 |
| 订单业务流页面 |
96% |
重点测试:后端闭环 |
| AI 识别中心 |
97% |
重点测试:人工确认留痕 |
| 产品页面 |
95% |
重点测试:禁用产品下单校验 |
| 供应商 / 工厂页面 |
95% |
重点测试:模板差异化 |
| 业务员端主框架 |
100% |
回归验证 |
| 配置中心 |
92% |
重点测试:配置即时生效 |
| 司机端主框架 |
92% |
重点测试:状态联动与字段脱敏 |
| 审计看板 |
90% |
重点测试:操作覆盖面 |
| 管理层端主框架 |
95% |
重点测试:审批闭环 |
| 权限与可见性规则 |
92% |
重点测试:字段级隔离 |
| 秘书端 |
55% |
高风险:需全面测试 |
| 履约状态流转 |
45% |
高风险:需全面测试 |
| 取消流程(已通过/履约中) |
35% |
高风险:需全面测试 |
3. 测试范围
3.1 覆盖的端与前端模块
| 端 |
前端目录 |
测试范围 |
| WEB 管理后台 |
frontend/web-admin |
登录、系统管理、客户/产品/工厂维护、报表、配置、审计、权限、审批 |
| WEB 业务员端 |
frontend/web-sales |
登录、订单录入/列表/详情、提交审核、取消、提醒、客户识别 |
| 小程序管理层端 |
frontend/mini-manager |
登录、审批列表/详情、取消审批、下发文本、司机任务创建、经营看板 |
| 小程序司机端 |
frontend/mini-driver |
登录、任务列表/详情、接单、揽货、送达、图片上传、物流轨迹 |
| 后端 API |
backend/ |
全量接口测试 |
3.2 不在测试范围内
- 部署与运维(CI/CD、容器编排)
- 性能压测(本期以功能测试为主)
- 第三方服务的真实生产环境对接(使用沙箱/模拟环境)
4. 测试策略
4.1 测试层次
| 层次 |
说明 |
占比 |
| 接口测试 |
后端 API 的参数校验、状态流转、权限控制、业务规则 |
40% |
| 页面功能测试 |
四端前端页面的交互、展示、按钮状态、字段可见性 |
35% |
| 端到端流程测试 |
跨端完整业务流程串联 |
15% |
| 权限与安全测试 |
角色越权、字段脱敏、数据隔离 |
10% |
4.2 测试优先级定义
| 优先级 |
定义 |
执行策略 |
| P0 |
阻断性功能,不通过则无法上线 |
必须全部通过,失败则阻塞发布 |
| P1 |
核心功能,影响主要业务流程 |
应全部通过,个别失败需评估影响 |
| P2 |
体验增强功能,不影响主流程 |
可接受已知缺陷,下版本修复 |
5. 测试环境与数据
5.1 测试账号
| 角色 |
账号 |
权限范围 |
所属端 |
| 管理员 |
admin01 |
全量后台管理 |
web-admin |
| 管理层 |
manager01 |
审批、利润、报表、任务分配 |
mini-manager |
| 业务员 A |
sales01 |
本人订单、客户、提醒 |
web-sales |
| 业务员 B |
sales02 |
本人订单、客户、提醒 |
web-sales |
| 司机 A |
driver01 |
本人司机任务 |
mini-driver |
| 司机 B |
driver02 |
本人司机任务 |
mini-driver |
| 秘书 |
secretary01 |
AI 识别、录入辅助 |
web-admin |
5.2 测试数据要求
| 数据类型 |
最低要求 |
说明 |
| 客户 |
至少 3 个 |
含不同业务员归属、月结客户、已欠款客户 |
| 产品 |
至少 4 个 |
含 2 个分类(工业品/日用品)、含已禁用产品 |
| 工厂/供应商 |
至少 2 个 |
含不同模板类型 |
| 订单 |
覆盖全状态 |
草稿、待审核、已通过、已退回、取消申请中、履约中、已送达、已结算、已取消 |
| 司机任务 |
覆盖全状态 |
待接单、已接单、已揽货、已送达 |
| 系统配置 |
预置完整 |
物流超时天数、沉默客户周期、欠款起算口径、金额阈值 |
5.3 测试环境
| 项目 |
要求 |
| 后端服务 |
独立测试环境,与开发环境隔离 |
| 数据库 |
独立测试库,含预置基础数据 |
| OSS/文件服务 |
模拟或沙箱环境 |
| AI OCR 服务 |
模拟返回或沙箱环境 |
| 快递100 |
模拟返回或沙箱环境 |
| 微信订阅消息 |
模拟发送,验证消息记录写入 |
6. 按模块测试规划
6.1 登录鉴权与权限体系
完成度:86% | 优先级:P0
未完成/风险项
- 角色登录态与菜单/按钮权限的完整联动不足
- 权限码在授权后即时生效链路不完整
- 管理员/管理层/业务员/司机的角色能力边界尚未完全收敛
测试用例
| 编号 |
用例名称 |
前置条件 |
步骤 |
预期结果 |
优先级 |
| AUTH-001 |
正常登录 |
用户启用 |
输入正确账号/密码/角色登录 |
返回 token、用户信息、菜单、权限 |
P0 |
| AUTH-002 |
密码错误 |
用户存在 |
输入错误密码 |
返回错误码 40002 |
P0 |
| AUTH-003 |
角色不匹配 |
业务员账号 |
使用 manager 角色登录 |
返回错误码 40003 |
P0 |
| AUTH-004 |
停用用户登录 |
用户停用 |
登录 |
返回错误码 40003 |
P0 |
| AUTH-005 |
无 token 访问 |
无 |
请求受保护接口 |
返回错误码 40002 |
P0 |
| AUTH-006 |
过期 token 访问 |
token 过期 |
请求受保护接口 |
返回错误码 40002 |
P0 |
| AUTH-007 |
业务员越权看他人订单 |
sales01/sales02 均有订单 |
sales01 请求 sales02 订单详情 |
返回 40003 或 40004 |
P0 |
| AUTH-008 |
司机越权看他人任务 |
driver01/driver02 均有任务 |
driver01 请求 driver02 任务详情 |
返回 40003 或 40004 |
P0 |
| AUTH-009 |
司机看财务字段 |
司机任务存在 |
查看任务详情 |
不返回客户敏感信息、报价、成本、利润、回扣 |
P0 |
| AUTH-010 |
登录返回菜单树 |
任意角色 |
正常登录 |
返回的 menus 包含该角色可见的完整菜单树 |
P1 |
| AUTH-011 |
登录返回权限码 |
任意角色 |
正常登录 |
返回的 permissions 包含按钮级权限码 |
P1 |
| AUTH-012 |
角色授权后即时生效 |
管理员修改角色菜单 |
用户重新登录 |
菜单和按钮权限更新为最新配置 |
P1 |
6.2 系统用户、角色、菜单管理
完成度:95% | 优先级:P0
未完成/风险项
- 用户管理分页由前端切片实现,接口层未形成完整分页查询
- 删除、停用/启用切换操作未形成完整闭环
- 角色停用/启用流程与异常约束不够完整
- 菜单管理的
icon、sort_no、status、多级菜单能力偏基础
测试用例
| 编号 |
用例名称 |
前置条件 |
步骤 |
预期结果 |
优先级 |
| SYS-001 |
新增用户成功 |
管理员登录,角色已存在 |
新增账号/姓名/手机号/角色/初始密码 |
返回用户 ID,用户可登录 |
P0 |
| SYS-002 |
用户账号重复 |
已有 username |
新增同 username 用户 |
返回 40006 |
P0 |
| SYS-003 |
用户角色不存在 |
role_id 不存在或停用 |
新增或更新用户 |
返回 40004 |
P0 |
| SYS-004 |
停用用户 |
用户启用 |
管理员停用后该用户登录 |
停用成功,登录返回 40003 |
P0 |
| SYS-005 |
重置密码 |
用户存在 |
管理员重置,用户用新密码登录 |
新密码可登录,旧密码不可 |
P0 |
| SYS-006 |
新增角色成功 |
管理员登录 |
新增 role_name/role_code/状态 |
返回角色 ID,列表可查 |
P0 |
| SYS-007 |
角色编码重复 |
已有 role_code |
新增同编码角色 |
返回 40006 |
P0 |
| SYS-008 |
停用有启用用户的角色 |
角色下有启用用户 |
停用角色 |
返回 40007 或要求先处理用户 |
P1 |
| SYS-009 |
新增菜单成功 |
管理员登录 |
新增菜单名称/路径/权限编码 |
菜单树可查询到新菜单 |
P1 |
| SYS-010 |
菜单权限编码重复 |
已有 permission_code |
新增同编码菜单 |
返回 40006 |
P1 |
| SYS-011 |
菜单父级非法 |
将父级设为自身或子级 |
更新菜单 |
返回 40007 |
P1 |
| SYS-012 |
角色授权保存 |
角色/菜单存在 |
给角色配置 menu_ids 和 permission_codes |
保存成功,重新登录后权限生效 |
P0 |
| SYS-013 |
非管理员访问系统管理接口 |
业务员或司机登录 |
请求用户/角色/菜单管理接口 |
返回 40003 |
P0 |
| SYS-014 |
权限变更审计 |
修改角色授权 |
查询审计日志 |
有授权前后差异记录 |
P1 |
| SYS-015 |
用户列表分页 |
多用户数据 |
翻页查询 |
分页正确,数据不重复 |
P1 |
| SYS-016 |
用户列表筛选 |
多用户数据 |
按姓名/角色/状态筛选 |
返回符合条件数据 |
P1 |
6.3 客户管理
完成度:100%(页面)/ 60-65%(导入/去重) | 优先级:P0
未完成/风险项
- 客户导入能力未见完整代码闭环(模板、去重、失败行返回)
- 客户去重规则未完全按"姓名+手机号"强约束落地
- 月结信息、欠款信息的维护和展示不完整
测试用例
| 编号 |
用例名称 |
前置条件 |
步骤 |
预期结果 |
优先级 |
| CUS-001 |
新增客户成功 |
无重复客户 |
提交姓名/手机号等信息 |
返回客户 ID,数据库写入 |
P0 |
| CUS-002 |
姓名手机号重复 |
已有同姓名同手机号 |
再次新增 |
返回 40006 |
P0 |
| CUS-003 |
手机号为空 |
无 |
新增客户不填手机号 |
返回 40001 |
P0 |
| CUS-004 |
客户列表筛选 |
多客户数据 |
按姓名/手机号/业务员筛选 |
返回符合条件数据 |
P1 |
| CUS-005 |
客户详情 |
客户存在 |
请求详情 |
返回结算方式、账期、欠款、归属业务员 |
P1 |
| CUS-006 |
客户导入成功 |
有导入文件 |
调用导入接口 |
返回总数、成功数、失败数 |
P1 |
| CUS-007 |
客户导入去重 |
文件含重复姓名手机号 |
导入 |
重复记录计入 duplicate_count |
P1 |
| CUS-008 |
业务员客户范围 |
sales01 有客户 |
sales02 查询客户列表 |
不返回 sales01 私有客户 |
P0 |
| CUS-009 |
月结客户标识 |
客户存在 |
设置结算方式为月结 |
客户详情显示月结信息 |
P2 |
| CUS-010 |
客户欠款展示 |
客户有欠款记录 |
查看客户详情 |
显示欠款金额与明细 |
P1 |
6.4 产品与产品分类管理
完成度:95% | 优先级:P1
未完成/风险项
- 产品分类独立管理整体功能不完整
- 产品状态对订单下单的约束不足(禁用产品仍可下单)
- 产品快照机制未完全前置到所有场景
测试用例
| 编号 |
用例名称 |
前置条件 |
步骤 |
预期结果 |
优先级 |
| PROD-001 |
新增产品分类 |
管理员登录 |
新增分类 |
分类可在列表查询 |
P1 |
| PROD-002 |
分类编码重复 |
已有分类编码 |
新增同编码分类 |
返回 40006 |
P1 |
| PROD-003 |
停用分类 |
分类存在 |
停用分类 |
新建产品不可选择或提示禁用 |
P1 |
| PROD-004 |
新增产品成功 |
分类启用 |
新增产品 |
产品写入并关联分类 |
P1 |
| PROD-005 |
产品列表筛选 |
多产品 |
按名称/规格/分类/状态筛选 |
返回符合条件数据 |
P1 |
| PROD-006 |
产品详情 |
产品存在 |
请求详情 |
返回分类、成本、售价、状态 |
P1 |
| PROD-007 |
禁用产品下单 |
产品禁用 |
订单选择该产品提交 |
拦截或明确提示 |
P0 |
| PROD-008 |
产品快照 |
产品已用于订单 |
修改产品名称/成本 |
历史订单快照不变 |
P0 |
6.5 工厂/供应商管理与下发文本
完成度:95%(页面)/ 30%(模板差异化) | 优先级:P1
未完成/风险项
- 下发文本的"生成+确认+留痕"链路未完全闭环
- 工厂模板类型的业务差异未完全实现
- 下发文本历史记录表的实际持久化链路不完整
测试用例
| 编号 |
用例名称 |
前置条件 |
步骤 |
预期结果 |
优先级 |
| FAC-001 |
新增供应商成功 |
管理员登录 |
提交供应商信息 |
返回供应商 ID |
P1 |
| FAC-002 |
供应商列表筛选 |
多供应商 |
按名称/类型筛选 |
返回符合条件数据 |
P1 |
| FAC-003 |
生成下发文本 |
订单 approved |
生成下发文本 |
返回文本内容 |
P0 |
| FAC-004 |
确认下发工厂 |
订单 approved |
确认下发 |
状态变为 pending_factory,写审计日志 |
P0 |
| FAC-005 |
非 approved 确认下发 |
订单 draft |
确认下发 |
返回 40005 |
P0 |
| FAC-006 |
下发文本日志 |
已确认下发 |
查询下发历史 |
有下发记录,含时间、操作人 |
P1 |
| FAC-007 |
不同工厂模板差异化 |
配置不同模板 |
为不同工厂生成文本 |
文本格式按模板差异展示 |
P2 |
6.6 订单录入、提交、审批
完成度:88-96% | 优先级:P0
未完成/风险项
- 订单创建接口与需求字段存在缺口(派生字段、校验细节)
- 订单编辑/草稿保存的完整能力未完全实现
- 订单提交审核的完整校验不充分
- 审批页利润计算过程展示未完全落地
- 审批退回后业务员通知未完整落地
- 订单状态机仍不够严密
测试用例
| 编号 |
用例名称 |
前置条件 |
步骤 |
预期结果 |
优先级 |
| ORD-001 |
创建草稿订单 |
业务员登录、产品存在 |
填写客户/明细/费用提交 |
返回订单 ID,状态 draft |
P0 |
| ORD-002 |
新客户自动入库 |
客户库无该客户 |
创建订单 |
自动创建客户记录 |
P0 |
| ORD-003 |
利润计算 |
售100/成本60/回扣5/运费10/税费3/其他2 |
创建订单 |
利润=20,利润率=20% |
P0 |
| ORD-004 |
固定提成保存 |
输入固定提成 50 |
创建订单 |
commission_amount=50 |
P1 |
| ORD-005 |
明细为空 |
无明细 |
创建订单 |
返回 40001 |
P0 |
| ORD-006 |
数量非法 |
数量为 0 |
创建订单 |
返回 40001 |
P0 |
| ORD-007 |
提交审核成功 |
订单 draft |
提交审核 |
状态变为 pending_approve |
P0 |
| ORD-008 |
重复提交 |
订单已 pending_approve |
再次提交 |
返回 40005 |
P0 |
| ORD-009 |
管理层审批通过 |
订单 pending_approve |
管理层通过 |
状态变为 approved |
P0 |
| ORD-010 |
管理层审批退回 |
订单 pending_approve |
管理层退回并填意见 |
状态变为 rejected,业务员收到通知 |
P0 |
| ORD-011 |
生成下发文本 |
订单 approved |
生成下发文本 |
返回文本内容 |
P0 |
| ORD-012 |
确认下发工厂 |
订单 approved |
确认下发 |
状态变为 pending_factory |
P0 |
| ORD-013 |
非 approved 确认下发 |
订单 draft |
确认下发 |
返回 40005 |
P0 |
| ORD-014 |
订单列表筛选 |
多订单 |
按状态/客户/时间筛选 |
返回符合条件数据 |
P1 |
| ORD-015 |
订单详情字段权限-业务员 |
业务员登录 |
查看本人订单详情 |
不返回成本、利润等无权限字段 |
P0 |
| ORD-016 |
管理层订单详情 |
管理层登录 |
查看订单详情 |
返回完整财务字段 |
P0 |
| ORD-017 |
编辑草稿订单 |
订单 draft |
修改客户/明细/费用 |
保存成功,数据更新 |
P0 |
| ORD-018 |
保存并提交 |
订单 draft |
保存并提交审核 |
数据保存且状态变为 pending_approve |
P1 |
| ORD-019 |
利润计算过程展示 |
管理层审批 |
查看审批详情 |
展示完整的利润计算过程(售价-成本-回扣-运费-税费-其他) |
P1 |
| ORD-020 |
审批退回通知 |
订单被退回 |
业务员查看提醒中心 |
收到退回通知,含退回原因 |
P1 |
| ORD-021 |
禁用产品创建订单 |
产品已禁用 |
选择禁用产品创建订单 |
系统拦截或明确提示 |
P0 |
| ORD-022 |
订单状态流转完整性 |
订单从创建到完成 |
依次执行:草稿→审核→通过→下发→接单→揽货→送达→完成 |
每步状态正确流转,相关通知/审计/联动正确触发 |
P0 |
6.7 订单取消流程
完成度:35-80% | 优先级:P0(高风险区域)
未完成/风险项
- 草稿/待审核订单直接取消逻辑(完成度仅 55%)
- 已通过/履约中订单的特殊审批逻辑(完成度仅 35%)
- 取消原因/意见/前状态的审计留痕不完整
- 取消审批后的状态恢复链路不完整
测试用例
| 编号 |
用例名称 |
前置条件 |
步骤 |
预期结果 |
优先级 |
| CAN-001 |
草稿订单取消 |
订单 draft |
业务员提交取消 |
状态直接变为 canceled |
P0 |
| CAN-002 |
待审核订单取消 |
订单 pending_approve |
业务员提交取消 |
状态直接变为 canceled |
P0 |
| CAN-003 |
已审批订单取消申请 |
订单 approved |
业务员提交取消 |
状态 cancel_pending,记录取消前状态 |
P0 |
| CAN-004 |
履约中订单取消申请 |
订单 picked_up |
业务员提交取消 |
状态 cancel_fulfillment_pending |
P0 |
| CAN-005 |
取消审批通过 |
订单 cancel_pending |
管理层同意 |
状态 canceled |
P0 |
| CAN-006 |
取消审批拒绝 |
订单 cancel_pending 且原状态 approved |
管理层拒绝 |
状态恢复 approved |
P0 |
| CAN-007 |
已取消再次取消 |
订单 canceled |
提交取消 |
返回 40005 |
P0 |
| CAN-008 |
取消原因必填 |
可取消订单 |
不填原因提交 |
返回 40001 |
P0 |
| CAN-009 |
履约中取消审批通过 |
订单 cancel_fulfillment_pending |
管理层同意 |
状态 canceled,司机任务同步取消 |
P0 |
| CAN-010 |
履约中取消审批拒绝 |
订单 cancel_fulfillment_pending |
管理层拒绝 |
状态恢复为取消前状态(如 picked_up) |
P0 |
| CAN-011 |
取消留痕完整性 |
执行取消操作 |
查询审计日志 |
记录取消前状态、取消原因、操作人、操作时间 |
P0 |
| CAN-012 |
取消后通知 |
订单被取消 |
相关人员查看提醒 |
收到取消通知 |
P1 |
6.8 司机任务管理与履约
完成度:45-88% | 优先级:P0(高风险区域)
未完成/风险项
- 司机任务的创建、分配与订单状态联动不完整(履约状态流转完成度仅 45%)
- 司机接单、揽货、送达的业务约束不完整
- "提交前可撤回、提交后不可撤回"与图片必填约束未闭环
- COS/OSS 图片存储与附件管理未完全统一
测试用例
| 编号 |
用例名称 |
前置条件 |
步骤 |
预期结果 |
优先级 |
| TASK-001 |
管理层创建任务 |
订单可履约、司机存在 |
填写任务并保存 |
返回任务 ID,状态 pending |
P0 |
| TASK-002 |
司机任务列表 |
driver01 有任务 |
driver01 查看列表 |
只显示本人任务 |
P0 |
| TASK-003 |
任务详情脱敏 |
任务存在 |
司机查看详情 |
不显示客户敏感信息和财务字段 |
P0 |
| TASK-004 |
接单成功 |
任务 pending |
司机接单 |
状态 accepted,记录接单时间 |
P0 |
| TASK-005 |
重复接单 |
任务已 accepted |
再次接单 |
返回 40005 |
P0 |
| TASK-006 |
揽货成功 |
任务 accepted |
上传照片确认揽货 |
状态 picked_up,附件写入 |
P0 |
| TASK-007 |
揽货无照片 |
任务 accepted |
不上传照片确认 |
返回 40001 或业务错误 |
P0 |
| TASK-008 |
送达成功 |
任务 picked_up |
确认送达 |
状态 delivered,订单状态联动更新 |
P0 |
| TASK-009 |
非法状态流转 |
任务 pending |
直接送达 |
返回 40005 |
P0 |
| TASK-010 |
司机越权操作 |
driver01 操作 driver02 任务 |
接单/揽货/送达 |
返回 40003 |
P0 |
| TASK-011 |
揽货撤回 |
任务 accepted 已提交揽货 |
撤回揽货 |
提交前可撤回,提交后不可撤回 |
P1 |
| TASK-012 |
任务与订单状态联动 |
订单 approved → 创建任务 |
任务从创建到送达 |
每步任务状态变化同步更新订单状态 |
P0 |
| TASK-013 |
图片上传成功 |
OSS 可用 |
上传揽货图片 |
附件记录写入,关联任务 ID |
P0 |
| TASK-014 |
图片上传失败 |
OSS 异常 |
上传揽货图片 |
返回明确错误,不更新任务状态 |
P1 |
6.9 物流与 AI 辅助识别
完成度:88-97% | 优先级:P1
未完成/风险项
- 物流轨迹对接快递100的完整实现未落地
- 物流超时提醒的"一次性提醒"策略未完全实现
- AI 图片识别链路不完整(人工确认界面、相似订单判断)
- 识别失败/置信度过低的人工兜底流程未闭环
测试用例
| 编号 |
用例名称 |
前置条件 |
步骤 |
预期结果 |
优先级 |
| LOG-001 |
手动新增物流节点 |
订单存在 |
新增节点 |
logistics_trace 写入 |
P1 |
| LOG-002 |
物流轨迹查询 |
订单有节点 |
查询轨迹 |
按时间返回节点 |
P1 |
| LOG-003 |
物流超时提醒 |
首节点后 48 小时无流转 |
执行提醒检查 |
生成一次提醒 |
P0 |
| LOG-004 |
物流超时不重复提醒 |
已提醒 |
再次执行检查 |
不重复生成 |
P0 |
| LOG-005 |
快递100对接 |
配置快递100凭证 |
查询物流轨迹 |
返回快递100节点数据 |
P1 |
| AI-001 |
OCR 识别成功 |
图片存在,凭证有效 |
发起识别 |
保存 raw_result、confidence、suggested_result |
P1 |
| AI-002 |
OCR 识别失败 |
模拟服务异常 |
发起识别 |
返回 40009,记录异常 |
P1 |
| AI-003 |
人工修正 |
识别记录存在 |
提交 corrected_result |
保存修正结果,不覆盖原始结果 |
P1 |
| AI-004 |
识别结果人工确认 |
识别出疑似订单 |
页面确认 |
不自动审批、不自动合并 |
P1 |
| AI-005 |
置信度过低处理 |
confidence 低于阈值 |
查看识别结果 |
标记为需人工确认,不可直接入库 |
P1 |
6.10 提醒中心、欠款提醒、长时间未下单提醒
完成度:88-100% | 优先级:P0
未完成/风险项
- 欠款提醒的起算规则未完全落地(按订单日期/对账日期/发货日期配置)
- 欠款提醒"提醒对象为业务员"的规则未完全验证
- 长时间未下单提醒的金额阈值和沉默周期配置未形成业务闭环
测试用例
| 编号 |
用例名称 |
前置条件 |
步骤 |
预期结果 |
优先级 |
| ARR-001 |
delivered 模式生成欠款 |
配置 arrears_generate_mode=delivered |
订单送达 |
生成欠款记录 |
P0 |
| ARR-002 |
shipped 模式生成欠款 |
配置 arrears_generate_mode=shipped |
订单发货 |
生成欠款记录 |
P0 |
| ARR-003 |
未到节点不生成欠款 |
配置 delivered,订单 shipped |
检查欠款 |
不生成 |
P0 |
| ARR-004 |
结算关闭欠款 |
欠款 pending/overdue |
执行结算 |
状态 closed 或 paid,记录关闭时间 |
P0 |
| ARR-005 |
欠款超期提醒 |
欠款超过账期 |
执行提醒检查 |
生成业务员提醒 |
P0 |
| ARR-006 |
沉默客户提醒 |
客户超过周期未下单且金额达阈值 |
执行检查 |
生成提醒 |
P1 |
| ARR-007 |
沉默客户低金额不提醒 |
金额低于阈值 |
执行检查 |
不生成提醒 |
P1 |
| ARR-008 |
提醒已读 |
提醒存在 |
标记已读 |
状态 read |
P1 |
| ARR-009 |
欠款起算口径切换 |
配置起算口径为"对账日期" |
生成欠款 |
起算日期按对账日期计算 |
P1 |
| ARR-010 |
提醒对象为业务员 |
客户归属业务员 A |
生成欠款提醒 |
提醒发送给业务员 A 而非泛化通知 |
P0 |
| ARR-011 |
微信订阅消息通知 |
提醒生成 |
检查通知记录 |
写入微信订阅消息记录 |
P1 |
6.11 业绩统计报表
完成度:95-100% | 优先级:P1
未完成/风险项
- 报表口径统一仍有差异(按月/季/年、分类拆分、电商剔除)
- 报表导出能力可能仍是简化版本
- 报表图表与明细维度未完全实现
测试用例
| 编号 |
用例名称 |
前置条件 |
步骤 |
预期结果 |
优先级 |
| REP-001 |
月度统计 |
多订单跨月份 |
查询月报 |
按月份汇总正确 |
P1 |
| REP-002 |
季度统计 |
多订单跨季度 |
查询季报 |
按季度汇总正确 |
P1 |
| REP-003 |
年度统计 |
多订单跨年份 |
查询年报 |
按年份汇总正确 |
P1 |
| REP-004 |
分类统计 |
产品分类存在 |
查询报表 |
按分类金额汇总正确 |
P1 |
| REP-005 |
固定提成统计 |
订单有 commission_amount |
查询报表 |
提成金额按订单固定值汇总 |
P1 |
| REP-006 |
电商订单剔除 |
存在电商来源订单 |
查询报表 |
按规则剔除或可配置剔除 |
P1 |
| REP-007 |
报表导出 |
查询条件存在 |
点击导出 |
返回 file_url,文件内容与页面一致 |
P1 |
| REP-008 |
报表金额与数据库核对 |
已知订单数据 |
查询报表后人工核对 |
报表金额与数据库手工核对一致 |
P0 |
6.12 配置管理
完成度:92-95% | 优先级:P1
未完成/风险项
- 系统配置项仅覆盖基础字段,未形成统一配置中心体验
- 敏感配置的安全存储未完全体现
测试用例
| 编号 |
用例名称 |
前置条件 |
步骤 |
预期结果 |
优先级 |
| CFG-001 |
查询配置 |
配置存在 |
查询 config_key |
返回配置值 |
P1 |
| CFG-002 |
更新配置 |
管理员登录 |
更新欠款生成模式 |
保存成功,写审计日志 |
P1 |
| CFG-003 |
非管理员更新配置 |
业务员登录 |
更新配置 |
返回 40003 |
P0 |
| CFG-004 |
物流超时天数配置 |
管理员 |
修改超时天数 |
提醒检查按新天数执行 |
P1 |
| CFG-005 |
沉默客户周期配置 |
管理员 |
修改沉默周期 |
提醒检查按新周期执行 |
P1 |
| CFG-006 |
金额阈值配置 |
管理员 |
修改金额阈值 |
低于阈值的客户不触发提醒 |
P1 |
| CFG-007 |
配置即时生效 |
修改配置 |
不重启服务 |
新配置立即生效 |
P1 |
6.13 审计日志
完成度:88-90% | 优先级:P1
未完成/风险项
- 审计日志写入覆盖面不够全面(物流任务、提醒、导入、导出、AI 修正等未完全覆盖)
- 审计日志查询和前后值展示未完整落地
测试用例
| 编号 |
用例名称 |
前置条件 |
步骤 |
预期结果 |
优先级 |
| AUD-001 |
订单创建审计 |
创建订单 |
查询审计日志 |
有 create order 记录 |
P0 |
| AUD-002 |
审批审计 |
审批订单 |
查询审计日志 |
有 approve 记录 |
P0 |
| AUD-003 |
取消审计 |
取消订单 |
查询审计日志 |
有 cancel 记录,含取消原因 |
P0 |
| AUD-004 |
司机操作审计 |
接单/揽货/送达 |
查询审计日志 |
有对应记录 |
P0 |
| AUD-005 |
OSS 上传审计 |
上传附件 |
查询审计日志 |
有上传记录或文件记录 |
P1 |
| AUD-006 |
配置变更审计 |
修改系统配置 |
查询审计日志 |
有配置变更前后值记录 |
P1 |
| AUD-007 |
审计日志前后值对比 |
修改订单 |
查看审计详情 |
展示修改前后的值差异 |
P2 |
| AUD-008 |
审计日志筛选 |
多条日志 |
按操作类型/时间/操作人筛选 |
返回符合条件数据 |
P1 |
6.14 文件与 OSS
完成度:90% | 优先级:P1
测试用例
| 编号 |
用例名称 |
前置条件 |
步骤 |
预期结果 |
优先级 |
| FILE-001 |
获取上传凭证 |
用户登录 |
请求上传凭证 |
返回 upload_url、file_url、expire_at |
P1 |
| FILE-002 |
图片上传成功 |
OSS 可用 |
上传图片并保存附件 |
file_attachment 写入 image 元数据 |
P1 |
| FILE-003 |
视频上传成功 |
OSS 可用 |
上传视频并保存附件 |
file_attachment 写入 video 元数据 |
P2 |
| FILE-004 |
文件过大 |
设置上传限制 |
上传超限文件 |
返回 40008 或明确错误 |
P1 |
| FILE-005 |
OSS 失败 |
模拟 OSS 异常 |
上传 |
返回 40008,记录日志 |
P1 |
| FILE-006 |
附件关联 |
任务存在 |
上传任务附件 |
附件 biz_type/biz_id 正确 |
P1 |
7. 端到端流程测试
端到端测试覆盖完整的跨端业务流程,验证数据在多端之间的正确流转。
| 编号 |
流程名称 |
涉及端 |
测试步骤 |
预期结果 |
优先级 |
| E2E-001 |
业务员完整录单 |
web-sales |
登录→创建订单(含新客户)→提交审核 |
订单进入 pending_approve,新客户自动入库 |
P0 |
| E2E-002 |
管理层审批通过 |
mini-manager |
登录→查看待审批→查看利润→通过 |
订单进入 approved,审计记录生成 |
P0 |
| E2E-003 |
确认下发工厂 |
mini-manager |
生成文本→复制→确认下发 |
订单进入 pending_factory,下发日志生成 |
P0 |
| E2E-004 |
创建司机任务 |
web-admin / mini-manager |
创建并分配任务 |
任务生成,司机端可见 |
P0 |
| E2E-005 |
司机履约完成 |
mini-driver |
接单→上传照片揽货→确认送达 |
任务 delivered,订单状态联动更新 |
P0 |
| E2E-006 |
欠款生成 |
后端/页面 |
送达后检查欠款 |
根据配置模式生成欠款记录 |
P0 |
| E2E-007 |
报表查看导出 |
web-admin |
查询报表→核对→导出 |
页面和文件数据一致 |
P1 |
| E2E-008 |
订单取消全流程(草稿) |
web-sales |
创建草稿→取消 |
直接取消成功 |
P0 |
| E2E-009 |
订单取消全流程(已通过) |
web-sales + mini-manager |
提交取消申请→管理层审批→确认取消 |
状态经过 cancel_pending → canceled |
P0 |
| E2E-010 |
订单取消全流程(履约中) |
web-sales + mini-manager + mini-driver |
提交取消申请→管理层审批→确认取消 |
状态经过 cancel_fulfillment_pending → canceled,司机任务同步取消 |
P0 |
| E2E-011 |
审批退回重新提交 |
mini-manager + web-sales |
管理层退回→业务员修改→重新提交 |
退回通知到达,订单重新进入审核 |
P0 |
| E2E-012 |
提醒中心完整流程 |
web-sales / web-admin |
配置提醒规则→触发提醒→查看→标记已读 |
提醒生成、推送、展示、已读全链路通过 |
P1 |
8. 权限与安全测试
8.1 角色权限矩阵验证
优先级:P0
| 编号 |
测试场景 |
操作角色 |
操作内容 |
预期结果 |
| PERM-001 |
业务员查看他人订单 |
sales01 |
查看 sales02 的订单详情 |
拒绝(40003/40004) |
| PERM-002 |
业务员查看财务字段 |
sales01 |
查看本人订单详情 |
不返回成本、利润、回扣 |
| PERM-003 |
司机查看财务字段 |
driver01 |
查看任务详情 |
不返回客户敏感信息和财务字段 |
| PERM-004 |
司机查看他人任务 |
driver01 |
查看 driver02 的任务 |
拒绝 |
| PERM-005 |
管理层查看完整财务 |
manager01 |
查看审批详情 |
返回成本、利润、利润率、计算过程 |
| PERM-006 |
业务员访问系统管理 |
sales01 |
请求用户/角色管理接口 |
拒绝(40003) |
| PERM-007 |
司机访问系统管理 |
driver01 |
请求配置/审计接口 |
拒绝(40003) |
| PERM-008 |
管理层访问系统管理 |
manager01 |
请求用户管理接口 |
按角色权限返回(可能受限) |
| PERM-009 |
管理员全量权限 |
admin01 |
访问所有接口 |
全部允许 |
| PERM-010 |
秘书端 AI 操作 |
secretary01 |
发起 AI 识别、人工修正 |
允许 AI 相关操作,不允许订单审批 |
8.2 数据隔离验证
| 编号 |
测试场景 |
验证内容 |
预期结果 |
| ISO-001 |
业务员订单隔离 |
sales01 查询订单列表 |
仅返回本人创建的订单 |
| ISO-002 |
业务员客户隔离 |
sales01 查询客户列表 |
仅返回归属本人的客户 |
| ISO-003 |
司机任务隔离 |
driver01 查询任务列表 |
仅返回分配给本人的任务 |
| ISO-004 |
管理层查看全部订单 |
manager01 查询订单列表 |
返回所有业务员的订单 |
| ISO-005 |
管理员查看全部数据 |
admin01 查询各列表 |
返回全量数据 |
9. 状态机验证矩阵
优先级:P0
9.1 订单状态流转矩阵
| 当前状态 |
允许的目标状态 |
触发动作 |
不允许的目标状态 |
draft |
pending_approve |
业务员提交审核 |
approved, canceled(直接取消) |
draft |
canceled |
业务员直接取消 |
— |
pending_approve |
approved |
管理层审批通过 |
draft |
pending_approve |
rejected |
管理层审批退回 |
draft |
pending_approve |
canceled |
业务员直接取消 |
— |
approved |
cancel_pending |
业务员申请取消 |
draft, rejected |
approved |
pending_factory |
管理层确认下发 |
canceled(直接) |
pending_factory |
pending_driver_accept |
工厂确认接收 |
draft |
pending_driver_accept |
accepted |
司机接单 |
draft, approved |
accepted |
picked_up |
司机揽货(含照片) |
pending_driver_accept |
picked_up |
delivered |
司机确认送达 |
accepted |
picked_up |
cancel_fulfillment_pending |
业务员申请取消 |
— |
cancel_pending |
canceled |
管理层同意取消 |
— |
cancel_pending |
恢复原状态 |
管理层拒绝取消 |
— |
cancel_fulfillment_pending |
canceled |
管理层同意取消 |
— |
cancel_fulfillment_pending |
恢复原状态 |
管理层拒绝取消 |
— |
9.2 司机任务状态流转矩阵
| 当前状态 |
允许的目标状态 |
触发动作 |
pending |
accepted |
司机接单 |
accepted |
picked_up |
司机上传照片并确认揽货 |
picked_up |
delivered |
司机确认送达 |
9.3 测试方法
对每个状态流转:
- 验证合法流转成功
- 验证非法流转被拒绝(返回
40005)
- 验证状态变更后相关通知/审计/联动正确触发
- 验证并发状态变更的幂等性
10. 配置驱动规则验证
优先级:P1
| 编号 |
配置项 |
测试方法 |
预期效果 |
| CFG-R-001 |
logistics_timeout_days (物流超时天数) |
修改配置后检查提醒触发 |
按新天数判断超时 |
| CFG-R-002 |
inactive_customer_days (沉默客户天数) |
修改配置后检查提醒触发 |
按新天数判断沉默 |
| CFG-R-003 |
arrears_generate_mode (欠款生成模式) |
切换 shipped/delivered |
欠款在对应节点生成 |
| CFG-R-004 |
arrears_reminder_start_type (欠款起算口径) |
切换订单日期/对账日期/发货日期 |
欠款起算日期按配置计算 |
| CFG-R-005 |
inactive_order_amount_threshold (金额阈值) |
设置阈值后检查提醒 |
低于阈值不触发提醒 |
| CFG-R-006 |
report_category_mapping (报表分类映射) |
修改映射后查询报表 |
分类按新映射统计 |
| CFG-R-007 |
cancel_allowed_statuses (可取消状态) |
修改可取消状态列表 |
仅配置的状态可取消 |
11. 外部集成测试
优先级:P1
| 编号 |
集成点 |
测试方法 |
预期结果 |
| EXT-001 |
快递100物流查询 |
调用物流查询接口 |
返回物流节点数据,异常时降级处理 |
| EXT-002 |
AI OCR识别 |
上传图片调用识别 |
返回识别结果、置信度,异常时记录日志 |
| EXT-003 |
OSS文件上传 |
上传图片/视频 |
返回文件URL,附件记录写入 |
| EXT-004 |
OSS上传失败 |
模拟OSS异常 |
返回错误码,记录日志,不影响主流程 |
| EXT-005 |
微信订阅消息 |
触发提醒通知 |
写入消息发送记录 |
| EXT-006 |
微信 bind-openid |
绑定微信用户 |
openid 关联到系统用户 |
12. 回归测试清单
每次发布前必须执行以下回归测试:
| 类别 |
回归项 |
| 认证 |
登录、退出、token 过期、角色不匹配 |
| 系统管理 |
用户/角色/菜单 CRUD、授权刷新 |
| 订单流程 |
创建→提交→审批→下发→接单→揽货→送达 |
| 取消流程 |
草稿直接取消、待审核直接取消、已通过申请取消、履约中申请取消 |
| 司机任务 |
创建→接单→揽货→送达 |
| 权限越权 |
业务员越权 ×2、司机越权 ×2 |
| 文件上传 |
图片上传、视频上传 |
| AI 识别 |
OCR 成功、OCR 失败、人工修正 |
| 欠款 |
shipped 模式、delivered 模式 |
| 报表 |
统计核对、导出 |
| 审计 |
关键操作日志查询 |
13. 风险分析
| 风险项 |
风险等级 |
影响范围 |
应对策略 |
| 取消流程特殊审批逻辑完成度仅 35% |
高 |
订单主流程 |
优先测试,覆盖全部取消分支 |
| 履约状态流转完成度仅 45% |
高 |
司机履约全链路 |
重点测试状态联动与异常分支 |
| 秘书端完成度仅 55% |
中 |
AI 识别辅助流程 |
梳理秘书端专属流程并补齐 |
| 权限字段隔离不完整 |
高 |
数据安全 |
多角色对比测试,逐字段验证 |
| 外部服务(快递100/AI/OSS)集成不完整 |
中 |
物流/AI/文件功能 |
使用模拟环境验证降级逻辑 |
| 配置驱动规则未完全落地 |
中 |
提醒/欠款/报表 |
配置变更后逐一验证联动效果 |
| 订单状态机约束不严密 |
高 |
数据一致性 |
按状态矩阵逐项验证非法流转 |
| 报表统计口径差异 |
低 |
数据准确性 |
手工核对数据库与报表数据 |
14. 验收标准
| 类型 |
标准 |
| 阻断缺陷 |
0 个 |
| 严重缺陷 |
0 个 |
| 一般缺陷 |
已确认不影响上线或有明确修复计划 |
| P0 用例通过率 |
100% |
| P1 用例通过率 |
≥ 95% |
| 核心流程端到端用例 |
100% 通过 |
| 权限与数据安全用例 |
100% 通过 |
| 状态机合法/非法流转用例 |
100% 通过 |
| 报表金额核对 |
与数据库手工核对一致 |
| 审计日志 |
关键操作 100% 可追溯 |
15. 测试用例统计
| 模块 |
用例数 |
P0 |
P1 |
P2 |
| 登录鉴权与权限 |
12 |
8 |
4 |
0 |
| 系统用户/角色/菜单管理 |
16 |
8 |
8 |
0 |
| 客户管理 |
10 |
4 |
4 |
2 |
| 产品与分类管理 |
8 |
2 |
6 |
0 |
| 工厂/供应商与下发文本 |
7 |
3 |
3 |
1 |
| 订单录入/提交/审批 |
22 |
14 |
8 |
0 |
| 订单取消流程 |
12 |
10 |
2 |
0 |
| 司机任务与履约 |
14 |
10 |
3 |
1 |
| 物流与 AI 识别 |
10 |
2 |
8 |
0 |
| 提醒中心与欠款 |
11 |
5 |
6 |
0 |
| 业绩统计报表 |
8 |
1 |
7 |
0 |
| 配置管理 |
7 |
1 |
6 |
0 |
| 审计日志 |
8 |
3 |
4 |
1 |
| 文件与 OSS |
6 |
0 |
5 |
1 |
| 端到端流程 |
12 |
10 |
2 |
0 |
| 权限与安全 |
15 |
15 |
0 |
0 |
| 状态机验证 |
按矩阵展开 |
全量 |
— |
— |
| 配置驱动规则 |
7 |
0 |
7 |
0 |
| 外部集成 |
6 |
0 |
6 |
0 |
| 合计 |
~191 |
~96 |
~87 |
~6 |
注:状态机验证用例数取决于实际状态组合数量,按矩阵逐项展开后约 30-40 条子用例。
16. 测试执行计划
| 阶段 |
内容 |
预计周期 |
| 第一轮 |
P0 用例全量执行(订单主流程、取消流程、司机履约、权限越权、状态机) |
3 天 |
| 第二轮 |
P1 用例全量执行(客户/产品/工厂管理、报表、配置、审计、物流/AI) |
2 天 |
| 第三轮 |
P2 用例 + 端到端流程 + 配置驱动规则 + 外部集成 |
2 天 |
| 回归测试 |
按回归清单全量回归 |
1 天 |
| 验收确认 |
对照验收标准出具测试报告 |
1 天 |
17. 附录
17.1 订单状态全集
draft(草稿)
→ pending_approve(待审核)
→ approved(已通过)
→ pending_factory(待下发工厂)
→ pending_driver_accept(待司机接单)
→ accepted(已接单)
→ picked_up(已揽货)
→ delivered(已送达)
→ completed(已完成)
→ settled(已结算)
→ rejected(已退回)
→ [业务员修改后重新提交]
→ canceled(已取消)
特殊取消路径:
approved → cancel_pending → canceled / 恢复原状态
picked_up → cancel_fulfillment_pending → canceled / 恢复原状态
17.2 错误码参考
| 错误码 |
含义 |
40001 |
参数校验失败 |
40002 |
认证失败(无token/token过期) |
40003 |
权限不足 |
40004 |
资源不存在或无权访问 |
40005 |
状态不允许该操作 |
40006 |
数据重复(唯一约束冲突) |
40007 |
业务约束不满足 |
40008 |
文件上传失败 |
40009 |
AI 识别服务异常 |
17.3 利润计算公式
利润 = 销售金额 - 成本金额 - 回扣 - 运费 - 税费 - 其他费用
利润率 = 利润 ÷ 销售金额 × 100%