petstore-docs/试点三角色端到端验收清单-2026-08-02.md

85 lines
5.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 试点三角色端到端验收清单
> 日期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 |