面向信号的测试资源管理方法研究

2019-06-26 07:57高海英朱望纯
桂林电子科技大学学报 2019年1期
关键词:测试程序文档组件

郭 煜, 高海英, 朱望纯

(1.桂林电子科技大学 电子工程与自动化学院,广西 桂林 541004;2.桂林电子科技大学 教学实践部,广西 桂林 541004)

测试资源的管理与配置是测试程序可执行的基础,在自动测试系统中起到重要作用。当前装备功能及复杂度不断增长,测试设备型号繁杂互不通用,导致测试资源管理难度不断加大。传统自动测试系统通常根据面向仪器模式进行研发,其测试程序和硬件依赖紧密,无法实现测试资源通用化管理,导致仪器可互换难及测试程序不可移植等问题。

传统面向仪器开发模式中存在的上述问题已成为ATS由专用型向通用型发展的主要制约因素。鉴于测试需求的本质是对信号的需求,信号贯穿自动测试系统的各个功能,现提出一种面向信号的资源管理方法。面向信号的资源管理方法通过将各种仪器资源的能力和测试需求以统一的信号模型为出发点建立描述文档[1],测试程序将需求信号建模的属性信息及其操作方法实例化为信号组件对象,使测试系统资源管理机制实现以信号组件对象为基本任务调度单元,通过信号组件对象与测试资源能力之间的信号匹配来统筹、安排、利用系统测试资源。这样测试程序就只包含信号信息的处理,不包含具体仪器的操作,解决了传统面向仪器ATS测试程序严重依赖特定硬件的问题,使测试程序跨平台移植易于实现,是目前实现测试资源通用化管理的最佳解决方案。

1 面向信号的资源管理架构

面向信号的资源管理主要由系统建模、测试程序、信号组件集合、运行时服务4个部分合作完成。首先通过系统建模生成统一规范的系统资源描述文档和需求描述文档,为测试流程中各系统组件间的信息共享与交互提供信息支持;测试程序提取测试需求描述文档中的需求信号信息实例化为信号组件对象,将信号组件对象作为任务调度单位传递给运行时服务;运行时服务(RTS)根据信号组件对象中的信号属性,通过遍历系统资源描述文档中的仪器能力描述及硬件资源的连接关系,匹配到满足要求的仪器。面向信号的ATS软件程序未涉及具体硬件设备信息,在测试执行时RTS将匹配到的仪器端口、适配器和开关连接等信息提供给测试程序,并实现信号组件与IVI-Signal接口交互,驱动仪器执行测试。这种开发模式可最大限度实现仪器无关性和测试程序可移植,同时起到简化软件系统架构难度、提高系统的可靠性和兼容性的作用。面向信号测试资源管理架构如图1所示。

图1 面向信号的资源管理架构

2 面向信号的系统建模

在自动测试系统中,通过测试系统信息描述格式统一,实现系统组件间的信息共享与交互,是系统功能执行的必要条件。面向信号的系统建模通过引入统一的信号描述模板,对ATS中测试需求与仪器、测试工作站、UUT等系统资源建模提供标准化的描述格式,将系统信息生成符合自动测试标记语言(ATML)标准的XML描述文档。其中测试需求描述文档主要包含由激励/测量需求信号的描述信息和执行序列;系统资源描述文档中主要内容是围绕信号能力展开的资源信息描述,而且还包括测试站到适配器、再到UUT的系统连接关系[2]。

2.1 使用STD标准解决信号的描述

面向信号的测试系统软件平台中,实现测试信号需求和仪器信号能力的通用定义和描述,是面向信号的资源管理首要解决的问题。为解决这个问题,在系统建模中引入STD(信号与测试定义)标准,STD对所有基本信号进行严格和精确的定义,并提供复杂信号的合成机制,不同设备产生的同一种信号在STD的定义下是严格一致的[3]。其信号模型与信号描述结构如图2所示。

图2 基于STD的信号描述结构

从图2可看出,STD信号模型含有Conn、In、Out、Sync、Gate等接口。其中Conn接口用于简单信号合成复杂信号;In为信号的输入接口;Out为信号的输出接口;Gate为信号的门限信号;Sync为信号的同步触发信号。信号模型涵盖了信号信息和相应的操作接口,方便用户以统一的结构格式来描述需求信号和测试资源能力。

2.2 仪器能力与物理端口的关联描述

实现面向信号的测试资源管理,不仅需要将仪器能力以信号的形式进行抽象化描述,使仪器能力描述脱离对仪器物理特征的依赖,而且必须将仪器能力到物理端口的逻辑关系描述并保存。在仪器描述文档中,通过定义逻辑资源,使其作为物理端口和仪器能力的关联中介。每台仪器可以有多个逻辑资源,而每个逻辑资源可以与多个仪器能力关联,某个能力也可对应于多个逻辑资源[4]。逻辑资源的输出可关联到一个或多个物理端口。通过仪器能力到资源逻辑端口的映射和资源逻辑端口到物理端口的关联,完成仪器物理端口与仪器功能间约束或依赖等复杂关系的描述。仪器资源能力结构模型如图3所示。

图3 仪器能力结构模型

3 信号组件的设计与交互

测试程序解析测试需求描述文档中的测试信息后,将获取的信号需求信息实例化为信号组件对象。信号组件的本质是信号属性特征的存储体,以COM组件的形式存在,对信号的状态操作函数进行了封装。作为测试需求描述中信号特征信息的载体,信号组件对象在测试资源分配和信号产生过程中起到重要作用:信号组件对象承载信号需求信息后,设置信号特征信息并与仪器资源管理模块进行信息交互;信号产生时,测试程序调用信号组件对象中的状态操作函数,为IVI-Signal驱动的调用传入具体参数。信号组件主要由资源管理类、信号功能类和信号控制类等组成。信号组件类图如图4所示。

图4 信号组件类图

3.1 信号组件设计

资源管理器(IResourceManager)接口是为测试程序申请信号组件对象提供的唯一接口,对应的实现类是ResourceManager类。在程序中要创建一个与测试需求信号对应的信号对象时,要通ResourceManager类的Require方法判断作为参数的信号描述符,从而相应地产生需要的信号对象[5]。

信号功能类(ISignalFunction)提供了对信号需求的类名称、类型、属性和行为进行详细描述的方法,对测试需求信号进行实例化,不包含对具体测试仪器的操作和控制。根据信号的功能状态不同,信号功能类又可细分为激励信号功能类和测量信号功能类。信号功能类以信号物理类(IPhysical)的形式记载包括信号值、量级、单位、精度等信号属性值。根据信号功能类的属性在系统运行时生成相应的信号控制类。信号组件提供可重用的、形式化描述的信号功能类,在信号复用、不同层次的信息描述能力中表现得更有活力。

信号控制类(ISignal)作用是管理信号的状态,主要由信号功能属性和信号状态属性2个部分组成。信号控制类对外提供标准功能接口,通过对信号状态的改变实现对各种测试资源的一系列操作。一种信号通常包含3种状态,分别为Running、Stopped、Paused,它们属于ISignal类的state属性[6]。表1为信号状态描述的详细说明。

3.2 信号组件中的对象交互过程

信号组件对象的初始化和配置是测试需求的实例化过程。测试程序根据测试需求描述文档内需求信号的名称和属性信息,调用资源管理类通过Require方法创建一个信号功能对象实例。根据信号功能类中的属性创建信号物理类,并根据测试需求设置信号特征信息,完成信号物理类的初始化。测试程序调用资源管理模块为信号功能类匹配到适用的仪器,并根据信号功能类和RTS匹配到的仪器信息生成信号控制类;等到信号的测试序列来到时,信号控制类的状态由Stopped改为Running,测试程序根据匹配到的仪器以及仪器配置信息调用IVI-Signal驱动初始化仪器,根据信号功能类的信息产生相应信号。信号功能匹配与信号操作的分阶段实现为完成测试程序生成、调用与执行提供开放式的结构标准,实现测试程序与底层仪器驱动的隔离,保障测试程序的可移植,同时提高测试执行效率[7]。

表1 信号状态描述的详细说明

4 运行时服务对资源的管理与调度

根据信号需求的信息,运行时服务(RTS)进行资源管理和调度,是ATS软件平台中必不可少的重要组成部分。RTS根据信号组件对象中的信号属性,为其匹配满足要求的仪器。IVI-Signal驱动借鉴STD标准提供的信号操作接口,对底层驱动的进行再次封装,对外提供面向信号测试功能的接口。在测试执行时RTS将匹配信息提供给测试程序,使其与IVI-Signal驱动接口交互——测试程序将信号组件对象中的信号信息和RTS匹配仪器的信息传递给IVI-Signal驱动就可以控制仪器完成测试任务。在该方式下,不论将反映同样测试需求的测试程序移植到何种符合标准的软件平台上,只要存在相关的执行组件,均是可通用的[9]。

4.1 运行时服务总体设计

RTS主要包含2方面的内容:1)通过检索系统资源描述文档的能力信息、接口信息和连接信息,查找与测试需求信号能力匹配的仪器;2)查询从仪器能力端口到UUT被测端口之间的最佳信号通路。运行时服务功能的实现是建立在引用资源描述文档信息的基础上,具体如图5所示。

图5 RTS引用系统建模文档流程图

RTS根据测试需求描述文档和已匹配仪器信息生成测试配置文档,确定仪器相关参数配置及仪器端口到UUT端口的测试通道路径信息,为软件平台控制实际仪器提供有效信息[10]。测试资源管理由测试程序配合RTS完成,具体的工作步骤如下:

1)测试程序启动测试资源管理类,读取测试项中的信号需求—虚拟信号及其属性设置对象,并初始化为信号组件对象。

2)RTS根据信号的角色选取系统中具有产生相应角色信号能力的仪器。

3)完成虚拟信号与空闲物理资源之间的匹配,需要综合考虑所有虚拟信号和仪器资源信号能力的符合性及端口的可达性。RTS根据虚拟信号能力需求,利用仪器设备模型的信息匹配符合要求的能力,判断仪器产生信号的端口是否空闲[8];根据虚拟信号连接需求,利用系统资源间的连接关系、路由和信号之间的兼容性匹配符合需求的测试路径。当以上条件都满足时,根据适宜的调度方法分配资源。

4)资源分配成功时,调用测试仪器IVI-Signal驱动,初始化仪器,将物理资源的信号产生函数接口与信号组件对象的句柄绑定并返回给软件程序,更新物理资源的状态。若资源分配不成功,则返回错误信息。

5)测试程序释放信号组件对象的句柄后,将测试仪器恢复为默认设置,并标记使用过的物理资源为空闲状态。

4.2 需求信号与仪器能力的匹配过程

实现需求信号和仪器能力的匹配是面向信号资源管理的基础,具体过程如图6所示。

图6 信号匹配过程

RTS获取根据测试需求信息创建的信号组件对象,然后按照测试组中测试信号的执行序列,依据相应的信号特征匹配仪器能力。信号的特性主要包括信号类型、信号名称、属性值,只有当所有特性都满足需求时,才能说明仪器能力满足虚拟信号[11]。信号能力的匹配过程按照一定的顺序进行。以产生激励正弦信号产生过程为例,首先获取测试项的角色类型,访问测试站描述文档中所有测试仪器的信息,得到具有产生激励信号能力的全部仪器;然后匹配信号的类型,即遍历仪器中的所有能力选择能产生相同真实信号种类的能力;最后匹配信号的属性,根据STD信号库中的定义,分别对相应信号类型的所有属性进行匹配,包括属性值和误差范围。

4.3 仪器资源调度方法

若出现有多个仪器匹配测试需求信号的情况,则需要根据系统运行的实际情况,设计不同的调度方式,对仪器进行优先选择。某测试序列中测试项信号描述如表2所示。

表2 某个测试序列中的测试项信号描述

在考虑测试习惯的基础上,设计2种不同的仪器选择排序方式:最高精度匹配和最小测试仪器集匹配。

4.3.1 仪器最高精度匹配方法

一般情况下,最佳的仪器匹配方法往往要求精度最高,此外考虑到实际中需求值越靠近属性值的中值,信号的输出特性越好。设计信号匹配系数公式为:

其中:n为信号的属性个数;V为属性需求值;Rmin和Rmax分别为仪器属性最小值和最大值;rE为仪器属性精度;vE为需求精度。表3描述了系统测试站内对一个测试序列中的测试项匹配的仪器能力。

表3 测试站中满足需求的仪器能力表

当测试对仪器的精度有较高要求,并且测试时限较大时选择最高精度仪器匹配方法,此方法选择测量系数最高的仪器,所选的仪器如表4所示。

表4 最高精度仪器匹配结果

4.3.2 最小测试仪器集匹配方法

当满足测试项的仪器存在多个,且对测试结果的精度不做太高要求时,若每次都采用精度最高的仪器测量,容易因为频繁使用造成仪器寿命减少等。同时,如果选择的仪器数量过多,在测试过程会经过多次不同仪器间的开关路由的转换,过多仪器的初始化时间会延长测试组的测试时限。这种要考虑防止高精度仪器的过度使用,减少测试时间的情况下,选取仪器集最小的匹配的方法,结果如表5所示。

表5 测试仪器集最小匹配结果

5 结束语

面向信号的自动测试系统参照ATML标准定义系统运行过程中信息的内容和保存格式,引入STD标准对信号与测试信息进行规范,并通过设计信号组件用以实例化测试需求信号,使测试系统资源管理机制以信号组件对象为基本任务调度单元实现。RTS配合测试程序调用信号组件对象与系统资源文档交互,完成从测试信号需求到实际测试资源的映射,并根据实际工程的测试用例,提出2种不同的仪器分配方法。经过实例验证表明,面向信号的资源管理方法中仪器匹配过程不涉及对具体仪器的操作,该方法满足测试资源通用化的要求,为通用测试系统中可移植性测试程序的开发提供了技术支持。

猜你喜欢
测试程序文档组件
浅谈Matlab与Word文档的应用接口
无人机智能巡检在光伏电站组件诊断中的应用
有人一声不吭向你扔了个文档
新型碎边剪刀盘组件
U盾外壳组件注塑模具设计
基于Castle型机械手的三温量产测试平台实现
手机APP交互界面人因适合性测试程序的设计与实现
基于RI码计算的Word复制文档鉴别
Persistence of the reproductive toxicity of chlorpiryphos-ethyl in male Wistar rat
电气自动化控制设备可靠性测试探讨