From 3baed336c7e178c3ce520459d8a709c92c603285 Mon Sep 17 00:00:00 2001 From: let5sne Date: Sat, 18 Jul 2026 02:43:50 +0800 Subject: [PATCH] docs: add P0 pilot acceptance checklist with production test user list MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 基于生产库 TEST_PROJECT_001 实际名单起草 P0 试点验收执行清单: 试点名单: - 管理侧10人(项目经理1+主管9),覆盖权限正例、切换学员、派发、考试、团队查看 - 员工侧10人(一线员工),覆盖权限正例、语音、图片、视频、字号、每日题、问题榜、问师傅 - 越权反例3人,验证员工访问主管功能被拦截 验收范围: - P0-1 正式OTP权限正反例(固定验证码123456,无需真实短信) - 员工/主管/项目经理登录流程 - 主管切换学员模式往返 - 主管功能访问(派发/考试/团队) - 员工越权访问拦截(3个反例) - 每日题去重与确定性轮换 - P0-2 真机能力验收(iOS+Android各2台) - 语音录音+ASR转文字+TTS播报+降级 - 图片/视频上传(≤10MB/≤100MB) - 总结卡下载PNG到相册/Downloads - 全局字号三档(标准/大/超大)持久化+全局覆盖 - 键盘导航+读屏(VoiceOver/TalkBack) - P0-3 严格试点窗口统计(2026-07-01至07-31) - 完成率≥80%(≥16人完成≥10次训练) - 人工校准样本≥20份,AI-人工分数段一致率≥70% - SOP评审可用率稳定≥80% - 满意度问卷≥15份,平均≥4/5分 时间表: - 2026-07-19: P0-1权限+P0-2真机验证 - 2026-07-24: P0-3中期检查 - 2026-07-31: 试点窗口结束 - 2026-08-08: P0验收报告输出 风险应急: - 完成率不达标 → 1对1催促+任务包+延长窗口 - 真机能力失败 → 切换备用提供方/降级/扩容 - 越权拦截失效 → 立即下线+修复+重新验证 Co-Authored-By: Claude Fable 5 --- docs/P0_PILOT_ACCEPTANCE_CHECKLIST.md | 234 ++++++++++++++++++++++++++ 1 file changed, 234 insertions(+) create mode 100644 docs/P0_PILOT_ACCEPTANCE_CHECKLIST.md diff --git a/docs/P0_PILOT_ACCEPTANCE_CHECKLIST.md b/docs/P0_PILOT_ACCEPTANCE_CHECKLIST.md new file mode 100644 index 00000000..04dfec78 --- /dev/null +++ b/docs/P0_PILOT_ACCEPTANCE_CHECKLIST.md @@ -0,0 +1,234 @@ +# P0 试点验收执行清单 + +> 版本: v1.0 | 日期: 2026-07-18 | 试点窗口: 2026-07-01 至 2026-07-31 | 项目: TEST_PROJECT_001 + +## 一、试点名单(生产库实际数据) + +### 管理侧(10人) +| 手机号 | 姓名 | 岗位 | 职级 | 验收角色 | +|---|---|---|---|---| +| 13800010004 | (空) | 项目经理 | 项目经理 | P0-1主管权限正例 | +| 13016991920 | (空) | 保洁主管 | 主管 | P0-1主管权限正例 | +| 13800010005 | (空) | 客服主管 | 主管 | P0-1主管权限正例 | +| 13900011001 | (空) | 客服主管 | 主管 | P0-1主管权限正例 | +| 13900012001 | (空) | 运营主管 | 主管 | P0-1主管权限正例 | +| 13900012002 | (空) | 品质主管 | 主管 | P0-1主管权限正例 | +| 13358160602 | (空) | 保洁主管 | 主管 | P0-1切换学员模式 | +| 13506235116 | (空) | 保洁主管 | 主管 | P0-1派发专项 | +| 13775002281 | (空) | 保洁主管 | 主管 | P0-1创建考试 | +| 13800010006 | (空) | 外包负责人 | 主管 | P0-1查看团队 | + +### 员工侧(10人) +| 手机号 | 姓名 | 岗位 | 职级 | 验收角色 | +|---|---|---|---|---| +| 13003451669 | (空) | 保洁员 | 一线 | P0-1员工权限正例 | +| 13003671780 | (空) | 保洁员 | 一线 | P0-2语音录音+播报 | +| 13003690513 | (空) | 保洁员 | 一线 | P0-2图片上传+下载 | +| 13032658127 | (空) | 保洁班长 | 一线 | P0-2视频上传 | +| 13052906326 | (空) | 保洁员 | 一线 | P0-2全局字号三档 | +| 13060783130 | (空) | 保洁员 | 一线 | P0-1每日题去重 | +| 13062915370 | (空) | 保洁员 | 一线 | P0-1问题榜提问 | +| 13063972397 | (空) | 保洁员 | 一线 | P0-1问题榜回答 | +| 13067806180 | (空) | 保洁员 | 一线 | P0-1问师傅+问AI | +| 13069016922 | (空) | 保洁员 | 一线 | P0-1答题+积分 | + +### 越权反例(3人) +| 手机号 | 姓名 | 岗位 | 职级 | 验收角色 | +|---|---|---|---|---| +| 13075084167 | (空) | 保洁员 | 一线 | P0-1越权:员工访问主管工作台 | +| 13093179363 | (空) | 保洁员 | 一线 | P0-1越权:员工访问派发页 | +| 13101885639 | (空) | 保洁员 | 一线 | P0-1越权:员工访问考试管理 | + +--- + +## 二、P0-1 正式 OTP 权限正反例 + +### 登录验收 +**固定验证码**: 123456(生产环境 `AIHR_SMS_PROD_FIXED_CODE_ENABLED=true` 时生效) + +#### 正例:员工端登录流程 +- [ ] **13003451669**(保洁员) → 输入手机号 → 获取验证码 → 输入123456 → 登录成功 +- [ ] 自动跳转"同步岗位"页 → 匹配成功(岗位:保洁员,职级:一线) → 自动跳转"每日安排"(today页) +- [ ] 底部tabBar显示:每日安排、对练、问师傅、我的(4个tab,无主管工作台) +- [ ] "我的"页显示:岗位=保洁员,无"进入主管工作台"按钮 + +#### 正例:主管端登录流程 +- [ ] **13800010004**(项目经理) → 输入手机号 → 获取验证码 → 输入123456 → 登录成功 +- [ ] 自动跳转"同步岗位"页 → 匹配成功(岗位:项目经理,职级:项目经理) → 自动跳转"主管工作台"(supervisor/index页) +- [ ] 顶部显示:工作台、指派、团队、复盘(4个主管tab) +- [ ] "我的"页有"进入学员模式"按钮 + +#### 正例:主管切换学员模式 +- [ ] **13358160602**(保洁主管) → 登录主管工作台 → 点击"我的" → "进入学员模式" +- [ ] 跳转至员工端"每日安排"页,底部tabBar变为员工侧4个tab +- [ ] 左上角显示"当前为学员模式" + "返回主管工作台"按钮 +- [ ] 点击"返回主管工作台" → 跳回主管工作台,岗位身份未改变(仍为主管) + +### 权限正例:主管功能访问 +- [ ] **13506235116**(保洁主管) → 主管工作台 → 点击"指派" → 进入派发专项页 +- [ ] 支持多选团队成员(≤100人),显示当前项目在职成员列表 +- [ ] 快捷日期选择器显示:当天、明天、3天内、7天内 +- [ ] 场景下拉框显示已启用场景(如生活顾问等) +- [ ] "派发"按钮可用,点击后显示loading → 成功提示"已派发给X人" + +- [ ] **13775002281**(保洁主管) → 主管工作台 → 点击"考试" → 进入考试管理页 +- [ ] 点击"创建考试" → 输入考试标题、选择岗位、添加题目 → "发布"按钮可用 +- [ ] 发布后显示"已发布" → 返回考试列表,新考试出现在列表中 + +- [ ] **13800010006**(外包负责人) → 主管工作台 → 点击"团队" → 显示团队成员列表 +- [ ] 列表显示成员姓名(非编号)、岗位、最近训练时间 +- [ ] 点击某成员 → 进入成员详情页,显示训练记录、得分趋势 + +### 权限反例:越权访问拦截 +- [ ] **13075084167**(保洁员,员工权限) → 手动构造URL访问 `/pages/supervisor/index` → 被路由守卫拦截,跳转回员工端today页,显示toast"无权访问" +- [ ] **13093179363**(保洁员) → 手动构造URL访问 `/pages/supervisor/assign/index` → 被拦截,提示"无权访问" +- [ ] **13101885639**(保洁员) → 手动构造URL访问 `/pages/supervisor/exams/index` → 被拦截,提示"无权访问" +- [ ] 验证后端接口:用员工token调用 `/api/aihr/mobile/practice/assignments/batch`(派发接口) → 返回403或业务错误"权限不足" + +### 每日题去重与轮换 +- [ ] **13060783130**(保洁员) → 连续7天登录 → 每天查看"每日安排"的每日题 +- [ ] 记录每天的3道题目(题面/场景),验证: + - 7天内无重复题面(即使同一场景) + - 同一天刷新页面,题目不变(确定性) + - 次日00:00后刷新,题目切换为新的一批 + +--- + +## 三、P0-2 真机能力验收 + +**设备要求**: +- iOS真机(iPhone,iOS 15+,微信内置浏览器 + Safari各一台) +- Android真机(Android 10+,微信内置浏览器 + Chrome各一台) + +### 语音输入与播报 +- [ ] **13003671780**(保洁员) → 问师傅页 → 点击麦克风图标 → 允许麦克风权限 +- [ ] 说话5秒("今天客户投诉了停车费问题怎么处理") → 停止录音 → 文本框自动填入识别后的文字 +- [ ] 点击"搜索" → 等待回答 → 点击"播报"按钮 → 听到TTS语音播报回答内容 +- [ ] 真机验证降级:飞行模式 → 点击"播报" → 检查是否降级到浏览器`speechSynthesis`(iOS Safari可能无声,属已知限制) +- [ ] 真机验证录音兜底:长按5秒说话但ASR接口超时 → 检查是否显示"选择音频文件"兜底选项 + +### 图片/视频上传 +- [ ] **13003690513**(保洁员) → 问师傅页 → 点击"上传图片"图标 → 从相册选择一张图片(≤10MB) +- [ ] 页面显示图片预览缩略图 + "仅用于本次现场分析"提示 +- [ ] 输入问题"这个地方怎么清洁" → 点击"搜索" → 回答中包含对图片内容的分析 + +- [ ] **13032658127**(保洁班长) → 问师傅页 → 点击"上传视频"图标 → 从相册选择一段视频(≤100MB,<30秒) +- [ ] 页面显示视频预览 + "仅用于本次现场分析"提示 +- [ ] 输入问题"这个操作对吗" → 点击"搜索" → 回答中包含对视频内容的分析 + +### 总结卡下载 +- [ ] **13003690513**(保洁员) → 完成一次对练 → 查看训练总结页 +- [ ] 点击"下载总结卡"按钮 → loading状态显示 +- [ ] iOS:检查是否弹出系统分享菜单,选择"存储图像" → 打开相册验证PNG图片已保存 +- [ ] Android:检查是否弹出下载确认,点击"下载" → 打开文件管理器验证PNG图片已保存到Downloads目录 + +### 全局字号三档 +- [ ] **13052906326**(保洁员) → 登录员工端 → 点击"我的" → 点击"字体大小" +- [ ] 选择"标准" → 返回today页,目测卡片标题、正文字号正常(16px/14px左右) +- [ ] 再次进入"字体大小" → 选择"大" → 返回today页,目测字号明显增大(约1.12倍) +- [ ] 再次进入"字体大小" → 选择"超大" → 返回today页,目测字号最大(约1.25倍) +- [ ] 退出重新登录 → 字号设置仍为"超大",验证持久化 +- [ ] 真机验证:切换到"超大"后,依次访问:问师傅页、对练页、问题榜页、我的页 → 所有页面字号同步放大,无遗漏页面 + +### 键盘与读屏(可访问性) +- [ ] iOS VoiceOver开启 → 登录员工端 → 双击"每日安排"tab → 听到"每日安排,已选中" +- [ ] 滑动到卡片 → 听到卡片标题朗读 +- [ ] Android TalkBack开启 → 登录员工端 → 双击"问师傅"tab → 听到"问师傅,已选中" +- [ ] 外接蓝牙键盘 → Tab键可切换焦点,Enter键可激活按钮 + +--- + +## 四、P0-3 严格试点窗口统计 + +**试点窗口**: 2026-07-01 至 2026-07-31(31天) +**完成定义**: 每人≥10次训练(对练 + 每日题,不含问师傅单次查询) +**样本目标**: 20人完成,≥80%完成率 + +### 训练量统计 +- [ ] 截至2026-07-18,已有1人登录,2次训练,0人达标(当前完成率0%) +- [ ] 窗口结束前5天(2026-07-26)复查:已完成人数/目标20人,完成率是否≥80% +- [ ] 若完成率<80%,召集主管催促:每位主管至少带2名员工完成10次训练 + +### 人工校准样本 +- [ ] 目标:20份对练录音 → 主管先打分 → AI再打分 → 对比分差 +- [ ] 当前:0份校准样本 +- [ ] 窗口结束前7天(2026-07-24)复查:已收集校准样本数/20,AI-人工分数段一致率是否≥70% + +### SOP评审样本 +- [ ] 目标:问师傅回答可用率≥80% +- [ ] 当前:2份样本,2份可用,可用率100%(已达标✅) +- [ ] 窗口结束时再抽查20份问师傅记录,验证可用率稳定在80%+ + +### 满意度收集 +- [ ] 窗口结束后1周内,向所有完成≥10次训练的员工发放满意度问卷 +- [ ] 收集维度:功能易用性、语音识别准确度、AI回答质量、对实际工作的帮助 +- [ ] 目标:≥15份有效问卷,平均满意度≥4/5分 + +--- + +## 五、验收通过标准 + +### P0-1 权限正反例 +- [ ] 员工/主管/项目经理登录流程100%通过 +- [ ] 主管切换学员模式往返正常,岗位身份不可伪造 +- [ ] 主管功能(派发/考试/团队)访问正常 +- [ ] 员工越权访问主管功能被拦截,3个反例全部拦截成功 + +### P0-2 真机能力 +- [ ] 语音录音+ASR转文字在iOS/Android微信+浏览器各通过1次 +- [ ] 语音播报+降级在iOS/Android各通过1次 +- [ ] 图片/视频上传在iOS/Android各通过1次 +- [ ] 总结卡下载在iOS/Android各保存成功1次 +- [ ] 全局字号三档在iOS/Android各验证持久化+全局覆盖 +- [ ] 读屏/键盘导航在iOS VoiceOver + Android TalkBack各通过1次 + +### P0-3 严格试点窗口 +- [ ] 窗口结束时,完成率≥80%(≥16人完成≥10次训练) +- [ ] 人工校准样本≥20份,AI-人工分数段一致率≥70% +- [ ] SOP评审可用率稳定在≥80% +- [ ] 满意度问卷≥15份,平均≥4/5分 + +--- + +## 六、验收执行时间表 + +| 日期 | 里程碑 | 责任人 | 状态 | +|---|---|---|---| +| 2026-07-18 | P0清单起草完成 | 开发 | ✅ | +| 2026-07-19 | P0-1权限正反例全部验证 | 开发+测试 | 待执行 | +| 2026-07-19 | P0-2真机能力验证(iOS+Android各2台) | 测试 | 待执行 | +| 2026-07-24 | P0-3中期检查(完成率/校准样本) | 项目经理 | 待执行 | +| 2026-07-26 | P0-3末期检查(完成率冲刺) | 主管团队 | 待执行 | +| 2026-07-31 | 试点窗口结束,统计最终数据 | 项目经理 | 待执行 | +| 2026-08-07 | 满意度问卷收集完成 | 项目经理 | 待执行 | +| 2026-08-08 | P0验收报告输出 | 开发+项目经理 | 待执行 | + +--- + +## 七、风险与应急预案 + +### 风险1:完成率不达标 +- **触发条件**: 2026-07-26时完成率<50% +- **应急预案**: + - 主管团队每人认领2-3名员工,1对1催促 + - 开放"每日题+1次对练"任务包,完成即可算2次训练(加速达标) + - 必要时延长试点窗口至2026-08-07(+7天) + +### 风险2:真机能力不可用 +- **触发条件**: P0-2验证时iOS/Android某项能力失败率>50% +- **应急预案**: + - 语音失败 → 检查ASR/TTS接口配额,切换备用提供方或降级到纯文本 + - 上传失败 → 检查OSS配额,临时扩容或限制单日上传次数 + - 下载失败 → 降级为"复制链接"分享,用户自行浏览器打开下载 + - 字号/读屏失败 → 记录为P1缺陷,不阻塞试点(可访问性为增强项) + +### 风险3:越权拦截失效 +- **触发条件**: P0-1反例验证时,员工成功访问主管功能 +- **应急预案**: + - 立即下线生产环境,回滚至上一稳定版本 + - 修复路由守卫+后端权限校验,重新发布 + - 验证通过前,禁止员工账号登录(仅允许主管账号) + +--- + +**清单版本**: v1.0 | **最后更新**: 2026-07-18 02:45 | **下次更新**: 2026-07-19(P0-1执行后)