16 KiB
16 KiB
测试用例清单
1. 测试说明
1.1 测试范围
| 范围 | 内容 |
|---|---|
| 接口测试 | 认证、订单、审批、客户、产品、工厂、司机任务、物流、AI、提醒、报表、配置、审计 |
| 页面测试 | Vue 业务员端、Vue 管理后台、管理层小程序、司机小程序 |
| 流程测试 | 订单主流程、取消流程、司机履约、欠款生成、提醒、报表导出 |
| 权限测试 | 业务员、管理层、司机、管理员 |
| 异常测试 | 参数错误、状态非法、越权、第三方失败、上传失败 |
1.2 测试账号
| 角色 | 账号建议 | 权限范围 |
|---|---|---|
| 管理员 | admin01 |
全量后台管理 |
| 管理层 | manager01 |
审批、利润、报表、任务分配 |
| 业务员 A | sales01 |
本人订单、客户、提醒 |
| 业务员 B | sales02 |
本人订单、客户、提醒 |
| 司机 A | driver01 |
本人司机任务 |
| 司机 B | driver02 |
本人司机任务 |
1.3 测试数据
| 数据 | 要求 |
|---|---|
| 客户 | 至少 2 个不同业务员客户,含月结客户 |
| 产品 | 至少 2 个分类,含工业品、日用品或自定义分类 |
| 工厂 | 至少 2 个不同模板类型工厂 |
| 订单 | 草稿、待审核、已通过、取消申请中、履约中、已送达、已结算 |
| 司机任务 | 待接单、已接单、已揽货、已送达 |
2. 认证与权限测试
| 用例编号 | 用例名称 | 前置条件 | 步骤 | 预期结果 |
|---|---|---|---|---|
| AUTH-001 | 正常登录 | 用户启用 | 输入正确账号、密码、角色登录 | 返回 token、用户信息、菜单、权限 |
| AUTH-002 | 密码错误 | 用户存在 | 输入错误密码登录 | 返回 40002 |
| AUTH-003 | 角色不匹配 | 业务员账号存在 | 使用 manager 角色登录 | 返回 40003 |
| AUTH-004 | 停用用户登录 | 用户状态停用 | 登录 | 返回 40003 |
| AUTH-005 | 无 token 访问 | 无 | 请求受保护接口 | 返回 40002 |
| AUTH-006 | 过期 token 访问 | token 过期 | 请求受保护接口 | 返回 40002 |
| AUTH-007 | 业务员越权看他人订单 | sales01、sales02 均有订单 | sales01 请求 sales02 订单详情 | 返回 40003 或 40004 |
| AUTH-008 | 司机越权看他人任务 | driver01、driver02 均有任务 | driver01 请求 driver02 任务详情 | 返回 40003 或 40004 |
| AUTH-009 | 司机看财务字段 | 司机任务存在 | 查看任务详情 | 不返回客户敏感信息、报价、成本、利润、回扣 |
3. 客户管理测试
| 用例编号 | 用例名称 | 前置条件 | 步骤 | 预期结果 |
|---|---|---|---|---|
| CUS-001 | 新增客户成功 | 无重复客户 | 提交姓名、手机号等信息 | 返回客户 ID,数据库写入 |
| CUS-002 | 姓名手机号重复 | 已有同姓名同手机号 | 再次新增 | 返回 40006 |
| CUS-003 | 手机号为空 | 无 | 新增客户不填手机号 | 返回 40001 |
| CUS-004 | 客户列表筛选 | 多客户数据 | 按姓名、手机号、业务员筛选 | 返回符合条件数据 |
| CUS-005 | 客户详情 | 客户存在 | 请求详情 | 返回结算方式、账期、欠款、归属业务员 |
| CUS-006 | 客户导入成功 | OSS 有导入文件 | 调用导入接口 | 返回总数、成功数、失败数 |
| CUS-007 | 客户导入去重 | 文件含重复姓名手机号 | 导入 | 重复记录计入 duplicate_count |
| CUS-008 | 业务员客户范围 | sales01 有客户 | sales02 查询客户列表 | 不返回 sales01 私有客户 |
4. 产品与分类测试
| 用例编号 | 用例名称 | 前置条件 | 步骤 | 预期结果 |
|---|---|---|---|---|
| PROD-001 | 新增产品分类 | 管理员登录 | 新增分类 | 分类可在列表查询 |
| PROD-002 | 分类编码重复 | 已有分类编码 | 新增同编码分类 | 返回 40006 |
| PROD-003 | 停用分类 | 分类存在 | 停用分类 | 新建产品不可选择或提示禁用 |
| PROD-004 | 新增产品成功 | 分类启用 | 新增产品 | 产品写入并关联分类 |
| PROD-005 | 产品列表筛选 | 多产品 | 按名称、规格、分类、状态筛选 | 返回符合条件数据 |
| PROD-006 | 产品详情 | 产品存在 | 请求详情 | 返回分类、成本、售价、状态 |
| PROD-007 | 禁用产品下单 | 产品禁用 | 订单选择该产品提交 | 拦截或明确提示 |
| PROD-008 | 产品快照 | 产品已用于订单 | 修改产品名称/成本 | 历史订单快照不变 |
5. 订单主流程测试
| 用例编号 | 用例名称 | 前置条件 | 步骤 | 预期结果 |
|---|---|---|---|---|
| ORD-001 | 创建草稿订单 | 业务员登录、产品存在 | 填写客户、明细、费用提交 | 返回订单 ID,状态 draft |
| ORD-002 | 新客户自动入库 | 客户库无该客户 | 创建订单 | 自动创建客户 |
| ORD-003 | 利润计算 | 销售 100、成本 60、回扣 5、运费 10、税费 3、其他 2 | 创建订单 | 利润 20,利润率 20% |
| ORD-004 | 固定提成保存 | 输入固定提成 50 | 创建订单 | commission_amount=50 |
| ORD-005 | 明细为空 | 无明细 | 创建订单 | 返回 40001 |
| ORD-006 | 数量非法 | 数量为 0 | 创建订单 | 返回 40001 |
| ORD-007 | 提交审核成功 | 订单为 draft |
提交审核 | 状态变为 pending_approve |
| ORD-008 | 重复提交 | 订单已 pending_approve |
再次提交 | 返回 40005 |
| ORD-009 | 管理层审批通过 | 订单 pending_approve |
管理层通过 | 状态变为 approved |
| ORD-010 | 管理层审批退回 | 订单 pending_approve |
管理层退回并填写意见 | 状态变为 rejected,业务员收到通知 |
| ORD-011 | 生成下发文本 | 订单 approved |
生成下发文本 | 返回文本内容 |
| ORD-012 | 确认下发工厂 | 订单 approved |
确认下发 | 状态变为 pending_factory |
| ORD-013 | 非 approved 确认下发 | 订单 draft |
确认下发 | 返回 40005 |
| ORD-014 | 订单列表筛选 | 多订单 | 按状态、客户、时间筛选 | 返回符合条件数据 |
| ORD-015 | 订单详情字段权限 | 业务员登录 | 查看本人订单详情 | 不返回成本、利润等无权限字段 |
| ORD-016 | 管理层订单详情 | 管理层登录 | 查看订单详情 | 返回完整财务字段 |
6. 订单取消流程测试
| 用例编号 | 用例名称 | 前置条件 | 步骤 | 预期结果 |
|---|---|---|---|---|
| CAN-001 | 草稿订单取消 | 订单 draft |
业务员提交取消 | 状态直接 canceled |
| CAN-002 | 待审核订单取消 | 订单 pending_approve |
业务员提交取消 | 状态直接 canceled |
| CAN-003 | 已审批订单取消申请 | 订单 approved |
业务员提交取消 | 状态 cancel_pending,记录取消前状态 |
| CAN-004 | 履约中订单取消申请 | 订单 picked_up |
业务员提交取消 | 状态 cancel_pending |
| CAN-005 | 取消审批通过 | 订单 cancel_pending |
管理层同意 | 状态 canceled |
| CAN-006 | 取消审批拒绝 | 订单 cancel_pending 且原状态 approved |
管理层拒绝 | 状态恢复 approved |
| CAN-007 | 已取消再次取消 | 订单 canceled |
提交取消 | 返回 40005 |
| CAN-008 | 取消原因必填 | 可取消订单 | 不填原因提交 | 返回 40001 |
7. 司机任务与履约测试
| 用例编号 | 用例名称 | 前置条件 | 步骤 | 预期结果 |
|---|---|---|---|---|
| TASK-001 | 管理层创建任务 | 订单可履约、司机存在 | 填写任务并保存 | 返回任务 ID,状态 pending |
| TASK-002 | 司机任务列表 | driver01 有任务 | driver01 查看列表 | 只显示本人任务 |
| TASK-003 | 任务详情脱敏 | 任务存在 | 司机查看详情 | 不显示客户敏感信息和财务字段 |
| TASK-004 | 接单成功 | 任务 pending |
司机接单 | 状态 accepted,记录接单时间 |
| TASK-005 | 重复接单 | 任务已 accepted |
再次接单 | 返回 40005 |
| TASK-006 | 揽货成功 | 任务 accepted |
上传照片确认揽货 | 状态 picked_up,附件写入 |
| TASK-007 | 揽货无照片 | 任务 accepted |
不上传照片确认 | 返回 40001 或业务错误 |
| TASK-008 | 送达成功 | 任务 picked_up |
确认送达 | 状态 delivered,订单状态联动 |
| TASK-009 | 非法送达 | 任务 pending |
直接送达 | 返回 40005 |
| TASK-010 | 司机越权操作 | driver01 操作 driver02 任务 | 接单/揽货/送达 | 返回 40003 |
8. 文件与 OSS 测试
| 用例编号 | 用例名称 | 前置条件 | 步骤 | 预期结果 |
|---|---|---|---|---|
| FILE-001 | 获取上传凭证 | 用户登录 | 请求上传凭证 | 返回 upload_url、file_url、expire_at |
| FILE-002 | 图片上传成功 | OSS 可用 | 上传图片并保存附件 | file_attachment 写入 image 元数据 |
| FILE-003 | 视频上传成功 | OSS 可用 | 上传视频并保存附件 | file_attachment 写入 video 元数据 |
| FILE-004 | 文件过大 | 设置上传限制 | 上传超限文件 | 返回 40008 或明确错误 |
| FILE-005 | OSS 失败 | 模拟 OSS 异常 | 上传 | 返回 40008,记录日志 |
| FILE-006 | 附件关联 | 任务存在 | 上传任务附件 | 附件 biz_type/biz_id 正确 |
9. 物流与 AI 测试
| 用例编号 | 用例名称 | 前置条件 | 步骤 | 预期结果 |
|---|---|---|---|---|
| LOG-001 | 手动新增物流节点 | 订单存在 | 新增节点 | logistics_trace 写入 |
| LOG-002 | 物流轨迹查询 | 订单有节点 | 查询轨迹 | 按时间返回节点 |
| LOG-003 | 物流超时提醒 | 首节点后 48 小时无流转 | 执行提醒检查 | 生成一次提醒 |
| LOG-004 | 物流超时不重复提醒 | 已提醒 | 再次执行检查 | 不重复生成 |
| AI-001 | OCR 识别成功 | OSS 图片存在,阿里云凭证有效 | 发起识别 | 保存 raw_result、confidence、suggested_result |
| AI-002 | OCR 识别失败 | 模拟阿里云失败 | 发起识别 | 返回 40009,记录异常 |
| AI-003 | 人工修正 | 识别记录存在 | 提交 corrected_result | 保存修正结果,不覆盖原始结果 |
| AI-004 | 识别结果人工确认 | 识别出疑似订单 | 页面确认 | 不自动审批、不自动合并 |
10. 欠款与提醒测试
| 用例编号 | 用例名称 | 前置条件 | 步骤 | 预期结果 |
|---|---|---|---|---|
| ARR-001 | delivered 模式生成欠款 | 配置 arrears_generate_mode=delivered |
订单送达 | 生成欠款记录 |
| ARR-002 | shipped 模式生成欠款 | 配置 arrears_generate_mode=shipped |
订单发货 | 生成欠款记录 |
| ARR-003 | 未到节点不生成欠款 | 配置 delivered,订单 shipped | 检查欠款 | 不生成 |
| ARR-004 | 结算关闭欠款 | 欠款 pending/overdue | 执行结算 | 状态 closed 或 paid,记录关闭时间 |
| ARR-005 | 欠款超期提醒 | 欠款超过账期 | 执行提醒检查 | 生成业务员提醒 |
| ARR-006 | 沉默客户提醒 | 客户超过周期未下单且金额达阈值 | 执行检查 | 生成提醒 |
| ARR-007 | 沉默客户低金额不提醒 | 金额低于阈值 | 执行检查 | 不生成提醒 |
| ARR-008 | 提醒已读 | 提醒存在 | 标记已读 | 状态 read |
11. 报表测试
| 用例编号 | 用例名称 | 前置条件 | 步骤 | 预期结果 |
|---|---|---|---|---|
| REP-001 | 月度统计 | 多订单跨月份 | 查询月报 | 按月份汇总正确 |
| REP-002 | 季度统计 | 多订单跨季度 | 查询季报 | 按季度汇总正确 |
| REP-003 | 年度统计 | 多订单跨年份 | 查询年报 | 按年份汇总正确 |
| REP-004 | 分类统计 | 产品分类存在 | 查询报表 | 按分类金额汇总正确 |
| REP-005 | 固定提成统计 | 订单有 commission_amount | 查询报表 | 提成金额按订单固定值汇总 |
| REP-006 | 电商订单剔除 | 存在电商来源订单 | 查询报表 | 按规则剔除或可配置剔除 |
| REP-007 | 报表导出 | 查询条件存在 | 点击导出 | 返回 file_url,文件内容与页面一致 |
12. 系统配置与审计测试
| 用例编号 | 用例名称 | 前置条件 | 步骤 | 预期结果 |
|---|---|---|---|---|
| CFG-001 | 查询配置 | 配置存在 | 查询 config_key | 返回配置值 |
| CFG-002 | 更新配置 | 管理员登录 | 更新欠款生成模式 | 保存成功,写审计日志 |
| CFG-003 | 非管理员更新配置 | 业务员登录 | 更新配置 | 返回 40003 |
| AUD-001 | 订单创建审计 | 创建订单 | 查询审计日志 | 有 create order 记录 |
| AUD-002 | 审批审计 | 审批订单 | 查询审计日志 | 有 approve 记录 |
| AUD-003 | 取消审计 | 取消订单 | 查询审计日志 | 有 cancel 记录 |
| AUD-004 | 司机操作审计 | 接单/揽货/送达 | 查询审计日志 | 有对应记录 |
| AUD-005 | OSS 上传审计 | 上传附件 | 查询审计日志 | 有上传记录或文件记录 |
13. 系统管理测试
| 用例编号 | 用例名称 | 前置条件 | 步骤 | 预期结果 |
|---|---|---|---|---|
| SYS-001 | 新增用户成功 | 管理员登录,角色已存在 | 新增账号、姓名、手机号、角色、初始密码 | 返回用户 ID,用户可正常登录 |
| SYS-002 | 用户账号重复 | 已存在 username | 新增同 username 用户 | 返回 40006 |
| SYS-003 | 用户角色不存在 | role_id 不存在或停用 | 新增或更新用户 | 返回 40004 |
| SYS-004 | 停用用户 | 用户启用 | 管理员停用用户后,该用户登录 | 停用成功,登录返回 40003 |
| SYS-005 | 重置密码 | 用户存在 | 管理员重置密码,用户用新密码登录 | 新密码可登录,旧密码不可登录 |
| SYS-006 | 新增角色成功 | 管理员登录 | 新增 role_name、role_code、状态 | 返回角色 ID,角色列表可查询 |
| SYS-007 | 角色编码重复 | 已存在 role_code | 新增同 role_code 角色 | 返回 40006 |
| SYS-008 | 停用有启用用户的角色 | 角色下存在启用用户 | 停用角色 | 返回 40007 或要求先处理用户 |
| SYS-009 | 新增菜单成功 | 管理员登录 | 新增菜单名称、路径、权限编码 | 菜单树可查询到新菜单 |
| SYS-010 | 菜单权限编码重复 | 已存在 permission_code | 新增同编码菜单 | 返回 40006 |
| SYS-011 | 菜单父级非法 | 将菜单父级设置为自身或子级 | 更新菜单 | 返回 40007 |
| SYS-012 | 角色授权保存 | 角色、菜单存在 | 给角色配置 menu_ids 和 permission_codes | 保存成功,重新登录后菜单和按钮权限生效 |
| SYS-013 | 非管理员访问系统管理接口 | 业务员或司机登录 | 请求用户/角色/菜单管理接口 | 返回 40003 |
| SYS-014 | 权限变更审计 | 修改角色授权 | 查询审计日志 | 有授权前后差异记录 |
14. 页面端到端测试
| 用例编号 | 用例名称 | 端 | 步骤 | 预期结果 |
|---|---|---|---|---|
| E2E-001 | 业务员完整录单 | Vue 业务员端 | 登录、创建订单、提交审核 | 订单进入待审核 |
| E2E-002 | 管理层审批通过 | 小程序管理层端 | 登录、查看待审批、通过 | 订单进入 approved |
| E2E-003 | 确认下发工厂 | 小程序管理层端 | 生成文本、复制、确认下发 | 订单进入 pending_factory |
| E2E-004 | 创建司机任务 | 管理后台/管理层端 | 创建并分配任务 | 司机端可见 |
| E2E-005 | 司机履约完成 | 小程序司机端 | 接单、揽货、送达 | 任务 delivered,订单联动 |
| E2E-006 | 欠款生成 | 后端/页面 | 送达后检查欠款 | 欠款生成 |
| E2E-007 | 报表查看导出 | Vue 管理后台 | 查询报表、导出 | 页面和文件一致 |
15. 回归测试清单
每次发布前必须执行:
- 登录、退出、token 过期。
- 用户、角色、菜单和授权刷新。
- 订单创建、提交、审批、取消、下发确认。
- 司机任务创建、接单、揽货、送达。
- 权限越权检查:业务员、司机至少各 2 条。
- OSS 图片上传、视频上传。
- AI OCR 成功和失败。
- 欠款生成模式
shipped和delivered。 - 报表统计和导出。
- 审计日志查询。
16. 验收通过标准
| 类型 | 标准 |
|---|---|
| 阻断缺陷 | 0 个 |
| 严重缺陷 | 0 个 |
| 一般缺陷 | 已确认不影响上线或有明确修复计划 |
| 核心流程用例 | 100% 通过 |
| 权限与数据安全用例 | 100% 通过 |
| 报表金额核对 | 与数据库手工核对一致 |
| 审计日志 | 关键操作 100% 可追溯 |