nbhkdz.com冰点文库

手机测试蓝牙协议一致性测试方案

时间:2011-11-01


手机测试蓝牙协议一致性测试方案

1 蓝牙协议概述

蓝牙技术规范(Specification)包括协议(Protocol)和应用规范(Profile)两个部分。协议定义了各功能元素(如串口仿真协议(RFCOMM)、逻辑链路 控制和适配协议 (L2CAP) 等各自的工作方式, 而应用规范则阐述了为了实现一个特定的应用模型 (Usage model) 各层协议间和运转协同机制。 , 显然, Protocol 是一种横向体系结构,而 Profile 是一种纵向体系结构。较典型的 Profile 有拨号网络(Dial-up Networking)、耳机(Headset)、局域网访问(LAN Access) 和文件传输(File Transfer)等,它们分别对应一种应用模型。

整个蓝牙协议体系结构可分为底层硬件模块、中间协议层(软件模块)和高端应用层三大部分。图 1 中所示的链路管理层(LM)、基带层(BB)和射频 层(RF)属于蓝牙的硬件模块。RF 层通过 2.4GHz 无需授权的 ISM 频段的微波,实现数据位流的过滤和传输,它主要定义了蓝牙收发器在此频带正常工作 所满足的要求。 层负责跳频和蓝牙数据及信息帧的传输。 层负责连接的建立和拆除以及链路的安全机制。 BB LM 它们为上层软件模块提供了不同的访问人口, 但是两个蓝牙设备之间的消息和数据传递必须通过蓝牙主机控制器接口(HCI)的解释才能进行。也就是说,HCI 是蓝牙协议中软硬件之间的接口,它提供 了一个调用下层 BB、LM 状态和控制寄存器等硬件的统一命令接口。HCI 层以上的协议实体运行在主机上,而 HCI 以下的功能由蓝牙设备来完成,二者之 间通过一个对两端透明的传输层进行交互。

中间协议层包括逻辑链路控制和适配协议(L2CAP,Logical Link Control and Adaptation Protocol)、服务发现协议(SDP,Service Discovery Protocol)、串 口仿真协议(RFCOMM)和电信通信协议(TCS,Telephone control Protocol)。L2CAP 完成数据拆装、服务质量控制和协议复用等功能,是其他上层协议实 现的基础,因此也是蓝牙协议栈的核心部分。SDP 为上层应用程序提供一种机制来发现网络中可用的服务及其特性。RFCOMM 依据 ETSI 标准 TS07.10 在 L2CAP 上仿真 9 针 RS232 串口的功能。TCS 提供蓝牙设备间话音和数据的呼叫控制信令。

在蓝牙协议栈的最上部是高端应用层(Applications),它对应于各种应用模型的 profile。

2 蓝牙协议测试背景

2.1 蓝牙测试背景

蓝牙组织成员为证明自己的产品达到了蓝牙组织加入协定的要求,符合蓝牙规范,必须通过蓝牙认证。蓝牙认证设置的目的在于保护蓝牙无线互连技术 的一致性,同时尽可能降低对产品开发商的要求。

任何一个生产或销售蓝牙设备的公司必须首先签署蓝牙协定以成为蓝牙组织成员,然后证明自己的产品符合蓝牙系统规范(包括一致性要求)。在成功 通过蓝牙认证之后,产品方案被列入合格产品目录。产品必须完全通过蓝牙认证,否则不享有蓝牙组织协定所赋予的权利。

蓝牙设备测试规范包括一系列为验证蓝牙设备而设计的测试。蓝牙设备应对蓝牙设备测试规范中所有的蓝牙设备测试案例逐一进行验证。

所谓测试案例是与被测试协议的一个特定特征相关的一个特定测试单元。每个测试案例都有一个特定的测试目的,运行后都对所得到的测试结果进行判 断。例如为测试传输层和建链(Connection establishment)而设计一个测试案例,其测试目的为“测试传输层建链”,执行这个测试案例可能得到的结果为成功、 失败或者不确定。

测试案例一般由三部分组成:初始化部分(Preamble)、测试体(Test Body)和重置部分(Postamble)。

在蓝牙设备认证测试中,射频(Radio Frequency)、蓝牙协议一致性、profile 一致性和 profile 互联测试所使用的方法是不同的。

*射频测试案例可以混合使用标准测试设备和特殊蓝牙测试设备来执行。 如果有一个可用的参考测试系统, 蓝牙协议一致性的测试案例可以使用它来执行。 否则一致性测试只能通过其他方法进行。组织成员自由选择合适的测试设备来运行所需的测试。

*为加强低层互联的可靠性,首先应进行蓝牙协议互联蓝牙协议互联测试。使用设计好的测试产品(一般称为蓝牙设备)来进行测试。

*Profile 一致性测试用来决定蓝牙产品是否符合蓝牙规范。

*Profile 互联测试帮助确定支持同一 Profile 的产品是否如预料那样支持互联。当设备特别是不同厂家设备之间进行实际通信的时候,互联测试有可能发现 原先不太明显的问题。

2.2 一致性测试

协议一致性测试和协议校验的目标是很容易混淆的。协议一致性测试用于检查给定的一种协议的实现实体是否与协议的内在动工规范要求相一致。协议 校验用来检查协议规范本身在逻辑上是否可靠的。如果协议规范存在设计错误,绝对符合规范要求的协议实现虽然存在同样的逻辑错误,但能够通过一致性 测试;如果它不存在同样的错误,就无法通过一致性测试。只有实现实体和规范要求不一致时一致性测试才会失败。相反,协议的可靠性验证应该检测出设 计上的错误。

给定一个例如有限状态机形式的参考协议规范和一个未知的实现实体。对所有实际应用来说,协议实现实体相当于一个具有有限输入输出的黑箱。我们 只能通过提供一系列的输入信号(消息),观察输出的结果信号来验证它。处于验证下的实现实体,通常称为被校验对象(IUT),只有当所有观察到的输 出与形式规范所描述相一致时方可通过校验。一组用于按这种方法验证协议实现的输入序列集称为一致性测试案例包。

这里有两个主要的问题解决:

(1)找到一种通用有效的方法为一种给定的协议实现实体生成一个一致性测试案例包。

(2)找到一种方法把测试安全应用在协议实现实体上进行测试。

第二个问题看起来比较简单。IUT 可以是协议栈结构中单独的一层,具有与相邻层间的两个接口。为了测试它,需要一个高层测试仪和一个低层测试仪 和一些系统方法来同步它们之间的流程。当 IUT 和测试仪在物理上相互隔离时也存在复杂的影响因素。测试仪可能只能通过远程网络连接来访问 IUT,并且 无法绝对可靠的提供输入以及从IUT获得输出。

通信系统设计要保持一定的标准后为称为一致性测试。

在 OSI 系统模型定义后几年中,ISO(国际标准化组织)开始着手制定一致性测试的方法和框架。一个专门委员会接手了标准化中最困难的任务之一,发 展出 ISO 用于定义一致性测试框架和方法的一系列标准,以及一种描述抽象测试集的语言。

提倡的一种解决方法是为每一种协议或协议集(profile)发展一种抽象的测试集,并使之标准化。发展商要以一系列称为 PICS 或 PIXTT 文档的形式说明 自己产品的实现途径。一致性测试中心(也称为测试实验室)负责被测对象的一致性验证。中心首先选出刊登特定对象的测试案例,给测试案例赋值,最后 得到抽象测试集的一个物理实现。目前,一致性测试是世界范围内最为广泛的软件测试活动。

3 蓝牙协议一致性测试

3.1 蓝牙设备(Blue Unit)测试结构

在蓝牙设备测试中,我们采用的基准设备(BU)是 Ericsson 或 Nokia 提供的模块。被测对象(IUT)是其他公司的模块。两者之间以测试仪相连接。测 试仪发送命令和数据到这两个模块(BU 和 IUT),也从这两个模块接收时间和数据。测试系统主要有四个组成部分:

*主机 A

主机 A 控制基准设备(BU)。主机 A 向 BU 发送命令和数据,同时接收用来验证测试案例的时间和数据。

*HC/LM-A BU

HC/LM-A BU 是来自 Ericsson 或 Nokia 的蓝牙硬件,作为测试参考设备。基准(BU)执行主机 A 发出的不同命令,对相应事件应该能够做出正确反应。

*主机 B

主机 B 控制被测试设备(IUT)。主机 B 向被测设备(IUT)发送命令和数据,接收用来验证测试安全的事件和数据。

*HC/LM-B IUT

HC/LM -B IUT 是来自其他公司的被测硬件。IUT 执行主机 B 发送的命令,对相应的事件和数据包做出反应。

测试仪使用两种物理层传输层作为 TCI-HCI 接口。也就是说,蓝牙设备可以通过物理总线(USB 或者 UART 接口)和测试仪连接。PCO1 和 PCO2 作为 它的控制和观察点。PCO1 作为低层测试仪(LT)的控制观察点。POC2 作为高层测试仪(UT)的控制观察点。由于测试仪不能观察空中接口(即两个蓝牙 硬件之间的无线空中接口),捕获 LM 数据包,在 HC/LM-A BU 和 HC/LM -B IUT 之间不存在控制观察点(PCO)

3.2 蓝牙协议栈 L2CAP 一致性测试结构

我们对 L2CAP (logical link control and adaptation protocol) 的致性测试结构进行说明。 测试结构共有三个主要组成部分: 一致性测试仪、 测试控制软件 (TC) 和被测对象(IUT)。在一致性测试仪和被测对象之间有两个接口:通过蓝牙发射装置的空中接口和测试控制接口(TCI)。TCI 的推荐物理传输层是 HCI 的指定传输层之一:USB、RS232 或 UART。通过 TCI 发送消息时,L2CAP 事件和命令的原语必须转换成与 HCI 事件和命令同样格式的消息发送。

(1)一致性测试

测试仪包括高层测试仪和低层测试仪。使用图 2 中的 PCO1(Point of Control Observation)和 PCO2 作为它的高层及低层测试仪的观察和控制点。高层测 试仪发送 L2CAP 命令给被测对象,通过 TCI 从被测对象得到事件。高层测试仪包括一个 TCI-L2CAP 驱动程序和一个物理总线驱动程序。低层测试仪处理 被测对象发来的 L2CAP 数据包。测试仪中的 L2CAP 数据包等同于被测对象中的 L2CAP 数据包

(2)测试控制软件

测试控制软件由三部分组成:物理总线、TCI-L2CAP 固件和适配器。生产商把产品送去测试时必须同时提供测试控制软件。测试控制软件的功能就是使 接口(该接口与实现相关的)适配 TCI-L2CAP 接口。物理总线发送数据到高层测试仪,并从高层测试仪接收数据。TCI-L2Cap 固件对数据进行编码解码。适 配器适配 IUT 的 L2CAP 接口,该接口是与实现相关的(implementation-dependent)。

(3)IUT(被测对象)

IUT(被测对象)可以是蓝牙主协议栈的任何软件实现,当然,软件中必须包括正在测试的 L2CAP 层。

3.3 蓝牙协议栈 SDP 一致性测试结构

我们对 SDP 的一致性测试结构进行说明。到目前为止,SDP 的测试结构并没有在测试规范中明确确定。但是根据蓝牙规范中的测试案例,这里不需要高 层测试仪测试 SDP 的上层接口。测试系统共有两个主要组成部分:低层测试仪和被测对象(IUT)。

(1)低层测试仪

在 SDP 一致性测试系统中,低层测试仪作为 SDP 客户端,发送一个在测试案例中规定的 SDP 请求数据包(Request PDU),然后验证被测系统(IUT) 是否做出正确反应。

(2)IUT(被测对象)

IUT(被测对象)可以是蓝牙主协议栈的任何软件实现,当然,软件中必须包括正在测试的 SDP 层。在 SDP 一致性测试系统中,IUT 作为 SDP 服务器端, 对收到的测试仪发来的 SDP 请求数据包做出响应,产生相应的事件。

3.4 协议一致性测试仪设置

IVT 蓝牙测试仪运行于 Window98 环境下带有 USB 和 UART 接口的 PC 机上。我们需要把蓝牙硬件(爱立信启动工具包)与 PC 机相连,建立与被测对 象(在另一 PC 机上)之间的空中接口。通过使用的 UART 的 TCI-L2CAP 接口建立被测对象和高层测试仪之间的物理连接。

开始测试前,我们需要启动蓝牙测试仪和被测对象,分别设置蓝牙硬件、蓝牙测试仪的物理总线及被测对象,然后运行测试案例。

3.5 协议一致性测试报告

对每个测试案例,蓝牙测试仪会生成两个测试报告文件。一个是 jpg 文件,在消息序列表中显示测试交互队列,另一个是 log 文件,在 PCO 中显示位串 和解码信息。

4 结束语

蓝牙是目前风靡世界的新一代无线通信技术,其设计目的在于在固定设备和移动设备之间实现结构简单,强壮性好,低能耗,低成本的无线连接。作者 参 加开发的 IVT 公司蓝牙测试仪是当前国内不多见的具有世界领先水平的产品。本文对蓝牙测试的背景及蓝牙一致性测试流程进行了一一介绍。


赞助商链接