首页 > 范文大全 > 正文

面向服务的测试程序自动生成技术研究

开篇:润墨网以专业的文秘视角,为您筛选了一篇面向服务的测试程序自动生成技术研究范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要: 测试程序自动生成技术是新一代自动测试系统(ATS)关键技术之一。文中从面向服务的角度出发,首先建立了面向服务的测试程序自动生成总体框架;然后介绍了测试流程描述语言(Test Flow Description Language,TFDL),并通过XSLT模板将测试描述XML转化为测试流程描述语言,利用TFDL编译器将测试流程描述语言转化为C语言中间程序;最后通过商业编译器自动生成测试程序。

Abstract: Test program automatic generation technology is the key technology of the new generation ATS. The paper started from the service—oriented, firstly, the framework of service—oriented test program automatic generation is built; then, the test flow description language is introduced, and the test description XML is translated to test flow description language, then the test flow description language is translated to C language middle program using TFDL compiler; finally, the test program is automatic generated by cots compiler.

关键词: 面向服务;测试流程描述语言;测试程序自动生成

Key words: Service—Oriented;Test Flow Description Language;Test Program Automatic Generation

中图分类号:TP3 文献标识码:A 文章编号:1006—4311(2012)28—0036—02

0 引言

测试程序生成主要涉及到测试流程到最终测试程序代码的转换,目前的解决方案主要有两种[1]:一种是通过软件工程师手动转换,这种方法转换过程十分繁琐,编程难度较大;另一种方法是开发编译器/解释器自动完成测试流程到测试程序的转换,典型应用是PAWS平台,它能将ATLAS语言编写的测试程序编译成可执行程序并运行,但是开发编译器十分困难,而且测试程序的可移植性较差。本文首先设计了面向服务的测试程序自动生成框架,然后对面向服务的测试程序自动生成技术中涉及到的关键技术进行研究。

1 面向服务的测试程序自动生成总体框架

面向服务的测试程序自动生成总体框架如图1所示。从图中可以看出交互式开发系统由四部分组成,包括交互式开发工具、TPS、测试程序自动生成与运行时系统。

交互式开发工具包括:测试描述工具、测试通道配置工具、故障诊断配置工具以及其它面向服务的ATS描述工具。用户使用测试描述工具根据测试需求自动生成符合ATML标准中的Test Description Schema验证的测试描述XML;测试通道配置工具采用图形化方式完成适配器设计中所有开关连接情况;故障诊断配置工具自动生成诊断模型信息描述的XML文档,可以方便地完成诊断模型的测试、维修、诊断步骤等的自动配置。

TPS包括:测试描述XML、测试通道描述XML、测试程序中间代码、测试程序、测试结果以及其它利用ATML标准描述的ATS描述XML文档。

测试程序自动生成完成测试描述XML的编译工作,生成测试程序中间代码(C语言代码)。

运行时系统利用商业编译器根据测试程序中间代码建立测试程序,测试程序调用测试功能服务,测试功能服务与测试通道描述XML、诊断模型信息描述XML交互之后调用仪器驱动器,最后得到测试结果与诊断结论。

2 测试程序自动生成技术

2.1 开发方案 测试程序自动生成模块通过编译测试描述XML文档,生成测试程序的中间代码。测试程序自动生成功能模块有两种开发方案:方案一,直接编译生成二进制代码;方案二,编译测试描述XML文档生成测试程序中间代码,再利用商业编译器最终编译生成测试程序。考虑到目前有不少开源的商业编译器,而且直接编译生成二进制代码的工作量与难度太大,本文采用方案二。

本文以C语言为目标代码,确定方案为:开发编译器将测试描述XML文档转化为C语言中间代码,然后利用Visual C++提供的商业编译器将C语言中间代码编译链接成可执行文件或动态链接库。

2.2 测试程序自动生成

2.2.1 测试描述XML转换为C语言中间程序 考虑到目前ATML标准属于完善阶段,其Schema在不断修订中,为了适应ATML标准的修订,本文提出了 “模板+编译”的转换方法,即利用扩展的样式表转换语言(eXtensible Stylesheet Language Transformation,XSLT)首先将测试描述转化为测试流程描述语言文档,然后再利用开发的编译器将测试流程描述语言转化为C语言中间程序。

①测试流程描述语言。为了解决测试流程描述的规范化问题,我们制定了测试流程描述语言(Test Flow Description Language,TFDL)。TFDL语言是一门以自然语言为基础的面向测试领域的标准化描述语言,用于编写测试程序和对测试流程进行标准统一的描述。采用TFDL语言编写的测试程序只对被测对象的信号特征、测试流程进行准确描述,而不包含测试功能的具体仪器操作控制实现,使得TFDL测试程序具有良好的仪器无关性[2]。