手机测试蓝牙协议一致性测试方案
作者:网络转载 发布时间:[ 2014/10/20 10:43:55 ] 推荐标签:手机 蓝牙 移动测试
给定一个例如有限状态机形式的参考协议规范和一个未知的实现实体。对所有实际应用来说,协议实现实体相当于一个具有有限输入输出的黑箱。我们只能通过提供一系列的输入信号(消息),观察输出的结果信号来验证它。处于验证下的实现实体,通常称为被校验对象(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)测试控制软件
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系SPASVO小编(021-61079698-8054),我们将立即处理,马上删除。
相关推荐
Android自动化测试框架有哪些?有什么用途?Android测试中最容易忽略的测试点有哪些?Android 手机自动化测试工具有哪几种?移动APP测试之android性能测试快速提升Android App 的代码覆盖率Android Unit Test 框架比较Android单元测试框架Robolectric3.0介绍(一)Android单元测试的整理在Android Studio中实现单元测试Android连接MySQL方法,测试成功关于Android MVP模式的思考Android 数据库管理?ActiveAndroid编写Android测试单元该做的和不该做的事Android阿里面试Java基础锦集在Android项目中使用Java8Java / Android 面试中所遇到的那些坑
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11热门文章
常见的移动App Bug??崩溃的测试用例设计如何用Jmeter做压力测试QC使用说明APP压力测试入门教程移动app测试中的主要问题jenkins+testng+ant+webdriver持续集成测试使用JMeter进行HTTP负载测试Selenium 2.0 WebDriver 使用指南