边角料 蓝牙| 测试基础

Kate · 2020年03月29日 · 最后由 ehco233 回复于 2020年12月18日 · 6161 次阅读

蓝牙测试基础 2019-11-14

蓝牙的背景

蓝牙相关的测试产品,例如蓝牙音箱、蓝牙手环、蓝牙耳机、蓝牙灯等消费类电子产品。小编曾经进行蓝牙测试,特此分享经验,不当之处,欢迎纠正。

蓝牙作为一种近距离的无线传输技术,功率低,从蓝牙 1.0 到蓝牙 5.0,满足用户在给定距离范围内(一般 10 米)快速和安全数据或语音传输要求,所以被大量的集成到给中设备上。

蓝牙测试相关技术点

蓝牙 - 中心模式

* 建立中心
* 扫描外设
* 连接
* 连接外设(不同的连接状态)
* 连接失败
* 连接断开
* 连接成功
* 扫描外设的服务和特征
* 获取外设的服务
* 获取外设的特征集
* 特征值:描述值
* 订阅通知
* 断开连接

蓝牙 - 外设模式

* 启动外设对象
* 设置外设服务,特征,描述,权限等等
* 外设发送广播
* 设置处理/取消订阅
* 读特征
* 写特征

  • 蓝牙的工作状态
    • 准备
    • 广播
    • 监听扫描
    • 初始化连接
    • 已连接

IOS 蓝牙

  • iOS 平台蓝牙使用 CoreBluetooth 框架,功能强大,支持蓝牙 4.0 标准
  • BLE 蓝牙
    • 优点:传输快,耗电低
    • 缺点:传输数据有限,可调整具体的传输字节大小(约 512 字节)
    • CoreBluetooth 框架包括外设和中心两种模式,发起者(central) 为中心设备,被连接者(peripheral)为外设设备。例如手机通过蓝牙连接音箱,手机蓝牙为 central,蓝牙音箱为外设。
    • 服务 (service) 和特征(chatacteristic),蓝牙设备通过 GATT 协议定义数据的通讯内容。一个外设可以提供多种服务,一种服务包括多个不同的特征。特征的数据结构是键值对,存储数据。每个特征属性分为读、写、通知等几种方式。
    • 中心设备通过外设的特征来读写外设的数据和获取通知。外设可通过广播自己的 service 和 characteristic,中心设备可以通过订阅某一个具体的特征。外设和中心设备之间通过特征建立双向连接,形成传输数据的通道。
    • UUID:蓝牙唯一标识符,区分不同服务和特征。

Android 蓝牙

  • 蓝牙耳机 BluetoothHeadset
  • 蓝牙音频 A2DP
  • 蓝牙健康设备 HDP(例如心率监测仪、血糖仪、温度计、台秤等)进行通信
    • 蓝牙 Socket 通道,手机与其他蓝牙设备通过 InputStream 和 OutputStream 交换数据

蓝牙测试

  • 认识不同平台的蓝牙,找到其共同点,例如苹果平台与安卓平台的蓝牙 BLE 框架类似,都有中心和外设两种模式,测试环境搭建分清楚中心设备和外设设备
  • 蓝牙扫描、连接、收发数据等全流程进行测试
  • 对蓝牙的连接、断开进行功能和间隔断连测试
  • 收发数据(大量数据、小量数据)等压力测试
  • 蓝牙收发数据的距离限制
  • 蓝牙传输速率测试
  • 不同手机硬件平台的兼容性测试
  • 蓝牙与 WiFi(同频段)同时工作测试
  • 不同平台的不同系统版本蓝牙连接搜索测试(主流手机系统版本,谷歌搜索)

蓝牙的知识补充

蓝牙资源

https://www.bluetooth.com/bluetooth-resources/?types=study-guide

谷歌文档

https://developer.android.google.cn/guide/topics/connectivity/bluetooth

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 3 条回复 时间 点赞

看起来做过蓝牙相关的测试,你们有蓝牙的测试准入准出标准吗?

Kate #2 · 2020年03月29日 Author

针对产品对于蓝牙的应用要求的功能、兼容性和稳定性,是否符合需求

想问一下楼主,有做过 蓝牙设备和手机 APP 连接的自动化测试 么?

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册