APP下载

针对嵌入式设备的自动化测试框架研究

2015-05-15王士峰王义忠

现代计算机 2015年2期
关键词:响铃数据包嵌入式

王士峰,王义忠

(四川大学计算机学院,成都 610065)

针对嵌入式设备的自动化测试框架研究

王士峰,王义忠

(四川大学计算机学院,成都 610065)

简要介绍当前嵌入式行业,在硬件测试上的一些概念和基本测试流程,并重点关注易用性、可扩展性和通用性。通过对自动化测试技术的研究,并针对嵌入式领域的特点提出一个基于抽象层的测试平台,并探讨该测试平台的前景。为实现嵌入式设备的自动化测试提出一种客观可行的方法。

测试框架;自动化测试;嵌入式系统

0 引言

随着软件行业的不断发展与进步,软件测试技术也在不断地提高,各种测试平台和测试工具应运而生。软件测试自动化技术,是一项通过计算机模拟人的行为进行软件测试的技术,具有测试效率高,避免漏测试、无测试、重复测试和多测试等无用测试,测试具有一致性和重复性等优点[1]。

在涉及到嵌入式系统的自动化测试中,还没有成熟可靠的测试框架。在嵌入式领域,嵌入式系统本身又具有不同于其他通用设备和软件的特点,嵌入式系统具有微型化、紧耦合等特点,所谓微型化是指在体积、系统功能方面所呈现出的特征。所谓紧耦合是指受设备在硬件资源、软件资源本身限制和非功能属性方面的要求而呈现出的特征。

嵌入式系统所呈现出的特点,就决定了系统测试所具有的专一性。而在嵌入式系统测试领域,还存在着诸多难点。例如,如何达到逼真的硬件模拟能力,从而使嵌入式系统的测试能正确地运行,对嵌入式系统的非功能属性的验证,等等。所有的这些难点都对嵌入式系统的自动化测试带来极大地困难和额外的工作量,使测试人员不能真正高效地投入测试用例的开发。

针对嵌入式系统领域测试的难点,本文从一个分层的角度提出了一种通用的自动化测试框架。此框架有以下特点:

(1)可以省去仿真和硬件模拟的的工作,利用已有的嵌入式设备进行测试。

(2)通用性好。此框架通过一个被称作GDMP(Generic Device Management Protocol)的协议提供了统一的测试命令接口。现有的嵌入式系统,在很小的改动下便可运行协议。而对硬件设备的测试的数量,理论上是不受限制的。

(3)可扩展性好。此框架针对用户对不同嵌入式设备测试用例的开发,向上层用户提供了统一的协议接口。

(4)易用性好。为自动化测试系统的开发和集成提供了易用性,在很大程度上减少了将来用户开发测试用例的工作量。

1 自动化测试体系架构

1.1 基本定义

GMB(Generic Management Board),通用管理板。这是一个可以被用户开发的特殊的硬件管理组件。GMB有自己的处理器和IC Chips。用户只要遵循本文提供的GDMP协议规范便可以实现对不同的嵌入式硬件设备的管理和测试。

GDMP(Generic Device Management Protocol),通用设备管理协议,此协议是测试框架的核心。它提供以下的功能:

(1)在PC、GMB和嵌入式设备之间路由报文消息。

(2)控制GMB的行为来实现对嵌入式设备复杂场景的测试。

Tester,PC端的应用程序,用户通过它可以实现与GMB、嵌入式设备的通信。更重要的是,用户通过它可以开发测试脚本,来实现对硬件设备的远程测试。

DCM(Device Control Mode),设备控制模式。嵌入式设备进入此模式,整个设备的控制权交由GDMP协议管理。

1.2 自动化测试框架

本文采用的自动化测试框架结构如图1所示。

自动化测试框架,采用分层的思想。将整个框架分为三层:①服务层,由测试人员依据需求开发的各种测试模块,由下层向本层提供服务。②抽象层,测试框架的核心层,由本文提到的GDMP协议实现对硬件层进行抽象,向服务层提供统一接口。③硬件层,由支持各种功能的嵌入式设备组成。

图1 自动化测试框架测试框架

2 框架架构和关键技术

2.1 框架结构图

测试框架主要三大模块组成:PC端、嵌入式设备和GMB通信模块组成。三大模块都需要运行GDMP协议。GDMP协议是整个测试框架的核心。测试端PC通过线缆与GMB相连接,GMB与一台或者多台设备连接。

本部分描述了通用测试框架的体系结构,如图2所示:

图2 通用嵌入式设备测试框架

2.2 GDMP通用设备管理协议

本部分定义了针对通用测试框架的GDMP协议。此协议可以很好地为测试提供服务,具有很好的可扩展性、通用性和易用性。此协议可以提供两种功能:首先,提供在Tester和GMB之间提供路由报文的功能,其次,还可以控制在具体应用测试场景下GMB的具体行为。

(1)GDMP协议报文定义格式。

表1定义了GDMP协议格式,灰色部分表示了数据连接会话域,绿色部分表示了控制域部分。

(2)数据连接会话域。

数据连接会话域包括以下三个状态:

①Data Session Flag:此字段用来标识该会话是否采用GDMP协议。可以采用GDMP协议,也可以直接与嵌入式硬件设备通信。

②State:标识该会话的状态

③ID:会话的身份标识。

表1 GDMP通用设备管理协议数据包格式

④Data Length:该会话报文的实际有效长度。

(3)控制域

控制域主要包括以下两个部分:

①Message Type:用来定义不同命令的类别,防止命令之间冲突。

②Control code&data:用户的命令格式和数据。

(4)GDMP基本工作流程

GDMP以模块的形式运行在PC端和嵌入式设备之上的。基本流程是,GDMP模块收到数据帧,对帧结构进行判定,如果帧结构不正确,通信退出并向模块报告错误。正确的情况下,由GDMP协议处理,判定数据帧是否发往本地,通过对协议格式的解析,执行相应的流程动作,完成整个协议模块之间的通信。图3为基本流程框架。

图3 GDMP协议的工作流程

3 实验验证

3.1 实验环境

实验采用Tester程序的PC,两块ARM的开发板,一块用作GMB设备,一块用作支持DCM的普通嵌入式设备。

3.2 实验步骤

本文通过普通嵌入式设备上的一个响铃控制程序,来测试验证测试框架。具体步骤如下:

①PC端Tester构造响铃数据包,设置相应的标志位,封装在GDMP协议中,然后发送到GMB。

②GMB从GDMP协议数据包中抽取出原始的响铃请求包。

③GMB发送响铃请求包到对应的嵌入式设备。

④嵌入式设备收到响铃请求的数据包之后,解析并执行相应的响铃操作。

⑤嵌入式设备发送响铃控制响应数据包到GMB。

⑥GMB把响铃控制响应数据包封装到GDMP协议中,发送给PC端的Tester。

⑦PC端Tester从收到的GDMP协议数据包中抽取出响铃控制响应报文,完成一次通信。

4 结语

建立一个完整的、可靠的和可扩展的测试框架是现今国内嵌入式行业工作的一个重点。本文提出的这个测试框架基本上实现了对大规模集群硬件设备的完整测试,运用以上测试框架可以实现对嵌入式设备集群灵活易用的测试,是测试环境完全独立于频繁的硬件设备拓扑的变动,符合嵌入式行业系统测试的的需求,有良好的应用前景。具体的实现和很多细节还有待完善。

[1] 王向晖,李林.星载嵌入式软件自动化测试技术研究[J].计算机测量与控制,2012,20(1):3~4

[2] GROSSMAN R L.嵌入式系统软件设计.IT Professional,2009,11(2):23~27

[3] 肖沙里,唐跃林.软件测试自动化中建立可维护脚本的技术[J].计算机工程,2003,29(11):79~81

[4] 樊付星,黄大庆,周未.基于Web的自动化测试框架的研究与实现[J].电子设计工程,2012,20(20):36~38

[5] Ricaa F.,Tonella P..Analysis and Testing of Web Application[A].Proc.of the 23rd International Conference on Software Engineeringand Knowledge Engineering[C],2001:25~34

[6] 赖立峰,刘强.Web应用程序的一种功能自动化测试模型与实现[J].计算机工程,2006,3(17):123~125

[7] 牟永敏,姜宇,张志华.软件自动化测试中热点路径的研究.计算机工程与科学,2011,33(6):79~83

[8] 肖坦.基于虚拟仪器的自动测试系统研究,北京交通大学硕士论文,2006

[9] 沈亮.一种基于面向对象技术的自动化测试平台的设计与实现.电子科技大学学位论文,2009

[10] 高艳君.自动测试系统的组成及数据采集和处理方法.微处理机,1997,3

Research on the Automated Testing Platform for Embedded Devices

WANG Shi-feng,WANG Yi-zhong
(College of Computer Science,Sichuan University,Chengdu 610065)

Briefly describes the current embedded industry,the hardware test and some of the concepts and basic testing processes,with a focus on ease of use,scalability and versatility.Through the study of automated testing technology and the characteristics of embedded field test platform proposed based abstraction layer,and explores the prospects of the test platform.To automate the testing of embedded devices present a feasible objective method.

Testing Framework;Automated Testing;Embedded System

1007-1423(2015)02-0031-04

10.3969/j.issn.1007-1423.2015.02.008

王士峰(1987-),男,山东泰安人,在读硕士研究生,研究方向为网络与信息安全

王义忠(1989-),男,江西上饶人,在读硕士研究生,研究方向为智能信息处理

2014-11-13

2014-12-16

猜你喜欢

响铃数据包嵌入式
二维隐蔽时间信道构建的研究*
Focal&Naim同框发布1000系列嵌入式扬声器及全新Uniti Atmos流媒体一体机
民用飞机飞行模拟机数据包试飞任务优化结合方法研究
小猫带响铃
响铃和念念
响铃和念念
TS系列红外传感器在嵌入式控制系统中的应用
C#串口高效可靠的接收方案设计
搭建基于Qt的嵌入式开发平台
卷轴:骆驼