Files
xiaozhi-esp32-server/docs/unified-fastapi-platform/real-environment-handoff.md
T

91 lines
3.2 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.
# 真实环境测试交接
## 1. 何时交接
只有 [质量门禁](quality-gates.md) 的 RC 自动化退出条件全部满足,才进入本清单。以下情况不属于
真实环境阻塞,必须由开发阶段解决:
- 本地依赖无法安装或镜像无法构建。
- 虚拟设备协议不一致。
- Fake Provider 成功/错误/取消契约失败。
- 数据库、Redis、文件权限或配置广播失败。
- 缺少测试脚本、日志字段或复现步骤。
## 2. 外部资产
| 资产 | 最低要求 | 提供方 |
| --- | --- | --- |
| ESP32 | 至少一台生产使用型号;记录固件版本 | Hardware QA |
| 网络 | 局域网与公网 WSS;可控制弱网/断网 | Ops/QA |
| 模型凭证 | 实际计划启用的 ASR、LLM、TTS,必要时 VLLM | Service owner |
| MQTT/UDP | 受支持版本的 gateway、broker 和端口 | Integration/Ops |
| RAGFlow | 受支持版本、测试数据集和访问凭证 | Knowledge owner |
| 可选服务 | 短信、声纹、语音克隆、MCP、Memory | 对应服务 owner |
| 目标主机 | 计划上线的 CPU/GPU/架构、Docker/Compose 或编排平台 | Ops |
| 域名证书 | HTTPS/WSS 域名、证书和反向代理权限 | Ops |
凭证不得写入 Issue、PR、测试产物或仓库;通过部署环境的 Secret 管理提供。
## 3. 必测场景
### 设备与音频
- 首次启动、OTA、激活和绑定。
- WebSocket 鉴权和长连接保持。
- 唤醒、单轮/连续对话、打断、静音超时和重连。
- 真实麦克风、扬声器、AEC、Opus 帧节奏和中文/非中文语音。
- 弱网、高延迟、短时断网和服务滚动发布。
### Provider
- 每个计划启用 Provider 的成功、流式、空结果、超时、限流和凭证错误。
- ASR 音频格式、TTS 音频参数、LLM 工具调用及取消行为。
- 供应商控制台侧请求量、错误和费用符合预期。
### 外部集成
- MQTT/UDP 上下行音频与控制消息。
- RAGFlow 上传、解析、检索、删除和故障补偿。
- Vision 图片上传、鉴权、大小/格式限制和真实结果。
- 按实际启用范围验证短信、声纹、语音克隆、MCP 和通讯录呼叫。
### 部署
- 全新安装、已有数据升级、滚动发布和回滚。
- 非 root 文件权限、模型卷、上传卷和日志采集。
- API、realtime、jobs 独立健康与告警。
- 目标容量下的连接数、CPU/GPU、内存、带宽和响应时间。
## 4. 证据格式
每条真实用例记录:
```text
Case ID
日期/测试人:
硬件与固件:
服务版本/Commit
外部服务及版本:
网络与部署环境:
步骤:
预期:
实际:
日志/指标/录屏位置:
结果:Pass / Fail / Blocked
缺陷链接:
```
敏感字段在上传前脱敏。失败必须能关联到服务器会话 ID、设备 ID 的脱敏标识和时间窗口。
## 5. 上线判定
生产批准至少要求:
- 选定 ESP32/固件矩阵通过。
- 实际启用的 Provider 和外部集成通过,不要求未启用供应商全部真实联调。
- 目标环境升级与回滚演练通过。
- 没有 P0/P1 缺陷。
- 监控、告警、值守和回滚负责人明确。
未提供的外部能力应标记为“未验收/不可启用”,不得以自动化 Mock 结果改为 Pass。