一种面向仪器和信号的测试程序开发方法与流程

文档序号:13454101阅读:302来源:国知局

本发明属于测试技术领域,具体涉及一种面向仪器和信号的测试程序开发方法。



背景技术:

在自动化测试系统中,测试程序开发技术越来越重要。测试程序开发技术目前有两种:一种是面向仪器的测试程序开发技术,一种是面向信号的测试程序开发技术。

面向仪器的测试程序开发技术是采用仪器操作描述测试程序,如“用信号源给uut施加一个激励信号,然后用功率计测量uut的功率”。面向仪器的测试程序开发技术非常普遍。美国国家仪器(ni)公司的labwindows/cvi是一个文本式的测试程序开发工具,通过编写代码,并在代码中调用仪器的驱动程序实现面向仪器的测试程序开发。ni公司的labview是一个图形化测试程序开发工具,利用它提供的仪器驱动软件模块可进行面向仪器的测试程序开发。ni公司的teststand是一个平台化的测试程序开发工具,它提供了六大类仪器操作软件模块,利用这些软件模块可进行面向仪器的测试程序开发。目前公开的面向仪器测试程序开发软件都不具备面向信号测试程序开发功能。

面向信号的测试程序开发技术是指使用信号操作语句描述测试程序,如“给uut施加一个频率2ghz、功率0.2db的射频信号,然后测量uut的功率”。面向信号的测试语言包括atlas和atml两种。atlas诞生于20世纪60年代,1962年美国arinc公司主持开发了航空标准测试描述语言atlas,用于解决航空领域测试描述语言标准化问题,1976年美国电气与电子工程师协会ieee(instituteofelectricalandelectronicsengineers)开始接手atlas的标准化工作,1995年ieee设立的标准协调委员会scc20(standardcoordinatingcommittee20)发布了atlas的最新标准ieeestd716-1995。atlas具有设备无关性、可扩充性强等有点,但是随着测试需求的增长,atlas也逐渐暴露出语言越来越庞杂、信号定义模糊等缺点,为此scc20着手对atlas标准进行改进,由此产生新一代的测试语言---atlas2000,并在此基础上制定了ieee1641标准,该标准用于信号与测试定义。ieee1641标准解决了测试描述的标准化问题,也解决了仪器互换问题,但却不能解决测试程序移植问题。为此ieee从2002年开始制定了atml标准族,产生了ieee1671系列标准,采用xml语言描述测试信息,该标准族引用了ieee1641标准,采用信号的方式描述uut测试需求、仪器能力、测试描述等信息。目前基于atml标准的面向信号测试程序开发是现阶段主要的研究方向。本发明所说的面向信号测试程序是指符合atml标准的测试程序。面向信号的测试程序生成技术近年来发展较快,比较典型的有selex公司的tpswizard和智略公司的testwizard,这两款软件针对面向信号测试程序开发,提供了测试信息建模,测试程序图形化设计等功能。目前公开的面向信号测试程序开发软件都不具备面向仪器测试程序开发功能。

信号驱动是一个将信号操作转变为仪器操作的一个软件模块,一般是在仪器厂家提供的仪器驱动基础上二次开发而成。信号驱动的开发一般利用商用的c/c++/c#等开发环境,经过编码、编译等流程得到。

当前面向仪器的测试程序开发、面向信号的测试程序开发、信号驱动的开发需要三个分离的开发环境,并且开发方式不统一,从而带来了开发成本高、学习工作量大,对开发人员要求高的问题。

目前面向仪器测试程序开发、面向信号测试程序开发、信号驱动开发在技术层面缺少融合机制,导致企业或开发人员不得不面对多个分离的开发环境,并且缺乏统一的开发方式。从而带来了开发成本高、学习工作量大,对开发人员要求高等一系列问题。

采用面向仪器和面向信号的综合型测试程序开发技术,能够将面向仪器的测试程序开发、面向信号的测试程序开发、信号驱动的开发融为一体,并且采用统一的软件模块组合开发方式,使得uut设计者、熟悉面向仪器的专业测试人员和信号驱动开发人员可以在一个统一的环境中进行开发,从而为企业或开发人员降低了开发成本、减少了学习工作量,降低了对开发人员的能力要求。



技术实现要素:

针对现有技术中存在的上述技术问题,本发明提出了一种面向仪器和信号的测试程序开发方法,设计合理,克服了现有技术的不足,具有良好的效果。

为了实现上述目的,本发明采用如下技术方案:

一种面向仪器和信号的测试程序开发方法,采用信号操作软件模块、仪器操作软件模块、综合开发环境和测试程序执行环境四部分;

信号操作软件模块,被配置为用于进行包括信号连接、信号断开、信号测量、信号改变在内的信号操作功能;

仪器操作软件模块,被配置为用于进行仪器操作功能,被操作的仪器包括信号源、频谱仪、示波器进和程控电源;

综合开发环境,被配置为用于为测试程序开发人员和信号驱动开发人员提供图形化或可视化的开发环境;具备仪器操作软件模块和仪器操作软件模块管理功能,通过组装仪器操作软件模块开发面向仪器的测试程序和信号驱动,通过组装信号操作软件模块开发面向信号的测试程序,同时还具备资源分配功能,产生的资源分配信息可帮助测试程序执行环境在运行面向信号测试程序时检索到信号对应的信号驱动;

测试程序执行环境,被配置为用于加载综合开发环境开发的面向仪器测试程序、信号测试程序,并按照设计的执行流程运行测试程序;

所述的面向仪器测试程序的开发过程,具体包括如下步骤:

步骤s01:在综合开发环境中添加仪器操作软件模块;

步骤s02:在综合开发环境中组装仪器操作软件模块;

步骤s03:生成面向仪器测试程序;

步骤s04:测试程序执行环境装载面向仪器测试程序;

步骤s05:测试程序执行环境运行测试程序;

步骤s06:测试程序执行完毕后,在测试程序执行环境中自动或手动卸载测试程序;

所述的面向信号测试程序开发过程,具体包括如下步骤:

步骤s11:在综合开发环境中添加信号操作软件模块;

步骤s12:在综合开发环境中组装信号操作软件模块

步骤s13:生成面向信号测试程序和资源分配信息;

步骤s14:测试程序执行环境装载面向信号测试程序和资源分配信息;

步骤s15:测试程序执行环境运行测试程序;

步骤s16:测试程序执行完毕后,在测试程序执行环境中自动或手动卸载测试程序。

优选地,在步骤s04中,测试程序执行环境装载面向仪器测试程序时调用仪器操作软件模块的初始化方法,其具体包括如下步骤:

步骤s041:解析测试程序,得到仪器操作软件模块集合;

步骤s042:判断仪器操作软件模块集合是否遍历完毕;

若:判断结果是未遍历完,则执行步骤s043;

或判断结果是遍历完,则结束;

步骤s043:从集合中得到下一个未处理的仪器操作软件模块;

步骤s044:调用该仪器操作软件模块的初始化方法;

步骤s045:将该仪器操作软件模块标记为已处理;

步骤s046:重复步骤s042~s045。

优选地,在步骤s05中,测试程序执行环境运行测试程序时调用仪器操作软件模块的运行方法,其具体包括如下步骤:

步骤s051:遍历装载测试程序时得到的仪器操作软件模块集合,判断仪器操作软件模块集合是否遍历完毕;

若:判断结果是未遍历完,则执行步骤s052;

或判断结果是遍历完,则结束;

步骤s052:从集合中得到下一个未处理的仪器操作软件模块;

步骤s053:调用该仪器操作软件模块的运行方法;此运行方法调用仪器配套的仪器驱动完成对仪器的控制;

步骤s054:将该仪器操作软件模块标记为已处理;

步骤s055:重复步骤s051~s054。

优选地,在步骤s06中,在测试程序卸载时调用仪器操作软件模块的关闭方法,其具体包括如下步骤:

步骤s061:遍历装载测试程序时得到的仪器操作软件模块集合,判断仪器操作软件模块集合是否遍历完毕;

若:判断结果是未遍历完,则执行步骤s062;

或判断结果是遍历完,则结束;

步骤s062:从集合中得到下一个未处理的仪器操作软件模块;

步骤s063:调用该仪器操作软件模块的关闭方法;

步骤s064:将该仪器操作软件模块标记为已处理;

步骤s065:重复步骤s061~s064。

优选地,在步骤s14中,测试程序执行环境装载信号测试程序时调用信号操作软件模块的初始化方法,其具体包括如下步骤:

步骤s141:解析测试程序,得到信号操作软件模块集合;

步骤s142:判断信号操作软件模块集合是否遍历完毕;

若:判断结果是未遍历完,则执行步骤s143;

或判断结果是遍历完,则结束;

步骤s143:从集合中得到下一个未处理的信号操作软件模块;

步骤s144:调用该信号操作软件模块的初始化方法;

步骤s145:将该信号操作软件模块标记为已处理;

步骤s146:重复步骤s142~s145。

优选地,在步骤s15中,测试程序运行时调用信号操作软件模块的运行方法,其具体包括如下步骤:

步骤s151:遍历装载测试程序时得到的信号操作软件模块集合,判断信号操作软件模块集合是否遍历完毕;

若:判断结果是未遍历完,则执行步骤s152;

或判断结果是遍历完,则结束;

步骤s152:从集合中得到下一个未处理的信号操作软件模块;

步骤s153:调用该信号操作软件模块的运行方法;

步骤s154:将该信号操作软件模块标记为已处理;

步骤s155:重复步骤s151~s154。

优选地,在步骤s16中,测试程序卸载时调用信号操作软件模块的关闭方法,具体包括如下步骤:

步骤s161:遍历装载测试程序时得到的信号操作软件模块集合,判断信号操作软件模块集合是否遍历完毕;

若:判断结果是未遍历完,则执行步骤s162;

或判断结果是遍历完,则结束;

步骤s162:从集合中得到下一个未处理的信号操作软件模块;

步骤s163:调用该信号操作软件模块的关闭方法;

步骤s164:将该信号操作软件模块标记为已处理;

步骤s165:重复步骤s161~s164。

优选地,信号操作软件模块调用信号驱动,信号驱动被配置为用于将对信号的操作转化为对仪器的操作,包括一个仪器操作软件模块集合,该集合由一个或多个仪器操作软件模块组成。

优选地,信号驱动的开发过程如下所示:

在综合开发环境中添加仪器操作软件模块,综合开发环境组装仪器操作软件模块实现信号驱动接口的初始化、运行、关闭方法;

其中,信号驱动的初始化方法在测试程序装载时被调用,具体包括如下步骤:

步骤101:测试程序执行环境装载面向信号测试程序;

步骤102:解析测试程序,得到信号操作软件模块集合;

步骤103:遍历信号操作软件模块集合,判断信号操作软件模块集合是否遍历完毕;

若:判断结果是未遍历完,则执行步骤104;

或判断结果是遍历完,则结束;

步骤104:从集合中得到下一个未处理的信号操作软件模块;

步骤105:调用该信号操作软件模块的初始化方法,此初始化方法调用信号驱动的初始化方法;

步骤106:将该信号操作软件模块标记为已处理;

步骤107:重复步骤103-106;

其中,信号驱动的关闭方法在测试程序卸载时被调用,具体包括如下步骤:

步骤201:遍历装载测试程序时得到的信号操作软件模块集合,判断信号操作软件模块集合是否遍历完毕;

若:判断结果是未遍历完,则执行步骤202;

或判断结果是遍历完,则结束;

步骤202:从集合中得到下一个未处理的信号操作软件模块;

步骤203:调用该信号操作软件模块的关闭方法;

步骤204:信号操作软件模块的关闭方法会调用信号驱动的关闭方法;

步骤205:将该信号操作软件模块标记为已处理;

步骤206:重复步骤201-205;

其中,信号驱动的运行方法在测试程序运行时被调用,具体包括如下步骤:

步骤301:遍历装载测试程序时得到的信号操作软件模块集合,判断信号操作软件模块集合是否遍历完毕;

若:判断结果是未遍历完,则执行步骤302;

或判断结果是遍历完,则结束;

步骤302:从集合中得到下一个未处理的信号操作软件模块;

步骤303:调用该信号操作软件模块的运行方法,该运行方法会调用信号驱动的运行方法;

步骤304:将该信号操作软件模块标记为已处理;

步骤305:重复步骤301-304。

优选地,信号驱动的调用关系如下所示:

测试程序执行环境通过软件模块接口调用信号操作软件模块;

信号操作软件模块通过信号驱动接口调用信号驱动;

信号驱动通过软件模块接口调用仪器操作软件模块。

本发明所带来的有益技术效果:

本发明提出的面向仪器和面向信号综合型测试测序开发技术,使得在同一个开发环境中既可以让uut的设计者开发面向信号的测试程序,又可以让测试人员采用面向仪器的方式开发信号驱动和面向仪器的测试程序;通过组合式开发加快了开发速度,统一了开发方式,从而节约了开发成本、降低了开发人员要求、减少了学习工作量。

附图说明

图1为本发明组成框图。

图2为面向仪器测试程序的组成示意图。

图3为面向仪器测试程序开发与运行过程示意图。

图4为仪器操作软件模块初始化方法流程图。

图5为仪器操作软件模块关闭方法的流程图。

图6为仪器操作软件模块运行方法的流程图。

图7为面向信号测试程序的组成示意图。

图8为面向信号测试程序开发与运行过程示意图。

图9为信号操作软件模块初始化方法流程图。

图10为信号操作软件模块关闭方法的流程图。

图11为信号操作软件模块运行方法的流程图。

图12为信号驱动组成示意图。

图13为信号驱动开发过程示意图。

图14为信号驱动调用关系示意图。

图15为信号驱动初始化方法流程图。

图16为信号驱动关闭方法的流程图。

图17信号驱动运行方法的流程图。

具体实施方式

下面结合附图以及具体实施方式对本发明作进一步详细说明:

面向仪器和面向信号的综合型测试程序开发技术,分为信号操作软件模块、仪器操作软件模块、综合开发环境和测试程序执行环境四个部分,如图1所示。信号操作软件模块提供一组信号操作功能,包括但不限于信号连接、信号断开、信号测量、信号改变等信号操作功能,每一个功能由一个信号操作软件模块实现。仪器操作软件模块提供一组仪器操作功能,包括但不限于信号源操作、频谱仪操作、示波器操作、程控电源操作等仪器操作功能,某一个具体型号的仪器或某一类型仪器的操作由一个仪器操作软件模块实现。综合开发环境为测试程序开发人员和信号驱动开发人员提供图形化或可视化的开发环境,通过组装仪器操作软件模块开发面向仪器的测试程序和信号驱动,通过组装信号操作软件模块开发面向信号的测试程序。

仪器操作软件模块是进行面向仪器测试程序开发的构造块,通过组装这些构造块,测试程序开发人员可快速进行面向仪器测试程序开发。面向仪器测试程序的组成如图2所示,它包括一个仪器操作软件模块集合,该集合由一个或多个仪器操作软件模块组成。

面向仪器测试程序开发与运行过程如图3所示。综合开发环境将仪器操作软件模块添加到开发环境中,综合开发环境组装这些软件模块生成面向仪器测试程序。测试程序执行环境装载面向仪器测试程序和其它信息,然后通过约定好的软件模块接口调用仪器操作软件模块。仪器操作软件模块调用仪器配套的仪器驱动完成对仪器的控制。仪器驱动一般由仪器生产厂家提供。

软件模块接口是仪器操作软件模块对外的接口,具有如下定义:

仪器操作软件模块initialize(初始化)方法在测试程序装载时被调用,其执行流程如图4所示。测试程序中的所有仪器操作软件模块的initialize(初始化)方法按顺序调用,从而为这些仪器操作软件模块提供机会,进行数据准备、资源分配等工作。

仪器操作软件模块close(关闭)方法在测试程序卸载时被调用,其执行流程如图5所示。测试程序中的所有仪器操作软件模块的close(关闭)方法按顺序调用,从而为这些仪器操作软件模块提供机会,进行数据清理、资源释放等工作。

仪器操作软件模块run(运行)方法在测试程序运行时被调用,其执行流程如图6所示。测试程序中的所有仪器操作软件模块的run(运行)方法按顺序调用。

信号操作软件模块是进行面向信号测试程序开发的构造块,通过组装这些构造块,测试程序开发人员可快速进行面向信号的测试程序开发。面向信号测试程序的组成如图7所示,它包括一个信号操作软件模块集合,该集合由一个或多个信号操作软件模块组成。

信号操作软件模块包括但不限于下表所示的几个:

面向信号测试程序开发与运行过程如图8所示。综合开发环境将信号操作软件模块添加到开发环境中,综合开发环境组装这些软件模块生成面向信号测试程序。测试程序执行环境装载面向信号测试程序和其它信息,然后通过约定好的软件模块接口调用信号操作软件模块。信号操作软件模块调用信号驱动,信号驱动调用仪器操作软件模块,仪器操作软件模块调用仪器配套的仪器驱动完成对仪器的控制。仪器驱动一般由仪器生产厂家提供。

信号操作软件模块和仪器操作软件模块具有统一的软件模块接口,一方面在综合开发环境层面保证了面向信号测试程序和面向仪器测试程序开发方式的统一,另一方面在测试程序执行环境层面保证能够以统一的方式运行面向信号测试程序和面向仪器测试程序。

信号操作软件模块initialize(初始化)方法在测试程序装载时被调用,其执行流程如图9所示。测试程序中的所有信号操作软件模块的initialize(初始化)方法按顺序调用,从而为这些信号操作软件模块提供机会,进行数据准备、资源分配等工作。

信号操作软件模块close(关闭)方法在测试程序卸载时被调用,其执行流程如图10所示。测试程序中的所有信号操作软件模块的close(关闭)方法按顺序调用,从而为这些信号操作软件模块提供机会,进行数据清理、资源释放等工作。

信号操作软件模块run(运行)方法在测试程序运行时被调用,其执行流程如图11所示。测试程序中的所有信号操作软件模块的run(运行)方法按顺序调用。

信号驱动由信号连接、信号断开、信号测量、信号改变等信号操作软件模块调用,用于将对信号的操作转化为对仪器的操作。信号驱动一般针对某一个具体型号的仪器或某一种类型的仪器进行开发。信号操作软件模块是针对信号的,信号驱动是针对仪器的,它们之间通过某种逻辑关系进行关联。也就是说信号操作软件模块最终会和一个信号驱动关联上,从而实现信号和仪器的关联。

本发明提出的信号驱动开发方式采用与本发明中面向仪器测试程序开发方法一样的技术,通过组装仪器操作软件模块,测试程序开发人员可快速进行信号驱动开发。信号驱动组成如图12所示,它包括一个仪器操作软件模块集合,该集合由一个或多个仪器操作软件模块组成。

信号驱动开发过程如图13所示。综合开发环境将仪器操作软件模块添加到开发环境中,综合开发环境组装仪器操作软件模块生成信号驱动。

信号驱动调用关系如图14所示。测试程序执行环境通过软件模块接口调用信号操作软件模块,信号操作软件模块通过信号驱动接口调用信号驱动,信号驱动再通过软件模块接口调用仪器操作软件模块。

信号驱动接口是信号驱动对外的接口,具有如下定义:

信号驱动initialize(初始化)方法在测试程序装载时被调用,其完整调用流程如图15所示。测试程序中的信号操作软件模块的initialize(初始化)方法会被逐一调用,每个信号操作软件模块的initialize(初始化)方法会调用其关联的信号驱动的initialize(初始化)方法,信号驱动的initialize(初始化)方法按设计的流程逐一调用它的仪器操作软件模块的指定方法。通过这个过程,为测试程序中所有的信号操作软件模块、信号驱动、仪器操作软件模块提供机会,进行数据准备、资源分配等工作。

信号驱动close(关闭)方法在测试程序卸载时被调用,其完整调用流程如图16所示。测试程序中的信号操作软件模块的close(关闭)方法会被逐一调用,每个信号操作软件模块的close(关闭)方法会调用其关联的信号驱动的close(关闭)方法,信号驱动的close(关闭)方法按设计的流程逐一调用它的仪器操作软件模块的指定方法。通过这个过程,为测试程序中所有的信号操作软件模块、信号驱动、仪器操作软件模块提供机会,进行数据清理、资源释放等工作。

信号驱动run(运行)方法在测试程序运行时被调用,其完整调用流程如图17所示。测试程序中的信号操作软件模块的run(运行)方法会被逐一调用,每个信号操作软件模块的run(运行)方法会调用其关联的信号驱动的run(运行)方法,信号驱动的run(运行)方法按设计的流程逐一调用它的仪器操作软件模块的指定方法。

当然,上述说明并非是对本发明的限制,本发明也并不仅限于上述举例,本技术领域的技术人员在本发明的实质范围内所做出的变化、改型、添加或替换,也应属于本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1