自动测试系统平台软件及其应用
张焘13688398377
摘要:作为自动测试系统的关键组成部分,自动测试软件在整个系统中所发挥的作用越来越明显,因而也一直被广泛关注和重视。本文通过简要分析对比当今国内外几个具有代表性的测试软件开发环境,提出了以ATML、IVI-MSS等为关键技术的一套开放的软件架构,以及在此架构之上所实现的通用平台软件。该软件的实现改善了传统软件在代码可重用、可移植性、系统扩展性等方面的不足,提高了开发效率,为自动测试系统的软件开发提供了新的解决方案。
关键词:自动测试系统,ATML,IVI-MSS,通用平台软件
An Automatic Test System Develop Platform Software and its Application
Chen Xiaoming, Guo Enquan, Wang Cheng, Ma Xin
(Shaanxi Hitech Electronic Co.,Ltd.,Xi’an 710075,China)
Abstract: Being the key component of the Automatic Test System, software system has been paid a lot of attention. The paper briefly analyze some typical test software developing environment at home and abroad, a open software structure is pointed out, which adopts some technologies, such as ATML, IVI-MSS and so on. Further more, a general platform software that base on this structure have made some progress on the code reusability, portability of TPS, system expansibility and developing efficiency, and provide a new kind of solution for the ATS software development.
Keyword: Automatic Test System, ATML, IVI-MSS, General Platform Software.
1 引言
随着科学技术的进步,当今武器装备的功能日趋复杂,集成度日益提高,随之带来的是研制、生产以至于维修保障等等环节费用的不断攀升,其中相当的成本产生在繁重的测试以及故障诊断方面,自动测试系统(Automatic Test System,ATS)也正是在这种条件下应运而生。
通常把以计算机为核心,以完成某项测试任务为目标,在测试软件控制下的测量仪器以及其他设备,形成的有机整体称之为自动测试系统。自动测试系统通常包括自动测试设备(Automatic Test Equipment,ATE)、测试程序集(Test Program Set,TPS)和专用适配器三大部分,三者有机结合,自动完成被测单元的性能检测、数据分析、故障识别与定位等[1]。
在ATS中,TPS起着举足轻重的作用,TPS通常由测试程序(Test Program,TP)、接口测试适配器(Interface Test Adapter,ITA)和测试程序集文档(Test Program Set Document,TPSD)三大部分组成。在TPS中,TP成为了整个TPS的灵魂,因此有时TP也被当作TPS。在面对种类多样的ATE时,常见的做法大多为“TPS专用化”,即一套TPS对应一台(套)ATE,不同的产品间所使用的TPS各有不同。这样,TPS的专用化就引发了自动测试软件的专用化,而自动测试软件的专用化,也使得各种测试软件的开发从接口标准到设计实现,从开发效率到人机界面等等方面存在着很大的差异,由此带来TPS可移植性、信息交换能力、以及后期培训指导,使用维护的难度上都变得越来越困难。为此,自动测试系统的通用平台软件的研究就显得格外重要。
通用平台软件的目标是建立通用化、系列化和标准化的测试平台。使用通用平台软件构建的TPS应具有模块化、层次化和易升级的特点,可以灵活配置资源,可以根据系统实际功能进行重构,使ATS的通用性和可移植得到提高[2]。本文介绍了一种自动测试系统的通用开发平台软件。软件采用分层开放架构,以ATML(Automatic Test Markup Language)、IVI-MSS(Interchangeable Virtual Instrument Measurement and Stimulus Subsystems)技术、统一对象模型等技术为基础,具有系统可扩展、流程可视化编辑、仪器可互换、参数可配置等等特点,为TPS提供了一套统一的开发运行环境。
2 现状
2.1 国外情况
在早期使用专用ATS阶段,大多采用的是通用编程语言,如C、C++等,来开发测试软件,随着ATS通用化要求的日益提高,国外出现了几种得到较广泛应用的自动测试系统软件开发平台,下面就对其中的几个代表性产品分别介绍。
a) SMART
标准化模块式航空电子设备维修和测试(Standard Modular avionics Repair and Test,SMART)软件系统由美国航空无线电公司(Aeronautics Radio Incorporation, ARINC)开发,广泛用于各种商业飞机机载设备的测试的自动测试系统。SMART软件体系分为编译、配置和执行三部分。这个软件体系对ATS使用者而言,需要提供ATLAS源程序测试单元适配器,对于ATS继承者来说,还必须做资源描述,设备模型和配置模型等等的建模工作。SMART可用于ATLAS源程序的编译、配置及执行,但要使用SMART系统还需要做很多辅助工作,开发效率未得到显著提高。
b) PAWS
专业ATLAS工作站(Professional ATLAS Work Station,PAWS)系统是另一个在航空测试领域广泛使用的开发平台。它是由TYX公司设计生产的商用ATLAS编译软件,包括PAWS/TRD(测试需求)、PAWS/TP(测试程序开发)和PAWS/RTS(运行系统)三部分。
虽然PAWS能部分的自动生成ATLAS源程序并编译成最终可执行的测试程序,但是由于PAWS只负责软件方面的设计,进行编译时所需要的大量硬件信息还是需要手工录入,从而降低了测试系统的整体开发效率。
c) TOPTEST
TOPTEST是 美国BAE公司提供的针对大型电子测试设备的测试策略和测试程序自动生成环境。与其它测试程序开发平台类似,TOPTEST环境中测试程序的建立也独立于测试资源,通过与测试资源连接形成可执行的测试代码。TOPTEST中测试资源是以测试资源模型的方式存在。
TOPTEST的程序建立过程与语言无关,因此用户可以定制自己需要的语言。特定的目标语言生成要借助一个语法规则模型库,由语法规则组成语法对象,语法对象用COM技术和ActiveX技术实现,它可由用户扩充。
2.2 国内情况
国内在自动测试系统开发平台技术上,也基本和国外相似:软硬件单独开发、硬件为手工设计,测试软件的设计有采用PAWS开发的,也有各单位自行研发的。相较于传统的ATS测试软件,国内目前所开发的软件在界面友好程度、测试功能完整性等方面都有了长足的进步,也在一定的领域有所应用,取得了一定的成果。但是部分产品由于是依赖于国外现有技术,因此在设计标准化、设计质量、代码可重用性、软件可移植性、可扩展等方面还亟需改进。
3 软件结构
由于传统TPS开发的专用性,使它的实现与相应的ATS紧密耦合,当ATS需要更新换代时,与之相应的TPS也将被淘汰。而通用软件平台的设计应该是让TPS的编程具有独立性,即通过该软件开发出来的TPS应该具有硬件无关性,此外,要达到真正的通用,还必须使各个部件间的信息能够共享,并且能进行交互,以满足测试系统内部的各部件间、不同测试系统之间、测试系统与外部环境间信息的共享与无缝交互能力[3]。
为了实现这一目标,将系统设计为两大组成部分,一部分为TPS开发平台,用于开发人员进行TPS的设计与调试;另一部分为TPS运行平台,作为最终用户运行TPS的环境。而TPS的可移植性就体现在以ATML标准为基础的TPS文件上。

图1 系统体系结构
整个系统分为五层,从上至下依次是应用层、业务层、服务层、支持层和物理层。每个层次组成成分不同,实现不同级别的功能目标。应用层调度业务层完成配置管理以及测试控制等;业务层具体实现各种测试功能,向应用层返回结果;服务层为业务层和应用层提供各种细粒度的服务组件;支持层提供包括驱动程序在内的系统运行环境;物理层包含各种硬件设备。
采用该架构,已经成功设计并实现了自动测试系统通用开发平台软件和自动测试系统通用运行平台软件,下面如无特别指出,将统一称为“通用平台软件”。
4 关键技术
4.1 基于功能的仪器互换
在自动测试领域中,由于受试设备以及所在行业的不同,导致测试标准繁多,使用的测试仪器也不尽相同,仪器作为系统一项重要的资源其可互换性具有非常重要的意义。
传统的很多测试软件采用IVI-COM或IVI-C技术解决仪器互换,这种互换技术面向的是同类仪器间的互换,但是由于可用标准较少,标准开放程度不高等原因,使得这种方式限制了可互换的范围。针对这样的问题通用平台软件采用了更加高级的IVI-MSS架构,该架构是IVI基金会为了解决同类仪器互换的不足而提出的一个互换机制。它在IVI-COM 类驱动器的基础上封装了新的编程接口,使用测量/激励服务器(IVI-MSS Server)和角色控制模块(Role Control Modules ,RCM),实现了不同类仪器之间的互换,确保不同仪器类对同一测量/激励有同样的“信号”。
基于IVI-MSS模型的虚拟仪器测试软件共包括五部分:用户应用程序(User Application)、测量\激励服务器、角色控制模块、仪器驱动(Drivers)和物理仪器(Instruments)组成,如图2所示。用户应用程序是IVI-MSS Solution的运行环境,它通过调用IVI-MSS Server提供的编程接口实现对仪器资源的访问。IVI-MSS Server是独立于测试仪器资源的软件层,它封装了测试算法,对外提供面向测试功能需求的编程接口,该接口在被用户应用程序调用时作为“角色”向用户提供测试服务。对于IVI-MSS Server来说,角色接口封装了用来在一个特定Solution中执行角色功能的一组属性和函数的集合。RCM是连接IVI-MSS Server和仪器Driver的软件层,在RCM内部封装了仪器访问细节,提供Role接口与IVI-MSS Server交互。这样,对于IVI规范中的八类仪器,RCM通过IVI驱动程序来实现访问,对于八类之外的仪器,RCM可以通过SCPI命令、VISA函数等实现访问。

图2 IVI-MSS模型结构
本系统将该架构成功引入测试软件中,实现了不同厂家相同功能的仪器互换。在仪器驱动开发时,从功能(Role)视图来看待仪器。一项功能可以由多种仪器实现,相同功能不同仪器之间可以实现互换。在仪器驱动程序开发时,将驱动划分为Server和RCM两层, Server代表的抽象的功能和RCM代表的具体实现不会绑定到一起,可以在运行时进行选择或者切换。RCM可根据需要进行扩充, Server则将同类的不同的RCM进行组合。例如,产生正弦信号的功能既可以使用RS公司SMY01信号源来实现,也可以使用Agilent公司的E8257D频谱仪来实现,或者其它厂商仪器来实现,按照上述思想设计的仪器驱动如图3所示。这种方式极大的提高了硬件可互换的级别,实现了基于功能的仪器互换。

图3 正弦功能互换性设计
4.2 可视化编辑
开发平台提供“所见即所得”的界面定制生成功能,结合具体测试的需求,设计和创建测试执行所需的运行界面。通过可视化的操作以及大量丰富的设置,减少了出错的可能,也从一定程度上解决了以往流程开发多以文本语句构建,不直观,不清晰的缺点。
开发平台通过可视化的设计器,提供了一个集成开发环境,该环境能够管理TP工程文件、进行TP建模、TP调试、TP发布等。

图4 流程编辑器
在通用开发平台软件中提供了流程图编辑器供开发人员以图形化的方式创建测试流程,在流程编辑界面根据业务逻辑,绘制相应的流程。在界面编辑部分,通过软件提供的各种界面基本元素,设计流程执行过程中的用户交互界面。如图4、图5所示的就是一个简单的数据采集流程。

图5 界面编辑器
4.3 基于ATML的信息组织
ATML通过定义测试平台、被测单元、接口适配器等描述信息及测试信息的格式标准,促进在不同测试环境中的信息交换。此外,ATML可以促进测试和维修信息的反馈,使得持续改进产品及其测试的过程成为可能。
TP开发阶段以ATS集成阶段生成的各种ATML描述文档为基础,生成ATML测试描述文档,进而依据ATML测试描述文档生成TP,最后通过适当的配置就可以形成可执行测试程序。TP的开发流程如图6所示。
ATML建立了统一的信息框架,测试系统各个部分均采用XML格式描述。这种格式很容易被人和计算机读懂,从而实现了测试系统信息共享,与此同时也大大提高了TP的可移植性。

图 6 TP开发过程
4.4 测试引擎技术
作为通用平台软件的核心之一,测试引擎的作用不言而喻。它是整个软件系统效率、鲁棒性的重要保证。
测试引擎为通用平台软件提供了强大的流程执行与调试能力,流程执行方面除了提供简单的序列、循环、跳转、分支外,还可以根据需要开辟独立的执行线程以满足特定的场景。对于调试,测试引擎提供了单步运行、跳过以及断点、监视等功能。
4.5 开放的体系结构
任何一个软件自身所能提供的功能总是有限的,但是用户的实际需求总是千变万化的,如何通过一种灵活的架构来适应满足这种情况,是检验一个软件系统是否强大的标志之一。
开放性测试软件体系结构不同于基于特定应用的具体的测试系统软件, 它要求对测试软件做很小改动就可以在不同的ATE上移植, 最大程度地实现代码重用、通用的测试服务、操作员界面和仪器的可操作性与互换性以及软件体系结构的标准化。开放性测试软件体系结构还要求能够不断集成新的软件技术和标准[4]。
开发平台软件支持用户将已经开发的TP,通过封装复用的形式进行代码重用。包括系统中所有供TP开发的模块以及用户自定义的模块,均可以通过“热插拔”的方式供用户灵活裁剪、扩充。
在自定义模块方面,通用平台软件提供给用户一套可供二次开发的规范,通过该规范,用户可以自行开发定制的TP模块、驱动组件等,以尽可能的利用并发挥已有的技术积累成果。软件通过开放的架构,可以将用户的自定义模块无缝的插入系统当中,使得测试功能得到大大的扩充。
5 结束语
本文通过分析国内外在ATS领域的相关测试软件,针对当前TP开发中存在的可移植性、扩展能力以及复用程度等方面的不足,提出了具有开放性的软件架构,采用文中提到的多项技术设计并实现了通用平台软件,为ATS测试软件的开发提供了又一种高效、直观的实现途径。
参考文献
[1] 陆古兵,张林,金传喜等,基于PXI总线技术的船用电子设备自动测试系统设计[J].测控技术,2009,28(1):70-72.
[2] 任献彬,牛双诚,许爱强.通用ATS软件设计平台研究[J].宇航计测技术,2002,22(5):59-63.
[3] 于劲松,李行善,下一代自动测试系统体系结构与关键技术[J].计算机测量与控制,2005.13(1):1-3.
[4] 王学奇,陈华勇,肖明清. 开放性测试软件体系结构研究[J]. 微型计算机(管控一体化)2005 年第21 卷第10-3 期: 145-147.