基于自动测试系统的并行测试软件设计

时间:2022-09-15 02:14:35

基于自动测试系统的并行测试软件设计

摘要:本文首先论述在自动测试系统中以串行测试架构为基础的硬件结构设计,优化测试资源和硬件接口模式;其次,选用多进程/多线程技术来实现并行测试软件的设计,并提出了运用DLL、消息传递和内存映射等多种技术方法来解决多进程之间的数据共享以及测试资源问题;最后,给出相应实例,用于指导并行自动测试系统的软件开发;在工程应用中,采用其中一种或多种技术的组合来满足实际需要。

关键词:自动测试系统;并行测试;数据共享

中图分类号:TP311.52文献标识码:A文章编号:1007-9599 (2011) 04-0000-01

Design of Parallel Test Software on ATS

Hong Chenghua1,Cao Juan1,Zhao Xuyang1,Mi Wengpeng2

(1.Teaching and Research Section 103,the PLA Second Artillery Academy,Qingzhou262500,China;2.Teaching and Research Section 202,the PLA Second Artillery Academy,Qingzhou262500,China)

Abstract:First studies how to meet auto test system(ATS) hardware architecture demands of parallel test by improving test instruments and hardware interface.Then,it focuses on using multi-process/multi-thread software technique to fulfill parallel test of auto test system(ATS).Several techniques are presented to resolve test instruments and data sharing between multi-processes,such as memory mapping,message posting and DLL.Several application examples are given to demonstrate these techniques.In actual applications,these techniques can be used by one or combined.

Keywords:Auto test system(ATS);Parallel test;Data sharing

自动测试系统(ATS)在相同时间内对单个被测对象(UUT)进行多路激励以及测量的测试任务称为并行测试。当单个UUT有多个I/O,且每个I/O都必须被独立测试时,并行测试可减少操作人员的数量,减少测试程序(TP)的运行时间,减少CPU和测试装置的闲置时间,但同时这样也会增加ATS的总处理能力。在进行并行测试过程中,UUT功能和参数所用的测试时间会比使用传统的串行测试方法要少很多。因此在实现并行测试在结合硬件结构设计的同时,重点在于并行ATS的软件开发。[1]

一、软件实现

在测试资源以及硬件接口模式满足要求的条件下,以串行ATS的架构为基础,软件实现的过程是通过采用多进程/多线程技术来完成ATS的并行测试。并且,DLL、消息传递和内存映射等多种技术中的不同组合方式可用于解决多进程之间的测试资源以及数据共享问题。

(一)ATS软件平台。ATS软件平台主要包括四部分:测试程序、管理程序、服务程序和驱动程序。图1展示的是ATS软件构成:

1.测试程序:多个测试子程序共同组成,一个测试子程序承担一个被测对象的测试项目选择、加/断电、测试和测试结果实时报告等功能。

2.管理程序:调用、分配测试资源,调用测试程序,修改、保存、查阅、打印与删除测试结果的文件。

3.服务程序:在软件平台中,除其它程序以外测试资源的校准程序、故障诊断程序、可互换程序以及辅助文件等。

4.驱动程序:完成测试资源激励或测量被测对象。

(二)多进程与多线程。多进程或多线程技术应用于ATS上要完成并行测试时的软件开发。在相应的进程中创建线程,线程的整个寿命周期都在进程中,这是一个动态的概念。而进程是一个静态的概念,它没有任何操作,只是线程依存的地方多任务是指同一时间可以有多个程序在内存中运行。主线程是在进程创建时自动创立的,主线程本身又可生成新的线程。[2]

二、硬件结构设计

测试硬件接口模式以及测试软件运行模式的限制导致现在广泛使用的电子装备通用ATS虽然可以测试多种UUT,但大多沿用串行测试工作方式,不能同时对单个UUT的多路I/O和多个UUT同时完成测试。因此在串行ATS升级为并行ATS的过程中,首先必须进行系统硬件结构的改进设计。

(一)测试资源的选择。个别测试资源在工作模式上只能支持串行测试,因此,并行测试系统中应采用支持多通道同时并行测试的测试资源。

(二)接口模式的改进。串行ATS与UUT之间的连接方式是由单个UUT通过适配器实现与测试系统的相连,因此,ATS在相同时间内只能对单个UUT完成测试。

并行ATS与UUT之间的连接方式可采取多个UUT同时接到ATS上,来实现并行测试。

三、测试资源和数据共享技术

由于在多线程程序中,调试程序是一个固有的难题,所以如果单个UUT的测试流程的存在形式是多线程,那么测试流程的调试就会比较困难。调试程序又是编写完测试程序后的一个必要步骤。所以,建议测试程序的存在形式采用进程。

同时如果一个测试程序采用一个进程,那么多个测试程序之间的测试资源与数据的共享就是一个难题。运用以下几种技术可以解决这一难题。

(一)DLL。驱动程序支持了测试资源的运行。在并行自动测试系统中,一个测试资源的驱动程序有可能会在多个进程中得到应用,所以它应该是安全并可以重载的。

在并行测试的测试资源的调用过程中,应该分配好管理程序中的通道,禁止在同一时间不同的测试程序调用同一个通道。

(二)内存映射文件。为了方便管理程序和不同的测试程序查看与修改,在ATS中,可以在内存映射文件中存放测试资源的使用情况。如果需要在多个进程之间形成内存的共享,可以采用如下方法:在一个进程中创建一个文件并映射之,然后另一个进程可以通过打开和映射该件,这样就可以将它作为自己进程的内存来使用。[3]

(三)消息传递。用于一个进程发送数据到其它进程。程序对整个系统和资源的管理采用如下方法:在一个测试程序启动之后,给管理程序发送一个消息,告知管理程序哪一个测试程序启动了,且占用了哪些测试资源。

四、结论

各国的军事装备部门以及相关厂商对并行测试作为新一代自动测试系统的一个发展方向给予了相对的重视,也使之成为了一个学术界研究的热点。软件开发技术以及硬件测试资源被并行测试技术的研究推动发展。

本文以串行测试架构为基础,首先改进了系统接口模式和硬件测试资源,其次,选用多进程/多线程技术来实现并行测试软件的设计,并提出了运用DLL、消息传递和内存映射等多种技术方法来解决多进程之间的数据共享以及测试资源问题;最后,给出相应实例,用于指导并行自动测试系统的软件开发;在工程应用中,采用不同组合方式来满足实际工程需要。

参考文献:

[1]卓家靖,孟晨,方丹.并行自动测试系统硬件结构研究仁[J].计算机测量与控制,2009,17(5):820-821

[2]飞思科技产品研发中心.Delphi下深人Windows核心编程[M].北京:电子工业出版社,2003

[3]Jeffrey Richter.Windows核心编程[M].黄陇,李虎.北京:机械工业出版社,2008

上一篇:认知无线网络中基于R-E模型的信道选择算法 下一篇:信息化下教学模式的转变