85 lines
5.6 KiB
Markdown
85 lines
5.6 KiB
Markdown
# 试点三角色端到端验收清单
|
||
|
||
> 日期:2026-08-02
|
||
> 角色:boss / staff / customer
|
||
> 状态:脚本与证据模板就绪;真实微信与生产环境待执行
|
||
|
||
## 1. 执行规则
|
||
|
||
- 至少准备 A/B 两家隔离测试门店、两个微信账号(老板/员工)和一个独立宠主账号;不得在证据中记录完整手机号、token、openid/unionid、验证码或 AppSecret。
|
||
- 先通过备份、八迁移、schema validate、31 项只读预检、liveness/readiness 与只读 smoke,再执行会写业务数据的角色验收。
|
||
- 每项保存:执行时间、环境、四仓 commit、角色、结果、脱敏截图/响应业务码、问题单;失败后不直接改生产数据。
|
||
- 端到端主样本使用一只测试宠物和一笔可取消测试预约;测试完成后的业务数据按门店测试数据政策保留或由授权人员清理。
|
||
|
||
## 2. Boss(开店与经营负责人)
|
||
|
||
| ID | 场景 | 通过条件 | 结果/证据 |
|
||
|----|------|----------|-----------|
|
||
| B01 | 微信手机号核验入驻 | 创建独立门店与 boss,会话有效;不接受手填手机号/密码 | [ ] |
|
||
| B02 | 门店开通清单 | 资料、预约容量、至少一个服务项目满足后可完成;邀请员工可选 | [ ] |
|
||
| B03 | 创建员工邀请 | token 只在创建响应显示一次;列表只见脱敏手机号,可撤销 | [ ] |
|
||
| B04 | 配置真实号源 | 修改营业容量/服务时长后,公开可约时段同步变化且长服务跨桶 | [ ] |
|
||
| B05 | 查看行动工作台 | 今日预约、服务中、报告待发送、到期回访与列表数字一致 | [ ] |
|
||
| B06 | 代客预约 | 必须填写真实宠主;创建人与客户身份分离,容量满返回可理解冲突 | [ ] |
|
||
| B07 | 回访任务协作 | 可领取、改期、关闭;他人已领取时明确冲突 | [ ] |
|
||
| B08 | 回访后再次预约 | 读取真实号源,成功后才出现 rebook;无号源失败不改变任务 | [ ] |
|
||
| B09 | 员工移除 | 只能删除本店 staff,删除后旧会话立即失效,AuditLog 低敏 | [ ] |
|
||
| B10 | 跨店反例 | A 店 boss 无法读取/修改 B 店预约、报告、客户、任务或设置 | [ ] |
|
||
|
||
## 3. Staff(值班执行者)
|
||
|
||
| ID | 场景 | 通过条件 | 结果/证据 |
|
||
|----|------|----------|-----------|
|
||
| S01 | 接受邀请 | 预览只见脱敏信息;微信核验手机号一致才能接受;过期/撤销/重复拒绝 | [ ] |
|
||
| S02 | 登录与权限 | 可进入 Admin/小程序本店工作流;不能删店、改仅老板设置或管理员工 | [ ] |
|
||
| S03 | 开始服务 | 仅 `new→doing`;谁点击谁成为技师;重复/非法迁移拒绝 | [ ] |
|
||
| S04 | 提交报告 | 前后图必填、一约一报告;成功后预约 `doing→done`,报告锁死 | [ ] |
|
||
| S05 | 发送报告 | 复制/二维码/预览不自动记 sent;实际送达后选择渠道显式确认且幂等 | [ ] |
|
||
| S06 | 回访领取竞争 | 两名员工同时领取仅一人成功;非领取人不能改期/关闭/再次预约 | [ ] |
|
||
| S07 | 联系回执 | 未接通/稍后联系次数加一并回待领取;终态不回退 | [ ] |
|
||
| S08 | 联系信息隐私 | 开放任务可见联系电话;终态任务、工作台、时间线只脱敏 | [ ] |
|
||
| S09 | 客户事实时间线 | 可见预约→履约→报告→打开→留资→回访→rebook;无备注/媒体/token/原始 metadata | [ ] |
|
||
| S10 | 退出/失效 | 本地退出需重新登录;被移除后旧 token 访问受保护接口失败 | [ ] |
|
||
|
||
## 4. Customer(宠主)
|
||
|
||
| ID | 场景 | 通过条件 | 结果/证据 |
|
||
|----|------|----------|-----------|
|
||
| C01 | 扫码/分享选店 | 普通 query 与小程序码 scene 均正确预填门店,可更换 | [ ] |
|
||
| C02 | 未登录填单 | 可先填;提交时登录;登录后草稿恢复且身份从 session 派生 | [ ] |
|
||
| C03 | 可约时段 | 只显示未来且覆盖完整服务时长的真实号源;容量满有重试提示 | [ ] |
|
||
| C04 | 创建/查看预约 | 只能创建和读取自己的预约;伪造 customerUserId 无效 | [ ] |
|
||
| C05 | 公开报告 | 匿名 token 可打开必要内容;不返回内部身份、完整 token 或坐标 | [ ] |
|
||
| C06 | 报告分享角色 | customer 仍看到留资/预约 CTA;不出现员工内部发送操作 | [ ] |
|
||
| C07 | 下次服务留资 | 明示同意后提交;同报告同手机号重复提交幂等且只保留一个开放任务 | [ ] |
|
||
| C08 | 一键退订 | 有效 unsubscribeToken 可退订并取消开放任务;重复退订幂等 | [ ] |
|
||
| C09 | 退订后反例 | 退订不增加员工联系次数,不显示员工操作人,不再保留开放任务 | [ ] |
|
||
| C10 | 权限反例 | customer 调 Admin、员工任务或他人预约/报告接口被拒绝 | [ ] |
|
||
|
||
## 5. 跨角色完整样本
|
||
|
||
按顺序一次性执行并关联同一个 appointment/report/lead/task:
|
||
|
||
```text
|
||
Boss 完成开通并邀请 Staff
|
||
→ Customer 选择真实号源预约
|
||
→ Staff 开始服务并提交唯一报告
|
||
→ Staff 实际发送后确认渠道
|
||
→ Customer 打开报告并提交下次提醒
|
||
→ Staff 领取 FollowUpTask,先登记一次未接通并改期
|
||
→ Staff 再次领取,创建真实 Appointment
|
||
→ Boss 在客户时间线与报告漏斗确认完整事实链
|
||
```
|
||
|
||
必须同时验证失败分支:容量满、另一员工抢领、跨店 taskId、非领取人关闭、无效退订 token。主链与反例全部通过后,该环境的三角色验收才能标记 PASS。
|
||
|
||
## 6. 签署
|
||
|
||
| 责任 | 姓名/日期 | 结论 |
|
||
|------|-----------|------|
|
||
| 试点门店老板 | | PASS / BLOCKED |
|
||
| Core Flow QA | | PASS / BLOCKED |
|
||
| Data Model Review | | PASS / BLOCKED |
|
||
| Privacy Review | | PASS / BLOCKED |
|
||
| Release Steward | | GO / NO-GO |
|