14 KiB
P0 试点验收模板
用途:每个正式试点窗口的执行清单。2026-07-18 的旧名单、旧时间窗和固定码说明不再在仓库留存;需要追溯时查 Git 历史。
当前范围和完成定义以 AI陪练完整交付计划 为准,生产发布/回归以 BRD 生产迁移 Runbook 为准。本模板不能将本地开发固定验证码、seed 或测试账号写成正式试点证据。
一、试点批次与角色清单
在启动窗口前由项目负责人在受控系统登记项目、起止日、负责人和测试账号;本仓库只保留角色要求,不保存姓名、手机号、验证码或 token。
| 验收角色 | 最小数量 | 必须具备的能力 |
|---|---|---|
| 员工正例 | 1 | 当前项目在职、可完成训练与每日题 |
| 主管正例 | 1 | 当前项目带教范围、可查看复盘并派发专项 |
| 员工越权反例 | 1 | 无主管权限,用于验证主管页与写接口均被拒绝 |
| Android App-Plus 真机样本 | 2 | 一台 Android 10 基线机型和一台当前主流机型,均安装本批同一签名 APK |
| iOS App-Plus 真机样本 | 0 或 2 | 仅当本批明确包含 iOS 原生包时启用;不得拿 H5 Safari 代替原生包验收 |
| H5 兼容样本 | 0 或 2 | 仅当本批包含 H5 发布时启用;iOS Safari 与 Android Chrome 各一台,不与 App-Plus 结果合并 |
试点批次:<项目名称>
统计窗口:<YYYY-MM-DD> 至 <YYYY-MM-DD>
本批交付面:Android App-Plus / iOS App-Plus / H5(逐项勾选;未勾选的交付面不得写入通过结论)
版本证据:APK version/versionCode/SHA-256、后端 JAR SHA-256、管理端/H5 构建哈希、schema 预检结果、回滚点
内容负责人 / 业务审核人 / 试点负责人:<在受控系统登记>
二、P0-1 正式 OTP 权限正反例
登录验收
使用生产短信 OTP 的实际流程,先触发获取验证码再登录。获明确风险批准的固定码试点可验证功能链路,但不能作为生产安全验收;手机号码和验证码仅留在受控测试系统,不能写入本文件、截图或提交记录。
正例:员工端登录流程
- 员工正例账号(当前项目一线员工)→ 输入手机号 → 获取验证码 → 完成正式 OTP → 登录成功
- 自动跳转"同步岗位"页 → 匹配成功(岗位:保洁员,职级:一线) → 自动跳转"每日安排"(today页)
- 底部tabBar显示:每日安排、对练、问师傅、我的(4个tab,无主管工作台)
- "我的"页显示:岗位=保洁员,无"进入主管工作台"按钮
正例:主管端登录流程
- 主管正例账号(当前项目主管/项目经理)→ 输入手机号 → 获取验证码 → 完成正式 OTP → 登录成功
- 自动跳转"同步岗位"页 → 匹配成功(岗位:项目经理,职级:项目经理) → 自动跳转"主管工作台"(supervisor/index页)
- 顶部显示:工作台、指派、团队、复盘(4个主管tab)
- "我的"页有"进入学员模式"按钮
正例:主管切换学员模式
- 主管正例账号 → 登录主管工作台 → 点击"我的" → "进入学员模式"
- 跳转至员工端"每日安排"页,底部tabBar变为员工侧4个tab
- 左上角显示"当前为学员模式" + "返回主管工作台"按钮
- 点击"返回主管工作台" → 跳回主管工作台,岗位身份未改变(仍为主管)
权限正例:主管功能访问
-
主管正例账号 → 主管工作台 → 点击"指派" → 进入派发专项页
-
支持多选团队成员(≤100人),显示当前项目在职成员列表
-
快捷日期选择器显示:当天、明天、3天内、7天内
-
场景下拉框显示已启用场景(如生活顾问等)
-
"派发"按钮可用,点击后显示loading → 成功提示"已派发给X人"
-
主管正例账号 → 主管工作台 → 点击"考试" → 进入考试管理页
-
点击"创建考试" → 输入考试标题、选择岗位、添加题目 → "发布"按钮可用
-
发布后显示"已发布" → 返回考试列表,新考试出现在列表中
-
主管正例账号 → 主管工作台 → 点击"团队" → 显示团队成员列表
-
列表显示成员姓名(非编号)、岗位、最近训练时间
-
点击某成员 → 进入成员详情页,显示训练记录、得分趋势
权限反例:越权访问拦截
- 员工越权反例账号(无主管权限)→ 手动构造URL访问
/pages/supervisor/index→ 被路由守卫拦截,跳转回员工端today页,显示toast"无权访问" - 员工越权反例账号 → 手动构造URL访问
/pages/supervisor/assign/index→ 被拦截,提示"无权访问" - 员工越权反例账号 → 手动构造URL访问
/pages/supervisor/exams/index→ 被拦截,提示"无权访问" - 验证后端接口:用员工token调用
/api/aihr/mobile/practice/assignments/batch(派发接口) → 返回403或业务错误"权限不足"
每日题去重与轮换
- 员工正例账号 → 连续7天登录 → 每天查看"每日安排"的每日题
- 记录每天的3道题目(题面/场景),验证:
- 7天内无重复题面(即使同一场景)
- 同一天刷新页面,题目不变(确定性)
- 次日00:00后刷新,题目切换为新的一批
三、P0-2 真机能力验收
设备矩阵:
- 当前 Android 正式试点:同一签名 APK 至少覆盖 Android 10 基线机型和一台当前主流机型;所有 App-Plus 项目均在这两台设备执行。
- 本批包含 iOS 原生包时:同一签名包至少覆盖 iOS 15 基线机型和一台当前刘海或灵动岛机型;结果独立记录。
- 本批包含 H5 时:另用 iOS Safari 和 Android Chrome 各一台执行 H5 兼容验收;微信内置浏览器仅在业务明确要求时加入,不代替系统浏览器或原生包。
- 每条证据必须记录交付面、设备型号、系统版本、应用版本和结果;不得把一个交付面的成功外推到另一个交付面。
语音输入与播报
- 真机体验样本 → 问师傅页 → 点击麦克风图标 → 允许麦克风权限
- 说话5秒("今天客户投诉了停车费问题怎么处理") → 停止录音 → 文本框自动填入识别后的文字
- 点击"搜索" → 等待回答 → 点击"播报"按钮 → 听到TTS语音播报回答内容
- 首次拒绝麦克风权限 → 页面明确提示可再次授权或改选音频,不启动录音;再次点击仍可申请权限
- 选择“以后不再询问”后再次点击麦克风 → 页面明确引导到系统设置,不反复弹出无效授权框
- 真机验证降级:飞行模式 → 点击"播报" → 检查是否降级到浏览器
speechSynthesis(iOS Safari可能无声,属已知限制) - 真机验证录音兜底:长按5秒说话但ASR接口超时 → 检查是否显示"选择音频文件"兜底选项
- 系统音频/附件选择器取消 → 页面安静回到可操作状态,不显示失败;选择器权限或读取失败 → 显示稳定中文错误并可重试
- 弱网或接口超时 → 当前请求终止、loading 结束、原输入保留;恢复网络后可重试且不重复提交
- 会话过期返回 401 → 清理旧登录态并回到登录页;完成 OTP 重登后返回原业务页,403 业务拒绝不得误退出
- 录音、转写、播报或附件选择期间切到后台再回前台 → 不残留播放/录音/loading;系统权限页和文件选择器返回时不得误取消当前选择
图片/视频上传
-
真机体验样本 → 问师傅页 → 点击"上传图片"图标 → 从相册选择一张图片(≤10MB)
-
页面显示图片预览缩略图 + "仅用于本次现场分析"提示
-
输入问题"这个地方怎么清洁" → 点击"搜索" → 回答中包含对图片内容的分析
-
真机体验样本 → 问师傅页 → 点击"上传视频"图标 → 从相册选择一段视频(≤100MB,<30秒)
-
页面显示视频预览 + "仅用于本次现场分析"提示
-
输入问题"这个操作对吗" → 点击"搜索" → 回答中包含对视频内容的分析
总结卡下载
- 真机体验样本 → 完成一次对练 → 查看训练总结页
- 点击"下载总结卡"按钮 → loading状态显示
- iOS:检查是否弹出系统分享菜单,选择"存储图像" → 打开相册验证PNG图片已保存
- Android:检查是否弹出下载确认,点击"下载" → 打开文件管理器验证PNG图片已保存到Downloads目录
全局字号三档
- 真机体验样本 → 登录员工端 → 点击"我的" → 点击"字体大小"
- 选择"标准" → 返回today页,目测卡片标题、正文字号正常(16px/14px左右)
- 再次进入"字体大小" → 选择"大" → 返回today页,目测字号明显增大(约1.12倍)
- 再次进入"字体大小" → 选择"超大" → 返回today页,目测字号最大(约1.25倍)
- 退出重新登录 → 字号设置仍为"超大",验证持久化
- 真机验证:切换到"超大"后,依次访问:问师傅页、对练页、问题榜页、我的页 → 所有页面字号同步放大,无遗漏页面
键盘与读屏(可访问性)
- iOS VoiceOver开启 → 登录员工端 → 双击"每日安排"tab → 听到"每日安排,已选中"
- 滑动到卡片 → 听到卡片标题朗读
- Android TalkBack开启 → 登录员工端 → 双击"问师傅"tab → 听到"问师傅,已选中"
- 外接蓝牙键盘 → Tab键可切换焦点,Enter键可激活按钮
四、P0-3 严格试点窗口统计
试点窗口: 以本批已登记的起止日期为准 完成定义: 每人≥10次训练(对练 + 每日题,不含问师傅单次查询) 样本目标: 20人完成,≥80%完成率
训练量统计
- 以正式 CSV 导出记录当前已完成人数、试点总人数和完成率,不把 seed 或旧批次数据计入
- 窗口结束前 5 天复查:已完成人数/目标20人,完成率是否≥80%
- 若完成率<80%,召集主管催促:每位主管至少带2名员工完成10次训练
人工校准样本
- 目标:20份对练录音 → 主管先打分 → AI再打分 → 对比分差
- 窗口结束前 7 天复查:已收集校准样本数/20,AI-人工分数段一致率是否≥70%
SOP评审样本
- 目标:问师傅回答可用率≥80%
- 以本批已签字样本计算可用率,不沿用历史样本结论
- 窗口结束时再抽查20份问师傅记录,验证可用率稳定在80%+
满意度收集
- 窗口结束后1周内,向所有完成≥10次训练的员工发放满意度问卷
- 收集维度:功能易用性、语音识别准确度、AI回答质量、对实际工作的帮助
- 目标:≥15份有效问卷,平均满意度≥4/5分
五、验收通过标准
P0-1 权限正反例
- 员工/主管/项目经理登录流程100%通过
- 主管切换学员模式往返正常,岗位身份不可伪造
- 主管功能(派发/考试/团队)访问正常
- 员工越权访问主管功能被拦截,3个反例全部拦截成功
P0-2 真机能力
- Android App-Plus 两台设备均完成语音录音、ASR、TTS、图片/视频/文档、受控下载、字号持久化和前后台恢复
- Android TalkBack 和外接键盘至少在一台设备完成核心路径验证
- 若本批包含 iOS App-Plus,两台 iOS 设备执行同一能力矩阵,并另行完成 VoiceOver 验收
- 若本批包含 H5,iOS Safari 与 Android Chrome 各完成一次同等 H5 能力矩阵;结果不得与 App-Plus 合并
- 文件和媒体失败时只允许重新鉴权后重试或回到受控在线内容,不产生可复制、长期复用的原文件链接
P0-3 严格试点窗口
- 窗口结束时,完成率≥80%(≥16人完成≥10次训练)
- 人工校准样本≥20份,AI-人工分数段一致率≥70%
- SOP评审可用率稳定在≥80%
- 满意度问卷≥15份,平均≥4/5分
六、验收执行时间表
| 相对时间 | 里程碑 | 责任人 | 状态 |
|---|---|---|---|
| 窗口开始前 | P0-1权限正反例全部验证 | 开发+测试 | 待执行 |
| 窗口开始前 | P0-2 按本批交付面执行设备矩阵;Android App-Plus 固定 2 台 | 测试 | 待执行 |
| 窗口中点 | P0-3中期检查(完成率/校准样本) | 项目经理 | 待执行 |
| 窗口结束前 5 天 | P0-3末期检查(完成率冲刺) | 主管团队 | 待执行 |
| 窗口结束日 | 统计最终数据 | 项目经理 | 待执行 |
| 窗口结束后 7 天 | 满意度问卷收集完成 | 项目经理 | 待执行 |
| 问卷完成后 | P0验收报告输出 | 开发+项目经理 | 待执行 |
七、风险与应急预案
风险1:完成率不达标
- 触发条件: 窗口结束前 5 天完成率<50%
- 应急预案:
- 主管团队每人认领2-3名员工,1对1催促
- 开放"每日题+1次对练"任务包,完成即可算2次训练(加速达标)
- 必要时经业务负责人批准延长窗口,并重新登记起止日期
风险2:真机能力不可用
- 触发条件: P0-2验证时iOS/Android某项能力失败率>50%
- 应急预案:
- 语音失败 → 检查ASR/TTS接口配额,切换备用提供方或降级到纯文本
- 上传失败 → 检查OSS配额,临时扩容或限制单日上传次数
- 下载失败 → 重新鉴权后重试或回到受控在线内容;不得复制原文件地址、OSS 地址或长期下载链接
- 字号/读屏失败 → 记录为P1缺陷,不阻塞试点(可访问性为增强项)
风险3:越权拦截失效
- 触发条件: P0-1反例验证时,员工成功访问主管功能
- 应急预案:
- 立即下线生产环境,回滚至上一稳定版本
- 修复路由守卫+后端权限校验,重新发布
- 验证通过前,禁止员工账号登录(仅允许主管账号)
模板状态: 等待本批项目、窗口、受控测试身份和业务审核人登记;具体完成事实只回写到对应试点报告与 BRD_IMPLEMENTATION_AUDIT.md。