优先级说明
执行建议:发版前至少跑完全部 P0;P1 纳入回归;P2 按时间选测。
P0 阻塞主流程,发版必测
P1 重要功能 / 常见分支
P2 体验、边界、非功能
vivo-client 1. 登录与入驻
鉴权 token:sales_token;销售资料、担保人、审核态入口。
1.1 登录与账号
| 用例 ID | 优先级 | 用例名称 | 前置条件 | 测试步骤 | 预期结果 |
| SC-L-001 | P0 | 销售验证码登录 | 有效销售账号 | 输入手机号 + 验证码登录 | 登录成功,跳转首页;token 写入 sales_token |
| SC-L-002 | P0 | 财务账号登录 | 有效财务账号 | 同 SC-L-001 | 登录成功,可见财务审核相关入口 |
| SC-L-003 | P0 | 首次改密 | 后端要求改密 | 登录后进入改密页提交 | 改密成功,可进入业务页 |
| SC-L-004 | P1 | 登录态失效 | token 过期 | 访问需鉴权页面 | 跳转登录页并提示 |
1.2 销售 / 担保资料
| 用例 ID | 优先级 | 用例名称 | 前置条件 | 测试步骤 | 预期结果 |
| SC-SI-001 | P0 | 销售资料完整提交 | 新销售未完善资料 | 填写国家、级别、收款信息等必填项并提交 | savePersonnelInfo 成功,跳转担保人页 |
| SC-SI-002 | P1 | 上级选填(GM) | 级别为国家经理 | 不选上级直接提交 | 校验通过,parent_id 为 null |
| SC-SI-003 | P1 | 上级选填(非 GM) | 级别为 Agent 等 | 不选上级提交 | 可提交成功(上级非必填) |
| SC-SI-004 | P1 | 选择上级提交 | 非 GM 级别 | 选择上级后提交 | parent_id 为所选用户 ID |
| SC-GU-001 | P1 | 担保人信息提交 | 销售资料已完成 | 填写担保人信息提交 | 成功保存,进入业务流程 |
vivo-client 2. 首页 / 设备列表 / 扫码
| 用例 ID | 优先级 | 用例名称 | 前置条件 | 测试步骤 | 预期结果 |
| SC-H-001 | P0 | 设备列表默认加载 | 已登录销售 | 进入首页 | 展示 /sales/device/list 分页数据 |
| SC-H-002 | P0 | 关键词搜索 | 列表有数据 | 输入关键词点搜索 | 列表按关键词刷新;空值恢复全部 |
| SC-H-003 | P0 | 扫码入口 | 已登录 | 首页点击「扫码」按钮 | 进入扫码页(搜索框后独立按钮) |
| SC-H-004 | P0 | 条码扫描成功 | H5 相机权限已开 | 对准设备条码扫描 | 识别成功,跳转结果页 |
| SC-H-005 | P1 | 扫码框可见 | 进入扫码页 | 观察取景区域 | 可见自定义扫描框;无默认遮罩干扰 |
| SC-H-006 | P1 | 扫码结果复制 | 扫描成功 | 点击复制 | IMEI / 序列号复制到剪贴板 |
| SC-H-007 | P1 | 重新扫描 | 在结果页 | 点击「重新扫描」 | redirectTo 扫码页,可再次扫描 |
| SC-H-008 | P1 | 扫码导航一致性 | 任意扫码跳转 | 从多处进入扫码 / 结果 | 均使用 redirectTo,无页面栈混乱 |
vivo-client 3. 创单主流程
客户信息 → 担保 → 分期 → 协议 → 签名。状态:0 → 7 → 4。
| 用例 ID | 优先级 | 用例名称 | 前置条件 | 测试步骤 | 预期结果 |
| SC-O-001 | P0 | 正常创单全流程 | 有待售设备 | 商品详情 → 客户 → 担保 → 分期 → 协议 → 签名 | 订单 0→7→4,进入财务审核 |
| SC-O-002 | P0 | 客户未完成订单预检 | 客户已有进行中订单 | 客户手机号失焦 / 点下一步 | checkCustomerUnfinishedOrder 返回 has_unfinished=true,阻断 |
| SC-O-003 | P0 | 手机号格式错误 | — | 输入非法手机号 + 国家码 | Toast:Please enter a valid phone number. |
| SC-O-004 | P0 | 预检必传国家码 | — | 只填手机号不传 country_iso_code | 不误判为无未完成订单 |
| SC-O-005 | P0 | 设置分期后状态 | 订单 status=0 | 提交分期 | 提示完成签名;status→7,不直接进审核 |
| SC-O-006 | P0 | 签名提交 | 订单 status=7 | 勾选协议 → 手写签名 → 上传 → 提交 sign | POST /sales/order/sign 成功;status→4 |
| SC-O-007 | P0 | 仅本地缓存签名 | status=7 | 签名后不提交 sign 直接回详情 | 订单仍为 7,未进审核 |
| SC-O-008 | P1 | 重复签名 | 已签名订单 | 再次提交 sign | 报错:Order already signed. |
| SC-O-009 | P1 | 金额币种展示 | 订单有货币字段 | 查看分期 / 详情金额 | 使用 currency_symbol,不写死 GHS |
vivo-client 4. 订单列表 / 详情
| 用例 ID | 优先级 | 用例名称 | 前置条件 | 测试步骤 | 预期结果 |
| SC-OL-001 | P0 | 状态文案完整 | 各状态订单各一条 | 查看列表标签 | -1/0/1/2/3/4/5/6/7 文案正确 |
| SC-OL-002 | P0 | 待签名入口 | status=7 | 打开详情 | 展示「去签名」 |
| SC-OL-003 | P0 | 待审核展示 | status=4 | 打开详情 | 展示「待审核」,无签名入口 |
| SC-OL-004 | P0 | 审核被拒展示 | status=5 | 打开详情 | 置顶拒绝栏;可查看 audit_reject_remark |
| SC-OL-005 | P0 | 审核被拒重提 | status=5 本人订单 | 编辑 → 改信息/分期 → 确认提交 | updateRejected 成功;status→7;跳转协议签名 |
| SC-OL-006 | P1 | 被拒单编辑回填 | status=5 | 进入编辑页 | 客户/担保/分期预填;手机号拆分字段正确 |
| SC-OL-007 | P1 | 被拒单跳过预检 | status=5 编辑模式 | 客户步点下一步 | 不调未完成订单预检 |
| SC-OL-008 | P0 | 取消订单(创单态) | status=0 | 点取消 | 取消成功 |
| SC-OL-009 | P0 | 取消 1 小时限制 | status=7/4 且超 1h | 点取消 | 按钮置灰或报错 Must be within 1 hour. |
| SC-OL-010 | P1 | 锁机 / 解锁 | status=1 | 分别点锁机、解锁 | 调对应接口;失败 toast 后端 msg |
| SC-OL-011 | P1 | 已完结订单 | status=6 | 打开详情 | 隐藏锁机/解锁等操作 |
vivo-client 5. 我的设备 / 团队 / 回收
| 用例 ID | 优先级 | 用例名称 | 前置条件 | 测试步骤 | 预期结果 |
| SC-D-001 | P1 | 我的设备列表 | 销售有设备 | 进入我的设备 | 展示设备及上下架状态 |
| SC-T-001 | P1 | 团队成员列表 | 有下级 | 进入我的团队 | 展示组织树 |
| SC-T-002 | P1 | 下属设备列表 | 下级有待售设备 | 成员详情 - 设备 Tab | 调 teamMemberDevices 正常展示 |
| SC-T-003 | P1 | 单个设备回收 | 有待售设备 | 点回收并确认 | recoverDevice 成功 |
| SC-T-004 | P1 | 批量回收 | 下属多台待售 | 点全部回收 | 展示 recovered_count / 失败列表 |
vivo-client 6. 财务审核
财务账号(user.type=finance)。订单审核读 order_audit_status,勿与还款 audit_status 混淆。
| 用例 ID | 优先级 | 用例名称 | 前置条件 | 测试步骤 | 预期结果 |
| SC-F-001 | P0 | 订单审核列表 | 有待审订单 | 进入订单审核页 | 仅 status=4;用 order_audit_status |
| SC-F-002 | P0 | 领取订单审核 | 待领取单 | 点领取 | 变为审核中,绑定当前财务 |
| SC-F-003 | P0 | 审核通过 | 已领取 | 选通过提交 | 订单→1,客户可还款 |
| SC-F-004 | P0 | 审核拒绝(无原因) | 已领取 | 选拒绝不填原因 | 前端校验阻断 |
| SC-F-005 | P0 | 审核拒绝(有原因) | 已领取 | 填 remark 拒绝 | 订单→5,设备恢复待售 |
| SC-F-006 | P1 | 销售资料审核 | 有待审销售 | 销售审核页领取/通过/拒绝 | 流程正常 |
| SC-F-007 | P1 | 还款审核通过 | 有待审还款 | 还款审核通过 | 后端自动解锁/设锁机日;详情刷新正确 |
vivo-app 7. 登录与账号
鉴权 token:client_token,与销售端 sales_token 隔离。
| 用例 ID | 优先级 | 用例名称 | 前置条件 | 测试步骤 | 预期结果 |
| CA-L-001 | P0 | 验证码登录 | 有效客户账号 | 手机号 + 验证码登录 | 成功;token 为 client_token |
| CA-L-002 | P0 | 密码登录 | 已设密码 | 密码登录 | 成功进入首页 |
| CA-L-003 | P0 | 首次改密 | 需改密账号 | 完成改密 | 可正常使用 |
| CA-L-004 | P1 | 登录态失效 | token 过期 | 访问订单页 | 跳转登录 |
vivo-app 8. 订单列表(首页)
| 用例 ID | 优先级 | 用例名称 | 前置条件 | 测试步骤 | 预期结果 |
| CA-O-001 | P0 | 订单列表加载 | 已登录 | 进入首页 | 展示本人订单列表 |
| CA-O-002 | P0 | 状态文案 | 含 4/5/6/7 订单 | 查看标签 | 4 审核中;5 审核未通过;6 已完结;7 处理中 |
| CA-O-003 | P1 | 设备型号搜索 | 列表有数据 | 搜索型号(含/不含空格) | 后端忽略空格,能搜到 |
| CA-O-004 | P1 | 货币展示 | 订单有 currency | 查看金额 | 使用 currency_symbol,不写死币种 |
vivo-app 9. 订单详情 / 还款 / 解锁 PIN
| 用例 ID | 优先级 | 用例名称 | 前置条件 | 测试步骤 | 预期结果 |
| CA-D-001 | P0 | 待还款可操作 | status=1 | 打开详情 | 展示还款入口、分期列表 |
| CA-D-002 | P0 | 审核中不可还款 | status=4 | 点还款 | 本地拦截;提示审核中 |
| CA-D-003 | P0 | 待签署不可还款 | status=7 | 打开详情 | 无还款入口;展示处理中 |
| CA-D-004 | P0 | 审核被拒展示 | status=5 | 打开详情 | 置顶拒绝栏;展示 audit_reject_remark |
| CA-D-005 | P0 | 已完结 | status=6 | 打开详情 | 文案「已完结」;无还款、无查 PIN |
| CA-D-006 | P0 | 查看解锁 PIN | status=1 或 2 | 点「查看解锁码」 | getUnlockPin 成功;弹层展示 PIN,可复制 |
| CA-D-007 | P0 | 不可查 PIN 的状态 | status=4/5/6/7 等 | 查看详情 | 不展示查 PIN 入口 |
| CA-D-008 | P1 | PIN 接口失败 | status=1 | 模拟 VTrust 失败 | Toast 后端错误信息 |
| CA-D-009 | P0 | 发起还款 | status=1 有可还期 | 选支付方式还款 | payment/init 流程正常 |
| CA-D-010 | P1 | 客户手机号展示 | 详情有拆分字段 | 查看客户信息 | 优先展示区号+号码;无拆分回退 mobile |
| CA-D-011 | P1 | 还款期状态 | 各期不同状态 | 查看分期列表 | 待还/已还/审核中文案与按钮正确 |
vivo-app 10. 我的 / 其它
| 用例 ID | 优先级 | 用例名称 | 前置条件 | 测试步骤 | 预期结果 |
| CA-M-001 | P1 | 我的页入口 | 已登录 | 进入我的 | 展示账号信息与设置入口 |
| CA-M-002 | P1 | 修改密码 | 已登录 | 改密并重新登录 | 新密码生效 |
| CA-M-003 | P2 | 法律协议页 | — | 打开 legal 页 | 内容正常展示 |
| CA-M-004 | P2 | 语言切换 | 支持 i18n | 切换中/英 | 文案切换正确 |
跨端 11. 端到端联调场景
| 用例 ID | 优先级 | 场景 | 参与端 | 步骤概要 | 预期结果 |
| E2E-001 | P0 | 完整购机闭环 | client + app + 财务 | 销售创单→签名→财务通过→用户还款→还清 | 用户端 status 最终 6;设备解除管控 |
| E2E-002 | P0 | 审核拒绝链路 | client + app | 财务拒单→销售编辑重提→再签→再通过 | 用户端先见 5,通过后见 1 可还款 |
| E2E-003 | P0 | 同客户不可双开单 | client | 客户 A 有进行中单时再创单 | 预检 / 创单均拦截 |
| E2E-004 | P1 | 取消后重新创单 | client | 1h 内取消 status=7 订单再创 | 取消成功后可新建 |
| E2E-005 | P1 | 扫码查设备 | client | 扫条码→进商品/设备详情 | 信息与后台 IMEI 一致 |
12. 测试环境与数据建议
| 项目 | 建议 |
| 账号 | 销售、财务、客户各 1;含 GM(无上级)与普通 Agent |
| 订单 | 准备 status = 0 / 1 / 4 / 5 / 6 / 7 各一条 |
| 设备 | 待售设备 ≥ 2,含可扫描条码的 IMEI |
| 浏览器 | H5:Chrome Mobile 模拟 + 真机 Safari / Chrome |
| 权限 | 相机(扫码)、相册(证件上传) |
| API | 可通过 Taro.setStorageSync('api_base_url', '...') 切换后端地址 |
13. 非功能 / 回归(P2)
| 用例 ID | 优先级 | 用例名称 | 测试步骤 | 预期结果 |
| SC-NF-001 | P2 | 弱网 loading | 弱网访问列表/详情 | loading 正常,可重试 |
| SC-NF-002 | P2 | i18n 切换 | 切换中/英文 | 状态文案一致 |
| SC-NF-003 | P2 | 页面返回栈 | 扫码、创单、签名往返 | 无死循环、无重复页 |
| CA-NF-001 | P2 | 支付后刷新 | 还款回调后回详情 | 状态与分期自动更新 |
打开方式:浏览器直接打开本 HTML,或打印为 PDF 分发给 QA。发版前建议至少执行全部 P0 + 核心 E2E。