跳到主要内容

真机测试手册

手表心率采集、时钟同步、云同步的端到端真机验证步骤。所有手表采集代码为首次真机测试,需重点关注。

前置条件

项目要求
Android 手机已安装 BlinkLife 最新 debug 版
WearOS 手表已安装 blinklife-wear 并配对(或 watchOS + Apple Watch)
用户登录已通过微信登录(用于同步验证)
后端部署api.blink-life.cn 已部署含 archive API 的最新版本
调试工具flutter logs 或 Android Studio Logcat,过滤 [Review] 标签

测试 1: 手表心率采集

步骤

  1. 确认手表已连接(首页或录制页显示手表状态)
  2. 进入录制页,选择任意运动类型
  3. 开始录制,同时观察手表 UI 是否显示心率数值
  4. 录制过程中打 5-10 个事件
  5. 录制 至少 3 分钟(确保有足够心率样本)
  6. 正常停止录制

验证点

#检查项如何验证合格标准
1.1手表 UI 显示当前心率手表屏幕观察数值在 40-200 范围,实时更新
1.2心率数据传回手机Logcat 搜索 sensor_batch每 30 秒看到一批传输日志
1.3录制结束统计日志Logcat 搜索 [Review] 录制结束统计心率采样数大于 0,覆盖率大于 50%
1.4复盘页心率趋势进入复盘页 → 查看心率曲线曲线存在且趋势合理

异常场景

场景操作预期
手表未授权 HealthKit/传感器拒绝权限弹窗心率质量=unavailable,复盘页隐藏心率模块
录制中手表断连关闭手表蓝牙 30 秒后恢复心率有缺失区间,QualityState 降级

测试 2: 时钟同步

步骤

  1. 开始录制(触发 requestTimeSync
  2. 查看 Logcat 中 [WatchService] 时钟同步完成 日志

验证点

#检查项合格标准
2.1偏移值存在日志中 偏移: Xms 有值
2.2偏移范围合理绝对值小于 5000ms(5 秒)
2.3录制结束统计中有偏移时钟偏移=Xms(非"未同步")

测试 3: 云同步

步骤

  1. 确认用户已登录
  2. 完成一次录制(含心率数据)
  3. 等待 5 秒(自动触发 syncRecording
  4. 查看 Logcat 搜索 [RecordingSyncService] 同步成功

验证点

#检查项如何验证合格标准
3.1payload 包含传感器聚合Logcat 搜索 payload 内容avgHeartRate/maxHeartRate 有值
3.2后端存储成功curl -H "Authorization: Bearer TOKEN" https://api.blink-life.cn/api/v1/recordings返回记录含 avgHeartRate
3.3删除后归档在回放页删除记录 → 检查云端GET /recordings 不返回该记录

测试 4: 端到端链路

步骤

  1. 连接手表 → 开始录制 → 打 5+ 个事件 → 3 分钟 → 停止录制
  2. 进入回放页 → 更多菜单 → 查看复盘
  3. 复盘页:确认总览卡/事件分布/心率趋势/AI 摘要 均正确
  4. 点击 AI 摘要中的"查看片段" → 确认回放页跳转到正确位置
  5. 返回复盘页 → 推荐片段点击"去剪辑" → 确认回放页预选事件
  6. 删除记录 → 确认云端已归档

合格标准

  • 复盘页 5 个模块全部渲染,无崩溃
  • 跳转回放页偏移在 ±3 秒以内
  • AI 摘要包含数据来源标注
  • 剪辑预选进入多选模式

已知限制

限制说明
速度/距离数据手表端未实现 GPS/计步器采集,复盘页总览卡不显示速度/距离
心率图负荷色带负荷区段数据已生成但 UI 未叠加
集合浏览需从推荐片段列表进入(当前仅单锚点跳转,集合模式需手动构造)

故障排查

症状可能原因排查步骤
心率采样数=0手表权限未授权检查手表设置→应用权限→身体传感器
时钟偏移="未同步"requestTimeSync 未收到响应检查手表是否可达(isWatchConnected
同步失败后端未部署最新版检查 PUT /recordings/:id/archive 是否 404
复盘页空白jsonPath 为空检查录制保存日志