APP下载

一种智能化通用自动测试软件平台的设计与实现*

2014-03-22赵海宁侯立新罗立东

计量技术 2014年8期
关键词:主程序测试项目自动测试

周 鑫 卞 昕 安 莹 刘 科 赵海宁 侯立新 罗立东

(1.中国计量科学研究院,北京 100029;2.北京市西城区药品检验所,北京 100037)

0 引言

目前,我国已成为通信设备、计算机及其他电子产品的生产大国[1]。这些电子产品在生产过程中需要大量电子仪表进行测量,这就使得电子测量仪表的厂家、型号、数量繁多。在自动测试软件开发方面,一些仪器厂商开发了针对本厂仪器的自动测试软件,这些软件通常都存在两方面的局限性[2-3]:1)所有标准设备和被测仪器都只针对该厂商的产品;2)其程序的一体性导致不能方便地进行其他测试项目的添加或已有测试项目的升级。此外,一些计量测试单位在日常业务中也开发了一些自动测试软件,但通常是针对某种特定被测仪器型号、使用的标准仪器和测试项目也相对固定,其标准化程度较低[4]。这些现有自动测试软件的编程方式及设计思想已不能满足当前电子测量仪器飞速发展后的测量需求。

本文提出了一种智能化通用型的自动测试软件平台,基于此软件平台将使测试控制模块可以被工程化复用,提升了程序的可移植性,大幅提高了测试程序的编写效率。同时,该软件平台对测试控制模块给出了清晰、严格的编写规范。使得测试控制模块实现了规范化、标准化和统一化,提高了程序的可读性和可维护性。

1 自动测试软件整体架构

针对电子测量仪器的测量需求,我们认为其自动测试软件必须能够实现如下需求:

1)针对电子测量仪器型号多、数量多、测试项目多且不断发展扩充的特点,自动测试软件必须具有开放性,可扩展性强的特点。

2)随着电子测量仪器的综合化,单台仪器的功能越来越多,这导致了仪器的选件配置越来越复杂。而不同的选件配置对应不同的测试项目。为避免错选、漏选测试项目,同时降低测试人员的工作复杂度,自动测试软件需具备自动生成被测仪器应测测试项目的能力,使自动测试软件初步实现智能化。

为满足上述需求,自动测试软件整体架构如下:

软件平台选用Windows Server操作系统,开发环境为Labview。自动测试软件由系统主程序、测试程序集(Test Programs Set,TPS)[2]、测试数据表、测试连线图及数据库组成。其中系统主程序与测试子程序(即测试程序集中的测试程序)由Labview开发,测试数据表为MS EXCEL格式文件,每个被测型号对应一个“测试数据表”,即对应一个EXCEL文件。测试数据表负责按统一格式存储该被测型号仪器各个测试项目的测量点。测试连线图为JPEG格式文件,测试连线图存储了测试某一项目时,被测仪器与标准器的连线方法,用于给测试人员提供连线方法提示。数据库为MS ACCESS格式文件,保存测试项目、测试子程序、测试连线图等元素的对应关系。

软件整体架构如图1所示。“系统主程序”提供自动测试软件系统的所有人机交互接口。首先自动测试软件需根据用户的输入确定被测仪器的型号。确定型号后,即可确定与型号相对应的“测试数据表”,系统主程序调用该型号对应的“测试数据表”。并且,系统主程序在数据库中查询该型号被测仪器所对应的测试项目,将该型号对应的所有测试项目,写入系统主程序的备选测试项目列表框中,测试人员选择需测试项目。系统主程序在数据库中查询被选择的测试项目,得到该测试项目所对应的测试程序及测试连线图的文件名称。此时系统主程序即可调用该测试项目所对应的测试程序及测试连线图。测试连线图显示在“系统主程序”的测试界面上,指导测试人员连接测试仪器。测试子程序在之前被“系统主程序”调用的“测试数据表”中读取测试点、控制测试仪器进行测试,最后将测试结果再写入“测试数据表”。

图1 自动测试软件整体架构

以上为整个软件运行的整体流程,软件整体架构的设计思路是使软件中不同层次的各项功能相分离,从而实现程序的工程化复用,满足通用性、开放性的测试软件需求。具体讲即“测试程序”负责程控测试仪器,“测试数据表”存储测量点。这样当需要改变测量点时,仅需改变“测试数据表”即可。“系统主程序”根据用户输入通过对数据库的查询,实现对上述各项元素的正确调用。由于“系统主程序”与具体的测试过程无关。所以当需要增加被测仪器型号或测试项目时,“系统主程序”不需改动。保证了软件的通用性和开放性。

2 自动测试软件设计

2.1 系统主程序方案设计

系统主程序由四个相对独立的模块组成,四个模块为“登录页”、“一键页”、“测试方案页”、“测试页”四个模块关系如图2所示。

图2 系统主程序各模块关系

首先通过登录页面加载测试人员信息,进入“一键页”。进入“一键页”后,有两种运行方式,一种是在输入被测仪器程控地址后,点击“一键测试”按钮直接进入“测试页”开始测试(软件自动配置测试项目),一种是进入“测试方案”页,人工配置测试项目后,再进入测试页。可以看到“一键页”是满足测试软件智能性的需求,实现测试方案的自动生成的关键。

2.1.1“一键页”模块设计

“一键页”模块的软件界面及程序流程图如图3、4所示。

图3 “一键页”模块的软件界面

图4 “一键页”模块程序流程图

首先在“一键页”中输入DUT(Device Under Test被测仪器)的程控地址,并点击“搜索”按纽,程序根据DUT地址,通过程控命令读取DUT的型号。然后在数据库中查询此型号,若能找到此型号,则根据找到的型号在“一键页”界面中自动输入仪器类型、型号等信息,并加载相应的DUT图片,当然能够实现上述功能,是因为我们首先在软件系统中包含被测仪器图片库,同时在数据库中建立了上述各个信息的对应关系表。接下来读取DUT选件。并在数据库中查找对应此选件的测试方案。能够实现此功能是因为首先DUT的测试项目是由DUT的选件决定的,另外我们在数据库中建立了选件与测试方案(测试方案即测试项目的集合,一般包含多个测试项目及测试项目的顺序关系)的对应关系表。找到对应选件的测试方案后,将“一键页”界面上的“一键测试”和“下一步”按纽使能。若找不到测试方案则仅使“下一步”按纽使能。若用户点击“下一步”按纽则进入“测试方案”页,测试人员手动选择测试项目,若用户点击“一键测试”按纽,则自动加载数据库中对应的测试方案,直接进入“测试页”。

2.1.2“测试方案页”模块设计

限于篇幅,这里通过软件运行的流程向大家介绍一下程序设计的思路。进入“测试方案”页界面后,软件会通过对数据库的查询,在“测试方案页”的“可选测试项目”列表框中列出该型号所有的测试项目,用户双击某一测试项目后,该测试项目即进入“测试方案页”中的“测试方案”列表。“测试方案”列表中的测试项目将被传递到“测试页”进行测试。按此方法选择所有要测试的测试项目后,点击“下一步”按纽,即进入“测试页”。

2.1.3“测试页”模块设计

进入“测试页”后首先将在“测试方案”页中所选择的测试方案加载到“测试页”的“测试方案”列表中。软件根据测试项目,在数据库中找到该测试项目对应的测试子程序及测试连线图,在“测试页”图片显示控件中显示测试连线图,测试人员按照测试连线图连接测试设备后,点击“开始”按纽,软件调用相应测试子程序,进行测试。当该测试项目测试完毕,按照上述方法同样在数据库中找到下一个测试项目的测试子程序和测试连线图,若测试连线图没有变化则直接调用测试子程序进行测试,若测试连线图有变化,则暂停测试,显示新的测试连线图。测试人员按照新的测试连线图连接测试设备后,点击“开始”按纽,进行下一项测试。 按照上述流程完成所有测试项目的测试。

2.2 测试程序模块设计

通过上述介绍可以看到,系统主程序的作用实质是有机关联自动测试中的测试项目、测试程序集、测试数据表、测试连线图等各个测试元素。而测试程序模块的作用是直接控制被测及标准仪器,完成对仪器的测试。测试程序模块统一用labview编写,被测仪器型号、测试项目、该测试项目所用标准器的组合共同确定一个测试程序模块。所有测试程序模块的集合称为测试程序集。与系统主程序对应测试程序模块又称为测试子程序。

自动测试软件中对仪器的控制可看作是由程控命令语句和测量点(设置值)组成。程控命令写在测试子程序中,测量点写在测试数据表中。测试子程序读取测试数据表,按照表中规定的测试点设置测量仪器。上述测试子程序的设计思想,也是整个软件“功能分离”设计思想的体现,即将程控命令和测量点相分离,从而实现测量点可以独立地便捷更改以及测试子程序的可移植性。

另外,对于需要重复移植的测试子程序,所有程序按照统一、严格的程序编写规范编写,这样使得自动测试软件开发、维护、升级过程标准化、规范化,提升了软件的开发效率和质量,提高了软件的可维护性。

3 总结和展望

“功能分离”是贯穿整个自动测试软件的核心设计思想,运用这一基本的软件设计思想有效的满足了测试软件通用化的需求。所谓“功能分离”,其实质是将自动测试软件中随测试型号、测试项目变化的元素提取出来,这样当改动或增加这些元素时,仅需要升级或复制这些独立的软件元素即可,而系统主程序不需变动,保证了程序的通用性和易扩展性,提高了软件编写的效率和质量。利用本自动测试系统已经实现了30多个型号被测仪器的自动测试,编写了600多个测试子程序,年测试仪器数量上千台。本文所述的软件设计思想和方案设计模式,已被工程应用证实,具有很强的应用价值。

[1]郝晓夏,史艳明.我国电子信息产业的国际竞争力分析[J].中国对外贸易(英文版),2012(6)

[2]戴林.基于VI的通用自动测试系统设计与传输标定的实现 [D].南京航空航天大学,2010

[3]袁邦云,张晓斌,吴小华.基于GPIB的电源自动测试系统的设计[J].计测技术,2005,25(3)

[4]周鑫,何昭.信号发生器通用自动测试系统软件的研制[J].计量技术,2005(4)

[5]肖保良.基于通用ATS框架的测试系统软件开发 [D].西北工业大学,2007

[6]周绍磊,周正.一种通用自动测试系统软件平台的设计与实现[J].计算机测量与控制,2003,11(7)

猜你喜欢

主程序测试项目自动测试
我国金融科技“监管沙盒”测试项目准入标准制度研究
篮球半场往返运球上篮的训练方法——体育中考篮球测试项目训练心得
浅谈数控铣削技术代码程序的嵌套方式研究
电控冰箱软件模块化设计
JXG-50S型相敏轨道电路接收器自动测试台
关于某型雷达自动测试系统的几点认识和建议
时光倒流 换回PotPlayer老图标
基于ATE与BIT组合的NAMP自动测试与故障诊断系统设计
《国家学生体质健康标准》测试项目修订研究
一种卫星低频接口自动测试系统