BLE OTA兼容验收怎么做?覆盖旧App、已绑定手机和固件回退
干净手机连接新固件成功,不能证明老用户升级顺利。用户可能保留旧App、绑定、发现结果和订阅历史。BLE OTA验收需要保留这些条件,再验证产品承诺的业务操作。以下给出测试与留证框架;矩阵均为待执行用例,不包含虚构的成功率、耗时或兼容认证。
先声明支持的版本和历史状态
列出支持的手机型号、系统构建、App版本、硬件版本和固件迁移路径。“旧App”必须对应具体发布号,至少覆盖最老受支持版本,以及解析器或连接管理明显变化的中间版本。对不支持组合,也应保留与用户体验有关的拒绝行为检查。
历史状态单独定义:首次安装、曾连接但未绑定、升级前已绑定、断开前已订阅,或从App自身存储恢复。注明每份状态由哪一端保留。用例起点是这些历史,而不仅是固件号。缓存机制有适用条件,参见Bluetooth Core 6.3 GATT §2.5.2,不能假定所有手机行为相同。
将承诺写成可执行动作,例如受支持的旧客户端无须清理用户状态,就能读取原测量值并完成授权设置修改。
设计最小而有覆盖的交叉矩阵
既不要只测最新手机,也不要无条件声称覆盖全部笛卡尔积。依据协议变化、实际用户群及失败后果选择必测交叉点。低风险维度可以裁剪,但不能删掉已知高风险组合,例如旧App、变化数据库与保留绑定同时存在。
| 用例族 | 必须保留的历史 | 通过目标 |
|---|---|---|
| 受支持旧App→新固件 | 既有发现、绑定及业务订阅 | 旧操作含义不变 |
| 新App→受支持旧固件 | 已知设备及能力记录 | 正确降级功能 |
| 新App→新固件 | 分别覆盖干净与保留历史 | 新旧业务均可用 |
| 手机离线期间升级 | 旧固件留下的绑定和App状态 | 首次重连恢复业务 |
| 允许的固件回退 | 新固件曾产生的状态 | 正确解释恢复后的契约 |
| 不支持版本组合 | 真实用户历史 | 明确拒绝,无意外控制 |
被裁剪的组合要注明理由和风险负责人。手机使用相同蓝牙芯片,并不足以证明软件栈等价。没有目标机型时,应保留覆盖缺口,不要用推测替代实机结果。
为每条用例保存升级前的真实状态
通过真实App建立旧状态:发现服务、达到产品所需安全条件、完成已知读取、启用业务订阅。保存返回的服务列表、选中的特征引用、可观察的CCCD状态及可识别的数据序列。先证明旧版本基线正常,再进入升级。

- 分配用例号,记录全部版本和预期初始历史。
- 保存旧固件业务操作证据及数据库清单。
- 沿真实受支持路径升级,保留规定的手机与设备状态。
- 第一次连接不清App数据、不删除绑定。
- 先归档,再把任何恢复动作作为独立实验记录。
调试器烧录可能擦除设置或改变启动路径。如果用于准备环境,应记录影响;放行承诺仍需经过实际生产升级路径。
把重新发现和业务恢复写成通过条件
通过条件必须超过“已连接”。发现结果应包含正确服务实例和必需特征;读取要验证长度、单位、符号与有效性;允许的写入要产生规定效果及执行证据;通知要在预先声明的观察窗口内恢复,并满足内容和顺序策略。
Android API 31及以上可依据onServiceChanged官方说明捕获变更回调、发现完成及App引用替换。其他受支持平台使用其公开流程,不能统一要求出现这一Android回调。
恢复期限应来自产品要求,并在执行前确定起止事件和排除条件。从发现已经完成之后开始计时,无法代表总恢复时间。还要检查拒绝路径:不支持或未授权命令不得改变被控状态,并应向用户给出明确反馈。
验证中断和允许回退后的状态一致性
覆盖手机离线期间升级、重启后首次连接、App从后台恢复,以及迁移时被中断的业务事务。对已发出的命令,预先规定取消、完成或状态不确定的处理。不能因为重连成功就自动重放可能重复执行的控制命令。
只有bootloader、安全版本策略和产品支持政策允许时,才能执行固件回退。用例从新固件产生的状态开始,结束于旧契约;核对能力、订阅、App持久数据及授权操作是否一致。明确禁止的回退不纳入执行计划,其拒绝路径另行验证。
这里验收GATT及App状态,不覆盖镜像传输、签名验证或通用掉电回退安全。已有多传感器BLE网关容量测试同样属于不同负载问题,不能用本矩阵替代。
用证据包记录失败而非只写通过
每次运行记录用例号、初始状态证据、手机与系统、App构建、固件哈希、数据库、操作、预期、观察、时间戳、日志、抓包、清理及结论。相关证据未取得前,结果应标为“未执行”。下一次成功也应保留前一次失败资料。
失败包应把第一处异常关联到前一处成功边界。用共同事件标记对齐App、设备以及可取得的HCI或空口记录,注明缺失层和时钟误差。向授权团队之外分享前应脱敏身份与业务载荷,但保留解释根因所需的状态。
删绑定后恢复时,分别保留原用例失败与绕行成功。原始证据交给缓存和绑定排查流程,不能用一次绿色重测覆盖真正需要验收的历史路径。
制定发布阻断条件和回归入口
测试前商定发布阻断条件。建议包含错误控制动作、测量值静默误读、受支持路径上的不可恢复安全状态,以及必要功能无法按承诺恢复。外观问题和命令含义改变不应被归入同一个没有区分的“轻微缺陷”。
修复后回到原失败历史,再覆盖邻近高风险组合,并检查实现仍符合已声明GATT兼容契约。报告实测样本数、未修缺陷、未测组合和批准例外。选定机型通过,只能证明已声明范围,不能称全平台兼容或认证。
准备Obeita兼容性评估时,提供目标手机群、App与固件支持清单、回退政策和关键业务操作。这些输入能形成具体放行判断,无须先编造成功率或耗时。