首页 > 范文大全 > 正文

一种基于XML脚本技术的嵌入式系统测试方法

开篇:润墨网以专业的文秘视角,为您筛选了一篇一种基于XML脚本技术的嵌入式系统测试方法范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:针对嵌入式系统内存不丰富、开发测试工具贵、与硬件相关性等特点,为实现嵌入式测试平台的快速搭建和通用性,文章设计出一种层次结构的嵌入式测试平台,该平台能够被快速创建且独立于嵌入式系统,并利用XML(eXtensible Markup Language,可扩展标记语言)脚本技术实现了与嵌入式编程语言的无关性。

关键词:嵌入式系统;软件测试;XML

中图分类号:TP316文献标识码:A文章编号:1009-3044(2010)07-1632-03

A Method of Embedded System Testing Based on XML

LI Sheng-gang

(College of Computer and Information Science, Southwest University, Chongqing 400715, China)

Abstract: To the embedded system,the memory is not rich, the development testing tools is expensive, and the hardware is correlate. For the realization of fast building and versatility of the embedded test platform, this paper gave a the embedded test platform with hierarchical structure. The platform could be quickly created and independent of the embedded system, and realized independence of theembedded programming language by using XML (eXtensible Markup Language) scripting.

Key words: Embedded System; software testing; XML

近年来,嵌入式软件的应用领域不断扩张,嵌入软件得到了蓬勃发展。随着应用领域的扩大和深入,嵌入式软件的质量问题开始成为影响产业发展的一个重要因素。尽管人们在嵌入式软件开发过程中也采用形式化方法等有效的质量保证方法,但是这些方法都存在着缺陷,没有广泛地应用于实际[1]。现阶段嵌入式软件的质量,主要通过测试手段来保证。由于嵌入式软件具有:实时性、内存不丰富、开发测试工具贵、与硬件相关、一次性使用、依托于嵌入式系统等特性[2],这些特性使嵌入式测试的策略有了改变,现在没有很好的通用测试工具,一般是自己开发测试平台。针对这些特点,本文设计出一种层次结构的嵌入式测试平台,该平台的层次结构使嵌入式系统得到了独立,提高了测试的准确性;另外,平台利用了XML脚本技术,实现了测试平台的与语言无关性。

1 XML技术

1.1 XML简介

XML是由W3C组织于1998年2月的一种描述网络上的数据内容和结构的标准。它是一种结构化的标记语言,除了可以存储文档的基本信息外,还可以存储文档的显示格式、文档布局、逻辑结构等附加信息[3]。

1.2 基于xml脚本的与语言无关性嵌入式测试过程

利用XML方便的数据交换和存储、跨平台开发等功能和简单易学、方便通用的优点,本文设计出一个基于XML脚本的与语言无关性嵌入式测试过程。如图1所示。

由图1可以看出,在测试过程中我们以XML作为桥梁实现了测试过程与语言的无关性。其过程可以分为两步:

1) XML脚本生成。指数据从程序语言向XML格式转换的过程。我们通过词法分析从程序中提取函数名及其输入的参数信息等重要信息特征,然后借助DOM(Document Object Module,文档对象模型)技术用XML文档的形式表现出来。如图2所示。

2) XML脚本语言转换。指数据从XML格式向程序语言转换过程。将XML脚本按照匹配的XSLT(Extensible Stylesheet Language Transformation)模板转化为特定语言。如图3所示。

2 嵌入式软件测试

2.1 嵌入式软件测试特点

与桌面软件不同,嵌入式软件具有专用性,它只能在需求所指定的硬件平台上执行。另外,嵌入式软件的实时性强、内存不丰富、输入输出通道少等特点决定了一般桌面软件的测试方案不能用于嵌入式软件的测试。

2.2 嵌入式测试的方法

1) 黑盒测试。它必须依靠能够反映这一关系和程序功能的需求规格说明书来考虑测试用例和推断测试结果的正确性。即所依据的只能是程序的外部特性。黑盒测试方法包括等价类划分、边界值分析、因果图和正交设计等基于软件功能的测试技术[4]。

2) 白盒测试。它可以分析程序的内部构造,并且根据其内部构造测试用例。白盒测试方法包括逻辑覆盖、符号测试、路径分析、程序插桩和程序变异等基于软件内部结构的测试技术[4]。

本文将采用黑盒测试技术对嵌入式系统进行测试。

2.3 嵌入式软件的测试策略

嵌入式软件与一般软件最大的不同是嵌入式软件的最终运行环境是在资源相对稀少的嵌入式平台上。嵌入式软件的测试系统,通常是安装和运行在两台机器上,并且两台机器功能是不对称的,各有侧重点。我们一般采取将插装后的代码放在嵌入式系统中编译、运行,执行完毕后通过网络把程序的测试结果传回测试机,在测试机上对测试结果进行分析处理,其原理如图4所示。

1) 首先,测试机把测试数据通过网络环境传递给嵌入式系统;

2) 嵌入式系统在接收到从测试机发送过来的测试数据以后,执行测试数据;

3) 嵌入式系统,将执行测试数据的结果通过网络环境传回给测试机;

4) 测试机在接收到由嵌入式系统传回的测试结果后,分析测试结果,得出相关结论。

3 嵌入式测试平台层次结构

3.1 嵌入式测试平台层次结构设计

目前,市场出现了很多嵌入式测试工具,但是这些测试工具不具备通用性。一般一个嵌入式软件需要单独开发相应的测试工具。为了很好地解决嵌入式测试平台的通用性,本测试平台采用了层次结构设计,上层可以访问下层,下层为上层提供服务,层与层之间低偶合。如图5所示。

由图5可知,嵌入式测试平台(如图5中,虚线框部分为嵌入式测试平台)共分为3个层次,分别为:GUI层、XML层和通讯层。其中,GUI层主要完成测试用例的管理、测试组织管理运行以及接收测试结果并对测试结果自动分析处理,得到测试结论,生成测试报告。XML层主要完成嵌入式测试平台不同语言之间的通讯。XML层从测试机(嵌入式系统)接收数据并将这些数据进行词法分析,把数据转化成为XML格式,然后再将XML格式的数据通过XSLT模板转化嵌入式系统(测试机)能够识别的语言。通讯层主要完成嵌入式测试平台和嵌入式系统的通讯。

嵌入式测试平台与嵌入式系统分离的结构,使嵌入式测试平台经过少量的修改就能支持大多数嵌入式系统,提高了嵌入式测试平台的通用性。另外,嵌入式测试分析处理的大部分工作都在测试机上完成,提高了测试的精度。