一种面向应用的测试任务自动生成与运行方法

发布者:心灵之窗最新更新时间:2011-08-16 关键字:测试任务  自动生成 手机看文章 扫描二维码
随时随地手机看文章
目前虚拟仪器ATS(自动测试系统)的研究是国内外测试领域的研究热点,其研究方向主要集中在TPS[1]的可移植性、ATE的互换性和软件模块的可重用性上,形成了基于仪器[1]、基于信号[2]、基于组件[1]的三类较为成熟的ATS软件体系结构,但同时也不难看到测试人员开发和维护测试系统的难度正不断增大,这严重制约着ATS的推广应用。
  传统的测试任务生成方法,不仅开发难度大、维护成本高,而且需要测试人员既要懂得测试原理,也要有扎实的程序设计基础。当前国际通用的自动测试语言——ATLAS[3],作为面向被测单元而与测试仪器无关的信号描述语言,实现了测试程序与ATE(自动测试设备)的无关性,但基于该语言的ATS开发成本极高,同时也需要开发人员花大量时间掌握纷繁的ATLAS语言结构。这都与一般工程应用实际的要求存在着较大差距。为此通过借鉴软件测试自动化中的脚本技术[4],并结合虚拟仪器成熟的软件框架结构,提出面向应用的测试任务自动生成与运行方法,实现从传统用代码操作PXI仪器的开发方式转换为面向应用的开发方式,有效解决在变更测试任务需求时,传统自动化测试方法难以快速适应的问题。
  该方法的核心思想是利用测试人员熟悉仪器操作,为测试人员设计一个操作和测试程序相对应的自动生成、运行平台,力求实现测试用户开发测试系统的零编程 [5]。本文将重点介绍该方法所基于的平台软件体系结构以及各功能模块的功能、组成和接口情况。
1 通用ATS开发平台的软件体系结构设计
  结合现有的ATS软件体系结构、分层思想,设计基于该技术的通用ATS开发平台软件体系结构[6]如图1所示,其中实线箭头表示实际存在的调用关系,虚线表示存在的间接的调用关系。整个故障测试系统分为四层,下层通过组件技术封装成动态链接库的形式供上层调用,这样方便系统的维护,模块化的开发也将有利于提高开发效率。各层具体功能如下: 

  (1) 测试任务管理层
  每一个测试项目都分为若干个测试单元,每个测试单元由多个测试模块组成,一个测试模块由多个元器件组成,对测试单元、测试模块、元器件分别添加测试任务就能完成不同规模、不同层次的测试。在管理层就是完成测试项目流程库的构建,是自动测试的前提。
  (2) 仪器管理层
  该层作为中间层,主要实现向上提供统一的调用接口,对下层的仪器模块实现管理。另外,该层还完成脚本的管理、编辑,在该层实现测试任务脚本的生成。
  (3) 仪器模块层
  该层由具体的仪器模块组成,一个仪器模块外部由仪器软面板构成,内部主要包含针对该仪器的三个功能模块:直接运行、脚本生成、脚本解释器。脚本解释器功能模块供脚本执行层调用,它是测试任务管理层实现自动测试的基础。脚本生成功能模块主要提供给仪器管理层完成测试任务脚本的生成。
  (4) 脚本执行层
  该层作为仪器管理层的脚本管理功能的具体实现,供测试任务管理层在测试任务执行时调用,主要完成根据不同的脚本语句第一个标识符(逻辑设备名或其他脚本控制标识),将测试任务的脚本分发给不同仪器的解释器解释执行。
  四层功能既相互独立,又相互依存。面向应用的测试任务自动生成与运行方法以整个软件框架为依托,是整个测试系统的核心思想。
2 脚本规范设计
  为了保证脚本的统一解释运行,使得测试运行时具有良好的交互性,通过借鉴成熟的软件自动测试中的关键字驱动脚本技术[3],并且利用IVI中通用驱动函数库,定义了一套脚本规范,包括仪器操作脚本集、运行提示脚本集、脚本注释集、脚本延时运行集、并行脚本。
  (1) 仪器操作脚本集中语句语法格式定义为:
  DevName,OPERAT,(Para 1,...,Para n),(RetPara), RetType;
  其中:DevName为逻辑设备名,例如,“AFA”(音频分析仪),“DMM”(数字万用表);OPERAT为仪器操作定义,例如,“CONFIG”(配置),“OPEN”(打开),“CLOSE”(关闭);Para n为仪器参数,例如,输出信号的频率、幅值,输入信号的采样频率、采样点数等,其顺序关系确定后就被固定下来;RetPara为返回参数,指定该次测试需要返回的测量值;RetType为返回类型,将测量值按照指定的数据格式进行转换。
  (2) 运行提示脚本集定义如下:
  MSG,STRING,这是操作提示,NORET; MSG,END,NORET;
  (3) 脚本注释集:
  COMMENT,这是脚本注释;
  (4) 脚本延时运行集:
  DELAY,延时值(双精度数值);
  (5) 并行脚本集:
  SUBSCRIPT_BEGIN,并行脚本标识;
  SUBSCRIPT_END,并行脚本标识;
  SUBSCRIPT_START,并行脚本标识。
[page]

3 仪器模块设计
  为了仪器管理层更好地管理、维护仪器模块,利用制定仪器模块统一的开发方法和接口标准,具体的开发步骤如下:
  (1) 分析该仪器的功能、参数、驱动函数情况,利用脚本规范制定该模块的脚本语句;
  (2) 设计该仪器模块的软界面;
  (3) 完成该模块直接运行模式、脚本生成模式和对应解释器功能实现;
  (4) 封装该模块成动态链接库,提供统一的三个接口供上层调用,具体接口如下:
  int DevNameInterpreter(char *lineScript, void *PTESTTABLE); //解释器入口 
  int LaunchDevNameDevice(void *PTESTTABLE);//仪器面板入口
  int EnforceCloseDevNameDevice(void *PTESTTABLE);//强制关闭仪器入口
  其中DevName指定义的逻辑设备名,例如数字万用表定义为DMMInterpreter,*lineScript指传递给该解释器解释执行的脚本指针,*PTESTTABLE指整个系统的配置文件指针,从该文件读入仪器资源符,返回值的指针等信息。在直接运行模式下,仪器的操作按钮直接调用仪器驱动库函数完成相应功能。在脚本生成模式下,仪器操作按钮触发脚本生成,脚本生成器将仪器参数作为操作属性按照脚本规范中的定义组成一条有效的操作脚本语句生成给用户。仪器模块中的解释器将有效脚本解释成仪器驱动函数库中的具体函数,并调用具体函数操作。
  以射频信号源为例,根据脚本规范定义其所需的初始化、配置参数、上变频、停止脚本语句分别如下:
  RFSG,INIT,信号源资源名,上变频资源名,NORET;
  RFSG,CONFIG,调制模式,载波频率,调制频率,调制频偏,NORET;
  RFSG,UPCONVERT,载波输出,输出功率电平,载波带宽,NORET;
  RFSG,STOP,NORET;
  射频信号源的软面板仪器操作与脚本之间对应的关系如图2所示。

4 测试任务自动生成与运行的实现
  测试任务的自动生成首先建立在被测设备的全面分析的基础之上,通过分析理清被测设备输入和待测信号的关系,根据测试任务需求,用户在信号对应的仪器模块的软件界面上直接操作仪器,比如使用数字IO配置信号通道,使用射频信号源发送射频信号,使用射频分析仪进行频谱分析。在对应软面板操作结束后,其仪器模块中的解释器将完成对操作记录的转化,生成相应的操作脚本。在一系列操作能满足测试需求后,整个测试过程将被以脚本的形式记录保存。在需要重现某一测试任务的测试过程时,仪器操作脚本可以被脚本执行层统一调度后解释执行,通过预定义的交互接口,调用程序能方便快捷地得到测试返回结果。图3给出该技术的基本原理。

  生成的测试任务脚本利用测试任务管理层可以添加到数据库中,通过分析被测设备的测试要求可以构建整个测试项目的不同层次的测试任务,比如通信设备的整机测试、板级测试、功能模块测试、元器件级测试。当执行一个故障测试时,测试任务的自动运行由测试任务管理层提交测试脚本给脚本执行层开始,到脚本执行层解释执行完脚本后结束,测试项目的自动运行流程图如图4所示。

  面向应用的测试任务自动生成与运行技术实现了具体测试系统开发的零编程,用户在开发和维护测试系统时,只需要关心被测设备的信号关系、故障诊断等专业知识,只要会使用仪器就会开发和维护,这将用户从底层测试代码开发的过程中解放出来,使得用户可以直接关注于被测对象,而不必花费太多精力在如何设计程序上。由于借助于模块化的标准开发,用户自身可以方便地修改某个模块或者变更某测试任务而不影响整个系统,大大缩短了开发和维护的难度。
  通过对上述通用ATS开发平台功能的扩张,例如增加测试任务管理层中测试点的电气特性参数、实物图信息,深化脚本的控制、操作等功能,就能实现真正意义上的故障测试通用开发平台。利用该方法开发的多个通信设备电路板板级和元器件级故障测试系统已交付某单位正式使用,证明了整个技术的可行性。

 

 

关键字:测试任务  自动生成 引用地址:一种面向应用的测试任务自动生成与运行方法

上一篇:基于LabVIEW的信号输出与数据采集系统
下一篇:一种用于飞行器下高速数据采集存储系统设计

推荐阅读最新更新时间:2024-03-30 22:17

利用高级语言自动生成单片机的查表程序
在单片机应用系统中,常用到许多复杂的数学计算,如计算sin(x)、cos(x)、有效值计算、非线性插值等。这些在高级语言中是简单的工作,而在单片机的汇编语言中却是非常复杂的。因为,这些运算大都要用乘除运算来进行近似运算,计算的精度很难满足要求。更难以接受的是其运算时间太长,这对于无乘除指令的单片机系统更是如此。采用查表取代复杂的计算是一个明智的选择。但是,这种查表程序表格往往都较长,通常为几十条到一二百条,如果采用手工输入不但要花费大量的时间,而且还容易出错。利用高级语言的单片机查表程序的自动生成技术可以大大减小工作量,而且不易出错。 用过MICroChip公司的PIC16系单片机的读者都知道,该系列单片机具有许多优点
[单片机]
利用高级语言<font color='red'>自动</font><font color='red'>生成</font>单片机的查表程序
日本大阪大学研究人员推出能够自动生成步态的弱力四足机器人
对于那些研发四足运动机器人的专家而言,往往需要耗费大量时间来制定机器人步态控制策略,这样才能确保它们行走时更加稳定、并适应各种不同环境。一般来说,科学家会使用先进的控制器来让机器人更有效地完成工作任务,比如向机器人指派给定任务,或是根据特定地形来选择适当的步态。 不过现在,一批来自日本大阪大学的研究人员正在尝试采用不同的方法,依靠四足机器人的身体和周围环境之间的相互作用,加上一些弱力腿部电机的支持,在不需要任何传感器或控制器的条件下让机器人自动生成步态。 这个概念最厉害的一点,就是可以利用低扭矩直流电机的机械无缘性构建出一种振荡器模型,并以此产生步态。四足机器人的每个腿中的低扭矩电机会利用纯物理机制来延迟和调整腿的相位:它自身的
[安防电子]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
最新测试测量文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved