一种设备的测试运行时方法及测试服务器的制造方法

文档序号:7782155阅读:125来源:国知局
一种设备的测试运行时方法及测试服务器的制造方法
【专利摘要】本发明公开了一种设备的测试运行时方法及测试服务器,其中,该方法包括:接收来自用户的控制指令,其中,用户包括:本地测试用户和/或远程测试用户;根据控制指令执行对应的本地测试行为和/或远程测试行为。本发明采用了能够既接收本地测试用户发来的控制指令,也接收远程测试用户发来的控制指令,根据不同用户的不同控制指令,来完成不同的控制行为,相比于现有技术,单机测试与远程测试分开设置的方式,本发明实施例提供了一种标准性、通用性及兼容性都较强的方法,通过运用该方法,能够解决现有技术并没有一种能够实现从单机测试向远程测试、分布式测试拓展的问题。
【专利说明】一种设备的测试运行时方法及测试服务器
【技术领域】
[0001]本发明涉及测量和测试领域,特别是涉及一种设备的测试运行时方法及测试服务器。
【背景技术】
[0002]传统的自动测试过程都是在本地计算机完成的。近几年,计算机网络技术得到了迅猛的发展,自动测试系统也需要从传统的单机测试向远程、分布式测试发展,相应的,自动测试系统软件也要适应不断发展的技术需要,满足用户远程测试、分布式测试的需求。
[0003]自动测试软件经历了从可编程仪器(Standard Commands for ProgrammableInstruments,简称为SCPI)指令方式、面向仪器方式、面向信号方式的发展过程。无论是哪种方式,其内部都需要一套完善的测试运行管理机制来支持、维护。测试运行管理模块的职责包括接收指令、解析任务、控制仪器、分发数据等,是自动测试软件执行的核心。
[0004]然而,现有技术并没有一种能够实现从单机测试向远程测试、分布式测试拓展的问题。

【发明内容】

[0005]本发明提供了一种设备的测试运行时方法及测试服务器,用以解决现有技术并没有一种能够实现从单机测试向远程测试、分布式测试拓展的问题。
[0006]为解决上述技术问题,一方面,本发明提供一种设备的测试运行时方法,包括:接收来自用户的控制指令,其中,所述用户包括:本地测试用户和/或远程测试用户;根据所述控制指令执行对应的本地测试行为和/或远程测试行为。
[0007]进一步,根据所述控制指令执行对应的本地测试行为和/或远程测试行为之前,还包括:在所述用户为所述远程测试用户的情况下,对输入的协议配置文件和/或任务配置文件进行解析,以转换为逻辑语言;根据所述逻辑语言确定测试内容。
[0008]进一步,根据所述控制指令执行对应的本地测试行为和/或远程测试行为之后,还包括:读取测试过程中缓存的测试数据;将所述测试数据发送至本地人机界面或者整个测控网络的各个客户端界面。
[0009]进一步,所述方法还包括:当多个测试任务同时启动的情况下,通过资源锁定技术调度所述多个测试任务的执行顺序;按照所述执行顺序执行所述多个测试任务。
[0010]另一方面,本发明还提供一种测试服务器,包括:总控指令应答模块,用于接收来自用户的控制指令,其中,所述用户包括:本地测试用户和/或远程测试用户;并根据所述控制指令执行对应的本地测试行为和/或远程测试行为。
[0011]进一步,所述测试服务器还包括:消息解析模块,用于在所述用户为所述远程测试用户的情况下,对输入的协议配置文件和/或任务配置文件进行解析,以转换为逻辑语言;并根据所述逻辑语言确定测试内容。
[0012]进一步,所述测试服务器还包括:数据分发模块,用于读取测试过程中缓存的测试数据;并将所述测试数据发送至本地人机界面或者整个测控网络的各个客户端界面。
[0013]进一步,所述测试服务器还包括:测试逻辑引擎模块,当多个测试任务同时启动的情况下,通过资源锁定技术调度所述多个测试任务的执行顺序;并按照所述执行顺序执行所述多个测试任务。
[0014]进一步,所述测试服务器的采用统一仪器调用接口及运行模式。
[0015]本发明采用了能够既接收本地测试用户发来的控制指令,也接收远程测试用户发来的控制指令,根据不同用户的不同控制指令,来完成不同的控制行为,相比于现有技术,单机测试与远程测试分开设置的方式,本发明实施例提供了一种标准性、通用性及兼容性都较强的方法,通过运用该方法,能够解决现有技术并没有一种能够实现从单机测试向远程测试、分布式测试拓展的问题。
【专利附图】

【附图说明】
[0016]图1是本发明实施例中设备的测试运行时方法的流程图;
[0017]图2是本发明实施例中测试服务器的结构示意图;
[0018]图3是本发明实施例中测试服务器的另一种结构示意图;
[0019]图4是本发明优选实施例中本地测试模式下的工作原理图;
[0020]图5是本发明优选实施例中本地测试模式下的工作流程图;
[0021]图6是本发明优选实施例中远程测试、分布式测试模式下的工作原理图;
[0022]图7是本发明优选实施例中远程测试、分布式测试模式下的工作流程图。
【具体实施方式】
[0023]为了解决现有技术并没有一种能够实现从单机测试向远程测试、分布式测试拓展的问题,本发明提供了一种设备的测试运行时方法及测试服务器,以下结合附图以及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不限定本发明。
[0024]本发明实施例提供了一种设备的测试运行时方法,其流程如图1所示,包括步骤S102至步骤S104:
[0025]S102,接收来自用户的控制指令,其中,用户包括:本地测试用户和/或远程测试用户;
[0026]S104,根据控制指令执行对应的本地测试行为和/或远程测试行为。
[0027]本发明实施例采用了能够既接收本地测试用户发来的控制指令,也接收远程测试用户发来的控制指令,根据不同用户的不同控制指令,来完成不同的控制行为,相比于现有技术,单机测试与远程测试分开设置的方式,本发明实施例提供了一种标准性、通用性及兼容性都较强的方法,通过运用该方法,能够解决现有技术并没有一种能够实现从单机测试向远程测试、分布式测试拓展的问题。
[0028]实施过程中,在根据控制指令执行对应的本地测试行为和/或远程测试行为之前,还可以在用户为远程测试用户的情况下,对输入的协议配置文件和/或任务配置文件进行解析,以转换为逻辑语言;根据逻辑语言确定测试内容。如果用户为本地测试用户,那么不涉及到网络协议等,不需要进行其相关的解析。[0029]根据控制指令执行对应的本地测试行为和/或远程测试行为之后,还可以读取测试过程中缓存的测试数据;再将测试数据发送至本地人机界面或者整个测控网络的各个客户端界面。
[0030]如果测试过程中遇到多个测试任务共同存在的情况,则可以在多个测试任务同时启动的情况下,通过资源锁定技术调度多个测试任务的执行顺序;按照执行顺序执行多个测试任务。
[0031]本发明实施例还提供了一种测试服务器,其结构可以如图2所示,包括:
[0032]总控指令应答模块10,用于接收来自用户的控制指令,其中,用户包括:本地测试用户和/或远程测试用户;并根据控制指令执行对应的本地测试行为和/或远程测试行为;数据分发模块20,与总控指令应答模块10耦合,用于读取测试过程中缓存的测试数据;并将测试数据发送至本地人机界面或者整个测控网络的各个客户端界面。
[0033]在图2的基础上,图3还示出了上述测试服务器的另一种结构示意图,在本图中,其仅为结构示意,各模块还可以采取其他链接方式,按照此种方式连接的情况下,各个模块可以按照其职能选择性工作。还包括:消息解析模块30,与总控指令应答模块10耦合,用于在用户为远程测试用户的情况下,对输入的协议配置文件和/或任务配置文件进行解析,以转换为逻辑语言;并根据逻辑语言确定测试内容;测试逻辑引擎模块40,与消息解析模块30和数据分发模块20耦合,当多个测试任务同时启动的情况下,通过资源锁定技术调度多个测试任务的执行顺序;并按照执行顺序执行多个测试任务。
[0034]需要说明的是,上述的测试服务器的采用统一仪器调用接口及运行模式,以达到适配各个厂商仪器的差异性。
[0035]本发明实施例提出的方法将测试运行管理的职责封装为独立的服务器,提供接口可与外部人机界面、各种网络应用通讯,从而实现本地、远程用户的灵活调用,解决了自动测试系统软件从单机测试向远程测试、分布式测试拓展的技术难题。
优选实施例
[0036]本发明实施例提供的设备的测试运行时方法,用以实现测试流程的本地、远程运行。该方法可以通过独立的测试服务器进行实现,则该服务器可以包括:总控指令应答模块、消息解析模块、测试逻辑引擎模块、数据分发模块等。下面对各个模块的功能进行说明。
[0037](O总控指令应答模块。
[0038]该模块主要接收外部控制指令该指令可以是本地计算机人机界面发送的指令,也可以是远程用户发送的指令。在用户为本地测试用户时,将上述控制指令传递给测试逻辑引擎模块。
[0039]该模块在具体的测试执行过程中,起到“翻译器”和“通信中介”的双重作用。在本地测试时,本模块将人机界面的指令直接传输给测试逻辑引擎;在远程测试、分布式测试时,本模块遵循一定的网络协议,通过消息解析模块将测控局域网(客户端一WEB服务器一运行时服务器)传输来的数据指令翻译成测试逻辑引擎模块可识别的控制命令,而后执行测试动作。
[0040]总控指令的类型可以包括:测试开始、测试暂停、测试继续、测试停止、连续测试、单项测试、区间测试、屏蔽测试、调试运行等。执行逻辑引擎根据不同的总控指令执行不同的逻辑。
[0041](2)消息解析模块。
[0042]消息解析模块主要负责对外部输入的协议配置文件、任务配置文件进行解析,转换为能够控制流程运行的逻辑语言,供执行逻辑引擎调用执行。
[0043]本模块解析的对象为任务配置文件和协议配置文件。任务配置文件主要指描述测试流程的相关文件,该任务文件规定了测试过程的具体步骤与动作,可以是基于标准的语言描述(如ATLAS、ATML等),也可以是自定义的数据内容;协议配置文件指的是描述了总线具体协议的相关文件,如串口通讯协议、1553B通讯协议、CAN总线协议等。
[0044]不同的配置文件,对应于不同的消息解析器,将配置文件解析为具体的测试动作,作为执行逻辑引擎执行的输入。
[0045]( 3)测试逻辑弓I擎模块。
[0046]测试执行过程涉及到大量的运行逻辑与消息交互,测试逻辑引擎模块正是为实现逻辑控制和消息管理而设计。在具体测试过程中,执行逻辑引擎的职责具体包括:
[0047]控制流程按照顺序、并行等方式运行;控制流程循环、跳转、走入不同分支;将仪器控制参数传递给正确的仪器资源;将人机交互的消息发送给界面层显示;按照任务文件要求进行数据的计算;定义并管理各种参数、变量,包括其类型、数值、判据、单位等;多线程调度管理;测试数据的缓存与管理;在设计中采用“消息泵”的模式。“消息泵”的主要作用是执行逻辑引擎执行控制时的消息交互,消息泵组件的输入由消息类型、传递目标、参数信息和发送消息的方式等组成,输出为产生消息的特定动作。
[0048]网络模式下,多用户同时在线执行测试任务时,测试逻辑引擎模块采用多线程调度的方式,保证多任务并行不悖的运行。当多任务产生硬件资源冲突时,采用资源锁定技术,同一时刻只允许一个用户使用该硬件资源。
[0049]测试逻辑引擎模块最终产生的仪器控制动作传入硬件驱动器进一步执行;缓存的数据由数据分发模块分发、传递与处理。
[0050](4)数据分发模块。
[0051]数据分发模块主要负责处理测试数据。测试数据首先由测试逻辑引擎模块在内存中缓存,然后由数据分发模块读取,一方面发送给本地人机界面或者测控网络的各个客户端显示,一方面存储入本地数据库或者数据库服务器。
[0052]在网络模式下,允许多测试任务同时进行,这时数据分发模块要根据不同的任务请求,将测试数据发送给相应的客户端正确显示。
[0053]本发明的测试服务器还可以设置一个硬件驱动模块,该硬件驱动模块的作用是统一仪器调用接口及运行模式,屏蔽不同厂商仪器的差异性。本方法中采用IV1-COM规范接口,不仅支持满足IVI驱动的仪器,对于非IVI标准的仪器,可进行二次封装转化为标准化接口,从而进行统一调用。采用硬件驱动模块的最大优点在于扩展性方便,对于新扩展的仪器类别,只要开发出满足现有规范的驱动封装形式,就能被自动测试系统软件调用,而不必修改整个软件框架。
[0054]本发明上述的测试服务器是将测试流程的运行时服务抽象为几大模块,通过各模块之间的合理化分工与协同工作,共同完成运行时服务的复杂功能,实现了本地与远程两种模式下运行时服务架构的统一,有效解决了现有测试软件无法扩展适用于远程、分布式测试模式的问题。当然,本领域技术人员还可以将上述的服务器集成化,设计为一种软件系统。下面分别对本发明本地测试和远程测试的实现过程做进一步详细说明。
[0055](I)本地测试。
[0056]其原理和工作流程分别如图4和5所示,该过程设置了自动测试系统(ATS)由主控计算机+仪器资源组成,整个测试软件都部署在ATS的主控计算机上。
[0057]步骤1:用户登陆软件,在人机交互界面选择测试任务“电压测试”;
[0058]步骤2:加载测试任务“电压测试”,将得到的信息放入内存中;
[0059]步骤3:用户在人机交互界面点击“开始测试”(连续测试);
[0060]步骤4 开始测试”的指令传入总控指令应答模块,该模块把指令直接转发给测试逻辑引擎模块;
[0061]步骤5:测试逻辑引擎接收总控指令应答模块的指令,开始执行连续测试,在运行到相关测试点时,读取内存中已解析的信息,产生相应的逻辑动作;
[0062]步骤6:测试逻辑引擎模块产生的仪器控制信息传入硬件驱动模块,硬件驱动模块根据仪器ID转入相对应的仪器驱动,驱动仪器产生激励动作、测量动作。仪器采集的测试数据会暂时保存在内存中,供后续处理;
[0063]步骤7:数据分发模块读取内存中的数据,一方面传输给人机交互界面显示,一方面在用户点击“保存”时,存入本地数据库中。
[0064]( 2 )远程测试、分布式测试。
[0065]其原理和工作流程分别如图6和7所示,该过程设置了自动测试系统由客户端,还有WEB服务器、测试服务器、数据库服务器、仪器资源等组成。人机操作界面部署在远程客户端;WEB服务器负责处理各种界面响应;测试运行时服务模块部署在运行时服务器;系统数据库部署在数据库服务器;各种仪器资源通过总线、网络连接于运行时服务器上。
[0066]步骤1:用户登陆远程客户端软件,在人机交互界面选择测试任务“电压测试”,同时该动作传入WEB服务器;
[0067]步骤2 =WEB服务器接收到加载任务的指令,然后通知测试服务器的消息解析模块解析加载测试任务“电压测试”,将解析后的信息放入内存中;
[0068]步骤3:用户在客户端人机交互界面点击“开始测试”(连续测试);
[0069]步骤4:“开始测试”的指令经WEB服务器传入运行时服务器的总控指令应答模块,该模块按照一定的通讯协议,读取指令后转发给测试逻辑引擎模块;
[0070]步骤5:测试逻辑引擎模块接收总控指令应答模块的指令,开始执行连续测试,在运行到相关测试点时,读取内存中已解析的信息,产生相应的逻辑动作;
[0071]步骤6:测试逻辑引擎模块产生的仪器控制信息传入硬件驱动器,硬件驱动器根据仪器ID转入相对应的仪器驱动,驱动仪器产生激励动作、测量动作,如果是网络化仪器,同样经过网络将参数信息传给仪器。仪器采集的测试数据会暂时保存在内存中,供后续处理;
[0072]步骤7:数据分发模块读取内存中的数据,一方面经WEB服务器转发传输给客户端人机交互界面显示,一方面用户在客户端点击“保存”时,存入数据库服务器中。
[0073]尽管为示例目的,已经公开了本发明的优选实施例,本领域的技术人员将意识到各种改进、增加和取代也是可能的,因此,本发明的范围应当不限于上述实施例。
【权利要求】
1.一种设备的测试运行时方法,其特征在于,包括: 接收来自用户的控制指令,其中,所述用户包括:本地测试用户和/或远程测试用户; 根据所述控制指令执行对应的本地测试行为和/或远程测试行为。
2.如权利要求1所述的方法,其特征在于,根据所述控制指令执行对应的本地测试行为和/或远程测试行为之前,还包括: 在所述用户为所述远程测试用户的情况下,对输入的协议配置文件和/或任务配置文件进行解析,以转换为逻辑语言; 根据所述逻辑语言确定测试内容。
3.如权利要求1或2所述的方法,其特征在于,根据所述控制指令执行对应的本地测试行为和/或远程测试行为之后,还包括: 读取测试过程中缓存的测试数据; 将所述测试数据发送至本地人机界面或者整个测控网络的各个客户端界面。
4.如权利要求3所述的方法,其特征在于,所述方法还包括: 当多个测试任务同时启动的情况下,通过资源锁定技术调度所述多个测试任务的执行顺序; 按照所述执行顺序执行所述多个测试任务。
5.—种测试服务器,其特征在于,包括: 总控指令应答模块,用于接收来自用户的控制指令,其中,所述用户包括:本地测试用户和/或远程测试用户;并根据所述控制指令执行对应的本地测试行为和/或远程测试行为。
6.如权利要求5所述的测试服务器,其特征在于,还包括: 消息解析模块,用于在所述用户为所述远程测试用户的情况下,对输入的协议配置文件和/或任务配置文件进行解析,以转换为逻辑语言;并根据所述逻辑语言确定测试内容。
7.如权利要求5或6所述的测试服务器,其特征在于,还包括: 数据分发模块,用于读取测试过程中缓存的测试数据;并将所述测试数据发送至本地人机界面或者整个测控网络的各个客户端界面。
8.如权利要求7所述的测试服务器,其特征在于,还包括: 测试逻辑引擎模块,当多个测试任务同时启动的情况下,通过资源锁定技术调度所述多个测试任务的执行顺序;并按照所述执行顺序执行所述多个测试任务。
9.如权利要求7所述的测试服务器,其特征在于,所述测试服务器的采用统一仪器调用接口及运行模式。
【文档编号】H04L12/26GK103701664SQ201310728720
【公开日】2014年4月2日 申请日期:2013年12月25日 优先权日:2013年12月25日
【发明者】李 杰, 孙健, 路林海, 韩惠婕, 余航, 尹安旭, 刘剑 申请人:北京航天测控技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1