项目:智能随访 — 可穿戴设备体征数据采集平台 版本:v5.06-v10

6.2 功能测试方法

以下为示例

6.2.1 手表数据上传测试

a. 测试对象

智能随访微信小程序 v5.06-v10 的"可穿戴设备体征数据采集与上传"功能。 涵盖蓝牙连接、患者门诊号绑定、体征数据采集、HTTPS 同步至云端 MySQL 数据库的端到端链路。

b. 测试目的

验证可穿戴智能手表(Veepoo S101)通过微信小程序采集患者体征数据后, 能否经由 HTTPS 同步至六元 MySQL 数据库(h6dp_suifang.wearable_device_data), 并按门诊号正确归属患者。

验证范围:

c. 测试设备
类别项目规格 / 数量
硬件 Veepoo S101 智能手表 BLE 4.0+,二类医疗器械注册证 × 1 块
测试手机 iOS 14+ 或 Android 12+,蓝牙 4.0+,已安装微信最新版 × 1 部
软件 微信小程序 "智能随访" v5.06-v10 体验版(已加入体验成员白名单)
后端服务 https://dc.ncrc.org.cn/api2 + 六元 MySQL h6dp_suifang
环境 网络 移动数据或 WiFi(可访问公网)
测试门诊号 形如 TEST_20260508_001(不与生产患者冲突)
d. 测试步骤
阶段一:环境准备
  1. 测试人员在手机微信中扫描"智能随访"体验版二维码,进入小程序。
  2. 确认小程序顶部右上角显示橙色"测试版 5.06-v10"角标。
  3. 确认手表已开机、电量 ≥ 20%、佩戴在测试人员手腕上贴合皮肤。
  4. 确认手机蓝牙已打开,且微信"附近的设备"权限已授权(Android 12+ 必须)。
阶段二:蓝牙连接
  1. 在小程序首页正中央可见圆形 ⌚ logo + "智能随访"标题,下方为白色虚线状态卡("○ 未连接设备 / 请连接您的智能手表")。
  2. 点击底部蓝色大按钮"🔍 连接智能手表",跳转至"设备扫描"页。
  3. 等待 5–10 秒,扫描列表中应出现 S101 设备名 + MAC 地址(形如 9B:B8:07:E6:E6:EE)。
  4. 点击列表中目标 S101 设备项,开始连接(约 5 秒)。期间可见"连接中"提示。
  5. 连接成功后自动跳回首页:状态卡变为绿色渐变,显示"✓ 智能手表 · 电量 XX%",卡片右上有白色脉冲圆点。
  6. 状态卡下方应显示绿色 ●"数据自动同步中"闪烁指示。
阶段三:患者门诊号绑定(高级模式)
  1. 在首页 3 秒内连续快速点击顶部圆形 ⌚ logo 共 5 次,触发隐藏的管理员入口。
  2. 点击成功后弹出 toast:"已切换至高级模式",下方页面延伸出"— 管理员功能 —"分隔线。
  3. 分隔线下出现红色警示条"⚠ 未输入门诊号, 数据无法归属患者"。
  4. 点击红条右侧"输入门诊号"按钮,弹出输入框。
  5. 在输入框填入测试门诊号 TEST_20260508_001,点击"确定"。
  6. 红条变为蓝色:"当前患者 · 门诊号 TEST_20260508_001" + "切换患者"按钮。
阶段四:体征数据采集
  1. 在手表侧键长按 1 秒唤醒手表,进入主菜单。
  2. 选择"血压"测量项,等待手表完成测量(约 30 秒),表盘显示结果(例:120/80 mmHg)。
  3. 重复测量"心率"(自动监测)、"血氧"(自动 + 手动)、"体温"(约 10 秒)。
  4. 每完成一次测量,手机端首页"数据自动同步中"指示应短暂加速闪烁,表示有新数据上传。
  5. 若需测多名患者:点击高级模式中"切换患者"按钮 → 输入新门诊号(例如 TEST_20260508_002) → 让另一位测试者佩戴同一手表,重复采集。
阶段五:服务端数据验证
  1. 在测试电脑(任何可访问公网的设备)打开终端 / PowerShell / 浏览器开发者工具,执行以下查询:
  2. 通过 curl 查询:
    curl -s "https://dc.ncrc.org.cn/api2/api/data?patientNo=TEST_20260508_001" | python3 -m json.tool
  3. 检查响应 JSON 应包含:
    • count: 大于 0 的整数(有命中记录)
    • records[0].deviceId: 已分配的设备主键(形如 9
    • records[0].data: 含 "血压" / "心率" / "血氧" / "体温" 等键,每个键对应数组
    • 每条数据记录应含字段:"门诊号": "TEST_20260508_001""采集时间"(ISO 8601)、"上传时间"(ISO 8601)
  4. 核对采集时间与手表上的实际测量时间相差应 ≤ 5 秒(北京时间 = UTC + 8)。
  5. 如测试了多名患者,重复查询第二个门诊号 ?patientNo=TEST_20260508_002,应仅返回第二名患者的记录,不与第一名混淆。
  6. 整理测试记录(手机截图、终端输出、JSON 响应),编写测试报告。
e. 通过判定标准
判定项通过标准
蓝牙连接成功率 10 次连接 ≥ 9 次成功(≥ 90%)
数据完整性 数据库每条记录 采集时间上传时间 字段均非空,时序正常
数据归属正确性 服务端记录的 门诊号 与小程序输入完全一致,无错号
多患者隔离 ?patientNo= 查询返回结果仅包含该门诊号数据
数据上传时延 从手表完成测量到云端 API 可查询 ≤ 60 秒
离线兜底 关闭小程序前台 5 分钟后重新打开,pending 队列数据自动重传成功
说明:本测试为功能验证,不评估性能(如吞吐量、并发连接、长时间稳定性)。 性能测试需另行设计。
f. 测试记录与备注
注意:本文档涉及的接口 https://dc.ncrc.org.cn/api2 为生产环境,请勿对真实患者数据执行删除等破坏性操作。 仅以 TEST_ 前缀的测试数据进行验证。