# Round 4 QA 测试计划:Parakeet English 高级模型 状态:v0.1 QA 计划稿 所属子项目:`02-P-NBL` Round:Round 4 日期:2026-06-03 输入文档: - [`prd.md`](prd.md) - [`engineering-tasks.md`](engineering-tasks.md) ## 1. QA 目标 证明 Parakeet 作为 English 高级模型可以被用户主动下载、安装、选择、识别,并且不会破坏 Moonshine 默认路径和中文 SenseVoice 路径。 ## 2. 必测范围 - `parakeet-en` profile。 - Parakeet required files 校验。 - Nemo transducer backend builder。 - 模型选择服务 API。 - English 设置页模型选择 UI。 - Parakeet 下载、加载、断网识别。 - Moonshine <-> Parakeet 切换。 - 中文 SenseVoice 回归。 - 下载失败保护。 - 用户数据保护。 ## 3. 不测范围 - Qwen3-ASR。 - 欧洲语言 UI。 - 正式签名和 notarization。 - Parakeet 多变体对比。 - 删除模型 UI,除非研发本轮实现。 ## 4. 测试矩阵 | ID | 场景 | 前置条件 | 期望结果 | |---|---|---|---| | R4-QA-001 | Parakeet profile | 查询 `parakeet-en` | profile 存在,backend=`nemo_transducer` | | R4-QA-002 | required files 完整 | 四个 required files 存在 | 校验通过 | | R4-QA-003 | required files 缺失 | 删除任一 required file | 校验失败 | | R4-QA-004 | English 默认模型 | auto + English | current model 仍为 `moonshine-en` | | R4-QA-005 | English 模型列表 | English 设置页 | 显示 Moonshine 和 Parakeet | | R4-QA-006 | Parakeet 未安装 | 点击 Parakeet | 提示下载,不能直接使用 | | R4-QA-007 | Parakeet 下载 | 联网 | 下载、解压、校验成功 | | R4-QA-008 | Parakeet 加载 | Parakeet 已安装 | engine ready 显示 `Parakeet English · CPU` | | R4-QA-009 | Parakeet 英文识别 | Parakeet ready | 英文可识别 | | R4-QA-010 | Parakeet 断网识别 | 断网 | 英文仍可识别 | | R4-QA-011 | Parakeet 切回 Moonshine | 两模型均安装 | Moonshine ready | | R4-QA-012 | Moonshine 切回 Parakeet | 两模型均安装 | Parakeet ready | | R4-QA-013 | 中文回归 | 切到中文 | SenseVoice ready,中文可识别 | | R4-QA-014 | 下载失败保护 | 坏 URL/坏包 | 不破坏 Moonshine/SenseVoice | | R4-QA-015 | 旧用户数据保护 | 有 userdict/history | 数据不丢 | | R4-QA-016 | 重启持久化 | 选择 Parakeet 后重启 | 仍为 Parakeet,除非用户切回 auto/default | ## 5. 自动化测试建议 后端: - `GetModelProfile("parakeet-en")` - `ValidateModelDir(parakeet-en)` - `NewWithResolvedModel` backend dispatch - `SelectModel` - `DownloadModelByID` - 未安装模型选择失败 - 下载失败不破坏已有模型 命令: ```bash cd privatevoice.src go test ./... -count=1 ``` 前端: ```bash cd privatevoice.src/frontend npm run build ``` ## 6. 手工 QA 步骤 ### 6.1 English 升级 Parakeet 1. 备份真实 App Support。 2. English 状态启动 App。 3. 确认当前 engine 为 Moonshine。 4. 在模型区域点击 Parakeet。 5. 确认 UI 显示下载大小和下载进度。 6. 下载完成后确认 engine 为 Parakeet。 7. 说英文短句,确认上屏和 history。 ### 6.2 断网 Parakeet 1. Parakeet ready。 2. 断开 Wi-Fi。 3. 说英文短句。 4. 确认识别成功。 5. 恢复网络。 ### 6.3 切回 Moonshine 1. Parakeet ready。 2. 点击 Moonshine。 3. 确认 engine 变为 Moonshine。 4. 说英文短句。 ### 6.4 中文 SenseVoice 回归 1. 切回中文。 2. 确认 engine 为 SenseVoice。 3. 说中文短句。 4. 检查识别结果。 ## 7. QA PASS 标准 - R4-QA-001 到 R4-QA-016 全部通过,或失败项有明确非阻断说明。 - Parakeet 是可选高级模型,不改变 English 默认 Moonshine。 - 中文 SenseVoice 核心路径不退化。 - QA 报告记录版本、build、commit、测试包、日志和关键证据。