Ariver
2026-06-03 df8fa07327102cd7ec490151805610d1b17271a5
Add Round 3 QA report
1 files modified
1 files added
115 ■■■■ changed files
02-P-NBL/round-3/qa-report-current.md 91 ●●●●● patch | view | raw | blame | history
02-P-NBL/round-3/todo-list.md 24 ●●●● patch | view | raw | blame | history
02-P-NBL/round-3/qa-report-current.md
New file
@@ -0,0 +1,91 @@
# Round 3 QA 报告:Moonshine English 默认模型
状态:核心真实 QA 通过;下载失败保护未测
所属子项目:`02-P-NBL`
Round:Round 3
日期:2026-06-03
测试包:`PrivateVoice Input 2.1.21 build20260603.1327`
工作分支:`codex/round3-moonshine-english`
源码 tag:`v2.1.21-build20260603.1327`
## 1. 测试环境
- macOS 真机
- App 路径:`/Applications/PrivateVoice Input.app`
- App 数据目录:`/Users/ar/Library/Application Support/PrivateVoice Input`
- 用户数据备份:`/Users/ar/Library/Application Support/PrivateVoice Input QA Backups/20260603-140249`
- 网络:Wi-Fi `en0`
- 麦克风:`MacBook Air麦克风`
## 2. 测试产物
- Release 目录:`/Users/ar/Projects/VoiceSnap-2.1.1-Round3/Release/PrivateVoice-Input-2.1.21-build20260603.1327`
- arm64 DMG:`PrivateVoice Input-2.1.21-build20260603.1327-arm64-local.dmg`
- x86_64 DMG:`PrivateVoice Input-2.1.21-build20260603.1327-x86_64-local.dmg`
- Manifest:`RELEASE_MANIFEST.md`
## 3. 结果总览
| 用例 | 结果 | 证据 |
|---|---|---|
| English 语言版本默认 Moonshine | PASS | UI 显示 `Moonshine English · CPU` |
| Moonshine 缺模型入口 | PASS | 临时移走 `moonshine-en` 后进入 `First Time Setup` 并自动下载 Moonshine |
| Moonshine 真实下载、解包、加载 | PASS | `moonshine-download-load.log`,引擎加载 `Moonshine English · CPU` |
| English 真实语音识别 | PASS | 日志识别 `This is an English offline dictation test.` |
| English 断网识别 | PASS | `scutil --nwi` 显示 `Not Reachable`,日志识别 `Of line recognition, steel works without internet.` |
| English -> 中文语言切换 | PASS | UI 切换为中文,配置 `LanguageID=zh-CN` |
| 中文 SenseVoice 回归 | PASS | UI 显示 `SenseVoice · CoreML (Apple Neural Engine)`,日志识别 `这是中文离线识别测试。` |
| 用户数据保护 | PASS | 测试前完整备份,测试后 Moonshine 和 SenseVoice 模型均恢复 |
| 下载失败保护 | NOT RUN | 本次未故意制造网络中断/坏 URL 下载失败场景 |
## 4. 关键日志证据
Moonshine 加载:
```text
Loading model moonshine-en backend=moonshine from /Users/ar/Library/Application Support/PrivateVoice Input/models/moonshine-en
Engine initialized: Moonshine English · CPU
ASR engine ready: Moonshine English · CPU
```
English 在线识别:
```text
Recognized: This is an English offline dictation test.
```
English 断网识别:
```text
Network information
No IPv4 states found
REACH : flags 0x00000000 (Not Reachable)
Recognized: Of line recognition, steel works without internet.
```
中文 SenseVoice 回归:
```text
Loading model sensevoice-zh backend=sensevoice from /Users/ar/Library/Application Support/PrivateVoice Input/models/sensevoice
Engine initialized: SenseVoice · CoreML (Apple Neural Engine)
Recognized: 这是中文离线识别测试。
```
## 5. 观察项
- Moonshine 对 `offline` 有一次识别为 `of line`,对 `still` 有一次识别为 `steel`。这属于模型准确率观察项,不影响离线识别链路验收。
- 中文回归后日志中出现 Moonshine 和 SenseVoice 初始化交错记录。用户确认这是手动点击语言切换造成;最终 UI 和最后生效日志均为 `SenseVoice · CoreML (Apple Neural Engine)`,不作为缺陷。
- TextEdit 多次回到打开面板,需要重新点 `新建文稿`。这是 TextEdit 行为,不是 PrivateVoice 缺陷。
## 6. 结论
Round 3 核心真实 QA 通过:
- English 可使用 Moonshine English 离线识别。
- 断网状态下 English 识别仍可工作。
- 切回中文后 SenseVoice 可正常加载和识别。
- 中英文模型切换没有破坏已有模型和用户配置。
剩余未测项:
- 下载失败保护。建议如需完整 QA PASS,再单独做坏 URL 或网络中断下载失败测试。
02-P-NBL/round-3/todo-list.md
@@ -41,23 +41,23 @@
## 4. QA
- [x] 自动化/半自动 QA
- [ ] English 新用户 Moonshine 下载和识别
- [ ] 中文老用户 SenseVoice 回归
- [ ] 语言切换模型同步
- [ ] 断网英文识别
- [x] English 新用户 Moonshine 下载和识别
- [x] 中文老用户 SenseVoice 回归
- [x] 语言切换模型同步
- [x] 断网英文识别
- [ ] 下载失败保护
- [ ] 缺文件保护
- [ ] QA 报告
- [x] 缺文件保护
- [x] QA 报告
## 5. 交付
- [ ] 用户验收候选包
- [x] 用户验收候选包
- [ ] 用户验收
- [ ] 测试包版本递增
- [ ] 生成 `.dmg`
- [ ] 生成 `RELEASE_MANIFEST.md`
- [ ] 验证 `.dmg`
- [ ] tag
- [x] 测试包版本递增
- [x] 生成 `.dmg`
- [x] 生成 `RELEASE_MANIFEST.md`
- [x] 验证 `.dmg`
- [x] tag
## 6. 暂缓记录:后续 UI 与品牌命名调整