# 测试与验收标准

基于 `软件系统说明.docx` 整理。本文档用于给后续研发和联调提供测试与验收的最小框架。

当前仓库没有源码、测试配置或 CI，因此本文档只定义应覆盖的测试范围和待确认项，不编造执行命令。

## 当前测试目标

基于说明文档，第一阶段测试至少需要覆盖四条主链路：

- 小程序登录与设备绑定
- BLE 连接、佩戴确认、自动扫描、开始治疗
- 云端护理记录同步与查询
- 后台用户、设备、订阅、治疗记录查询

## 建议测试分层

### 1. 设备与 BLE 联调测试

至少应覆盖：

- 扫描设备
- 连接设备
- 读取设备信息
- 佩戴确认
- 自动扫描
- 开始治疗
- 治疗中断与断连重连
- OTA 基础链路

当前缺失：

- 设备模拟方案
- BLE 协议明细
- 测试数据与预期结果

### 2. 云端接口测试

至少应覆盖：

- 微信登录
- 设备绑定/解绑
- 订阅状态查询
- 试用订阅发放
- 护理记录同步
- 治疗记录查询

当前缺失：

- API 契约
- 错误码规范
- 鉴权策略

### 3. IoT 与 MQTT 联调测试

至少应覆盖：

- 设备接入 IoT Hub
- telemetry 上报
- event 上报
- 云端消息处理
- 护理记录异步写入
- 异常重试

当前缺失：

- payload 结构
- 设备注册流程
- 重试与死信规则

### 4. 小程序端到端测试

至少应覆盖：

- 首次使用流程
- 日常使用流程
- 治疗记录同步
- 试用到期后的表现
- 网络异常、蓝牙异常、同步失败等异常流

当前缺失：

- 页面行为定义
- 状态机细节
- 异常流规则

### 5. 后台功能测试

至少应覆盖：

- 用户查询
- 设备查询
- 绑定关系查询
- 订阅管理
- 治疗记录查询
- 操作日志查询

当前缺失：

- 页面字段
- 权限矩阵
- 统计口径

## 建议验收主链路

第一阶段验收建议围绕以下主链路：

1. 新用户扫码并完成设备绑定
2. 绑定后自动获得 7 天试用
3. 小程序成功连接设备并完成佩戴确认
4. 自动扫描成功并开始治疗
5. 治疗完成后记录可在云端查询
6. 管理后台可查询用户、设备、订阅、治疗记录

## 建议异常流验收项

至少需要定义以下异常流是否通过验收：

- 蓝牙授权被拒绝
- 找不到设备
- 设备断连
- 设备已绑定他人
- 订阅失效
- 治疗中断
- 云端同步失败
- IoT 上报失败

## 建议验收模板

后续可按如下模板逐项编写测试用例：

| 用例名称 | 前置条件 | 操作步骤 | 预期结果 | 备注 |
| --- | --- | --- | --- | --- |
| 待定义 | 待定义 | 待定义 | 待定义 | 待定义 |

## 建议先补齐的测试前提

后续执行测试前，至少需要先明确：

- 是否存在设备测试机和模拟器
- 开发、测试、生产环境的联调边界
- 测试账号准备方式
- 测试数据初始化方式
- 日志排查入口
- 故障复现与回归流程

## 待确认问题

- 小程序是否有最低微信版本要求
- 设备联调是否依赖特定手机机型
- 护理记录异步写入的最终一致性验收口径是什么
- 后台导出是否属于第一阶段验收范围

## 当前结论

当前说明已经足够定义测试范围，但还不足以编写可执行测试用例。最先要补的是 BLE 协议、API 契约、状态机和验收口径。
