APP下载

虚拟仪器测试软件通用化研究

2021-12-01

科学与信息化 2021年4期
关键词:测试软件虚拟仪器代码

洛阳电光设备研究所 河南 洛阳 471000

概述

随着测试技术的发展,虚拟仪器技术已越来越广泛的应用在科研生产实践中。以PCI总线、VXI总线、PXI总线为代表的虚拟仪器以其兼容性好、组态灵活、可扩展性强和数据传输速率快等优点,为多通道、高精度的测量设备的设计提供了技术保证,已成为仪器总线和综合测试系统优秀的开发平台之一,且在国防、工业、航空以及通信等领域得到广泛的应用。

但是,传统的自动测试系统往往围绕具体对象实现的功能来进行测试程序设计,这样造成测试软件对测试对象有着很强的针对性,后者微小的差异都会影响软件的结构和代码,使得软件的通用性很差。本文针对此点进行深入的软件研究,采用与传统编程方法不同的设计思想、软件结构,使得软件具有很好的通用性,从而保护测试系统的智力投资。

通用测试程序,是在软件设计中通过引入数据库实现对输入、输出信号的管理。开发人员只需要对产品进行硬件分析,完成检测流程和适配器设计,并将输入及输出信号的类型、对应的插座和插针、取值大小等信息填入规定的表格中,程序将自动对表格进行处理,实现对产品自动测试,不需要开发人员针对每个产品编写测试软件。

1 传统测试程序设计思想

在传统的测试程序开发过程中,首先需要对产品进行分析,写出详细的测试流程,然后,程序员根据测试流程编写代码,再经过编译、调试、修改等步骤,最终完成测试程序。这样的程序当然可以完成对某个被测对象的测试,但是,由于程序编写时是针对具体的测试流程,因此程序也具有局限性。当更换了被测对象后,由于测试流程的不同,导致必须重新编写新的测试程序,虽然可能部分代码可以继续使用,但总体来说,通常程序需要进行大幅的更改并重新编译、调试。

通过对传统的编写测试软件方法的认真分析,不难发现,用软件完成某个测试任务主要包含了两个条件:正确的资源调用代码、适当的资源调用顺序。对产品的测试,简单来说,就是向产品提供激励信号,然后测量其输出信号的一个过程。程序员根据详细的测试流程,按照适当的顺序排列资源调用代码,操作设备为产品提供激励信号并进行测量,这样就完成了自动测试的过程[1]。

2 通用化测试程序设计理念

通用化测试程序就是要使得测试软件代码完全实现重用性,实现软件的通用性,其关键在于要将软件代码与具体的测试流程相解耦,软件设计与代码编写时应是针对测试资源(即测试设备中的所有资源),可以称之为面向设备的编程方法。这种编程方法的核心理念包括两个方面:

(1)对测试资源进行详细的分析,针对每一种资源的调用编写代码,使得程序中涵盖了全面的资源调用代码,以便于对设备进行任何操作,通过数据影射,将测试任务影射成信号激励/测量的需求,这个虚拟资源需求通过接口内部服务机制的解释和定位转换成真实资源,再驱动仪器完成真实服务,这样,程序代码就具有了通用性。

(2)要完成对一个产品的测试,具有针对该产品的测试流程是必不可少的,因此,程序需要具有对外接口,通过这个接口,程序可以读入具体的测试流程,按照这个流程的顺序来调用程序中的资源代码,使得设备按此顺序进行动作,从而完成对某一产品的自动测试过程[2]。

3 关键技术及解决措施

通用测试程序的编程方法中,可以通过引入数据库或数据表格来对软件代码和测试流程进行解耦。将具体的测试流程规范化,使其成为一个(或多个)有标准格式的数据库或表格文件,也就是说,任何具体产品的测试流程都需要写成统一格式的文件,这个文件就是测试软件与具体产品之间的接口文件。在这个文件中,测试信息以一种中立的、与具体实现无关的格式进行交换,程序读入这个文件后,依次读取文件中的记录,记录的顺序是根据产品测试的流程编写的,程序每读取一条记录,就按照记录中的信息来选择虚拟仪器模块及通道使其进行相应的动作,为产品提供一个激励或者进行一次测量,当程序依次读取了所有的记录并控制设备完成了动作后,就完成了整个测试[3]。

4 结束语

目前测试领域行业中广泛应用了虚拟仪器测试系统,本方法是在此基础上,通过以标准表格的形式将测试代码与具体的测试流程相剥离,从而实现了测试程序的通用化。这将使得检测设备基本框架相同或相近的情况下,开发人员将精力集中在对产品的分析上,仅针对产品编写测试流程表格文件,不再需要重新编写软件代码,大大缩短了研发周期。

猜你喜欢

测试软件虚拟仪器代码
网络自适应测试软件运行方法设计
创世代码
创世代码
创世代码
创世代码
基于虚拟仪器的电池剩余电量检测系统设计与研究
自动化检测EPU10A板卡系统设计与实现
虚拟仪器及其在电工电子实验中的应用
虚拟仪器技术在农业装备测控中的应用
远程开放教育学生自主学习能力评价的研究