硬件设备自动化测试系统及其测试方法

文档序号:6428105阅读:694来源:国知局

专利名称::硬件设备自动化测试系统及其测试方法
技术领域
:本发明属于设备测试
技术领域
,涉及一种硬件设备测试系统,尤其涉及一种硬件设备自动化测试系统;同时,本发明还涉及上述硬件设备自动化测试系统的测试方法。
背景技术
:随着技术的发展,各类硬件设备和系统(消费类电子、通信、汽车电子、航空航天…)的集成度和复杂度越来越高,对其测试往往涉及到基础电子、网络通信、软硬件结合等多个方面,但要求的测试周期却越来越短,因此,行业对测试技术也提出了新的要求。硬件设备和系统的测试手段经历了从手动测试到通过编程实现局部测试自动化的发展过程。目前,大家普遍采用“编程开发”实现测试自动化(编程语言如C、VB、LabVIEW、TCL等),这要求硬件自动化测试工程师必须精通程序开发。并且,由于测试类编程语言往往带有技术偏向性,比如,LabVIEW适合用于基础电子类测试程序开发,TCL适合网络通信类测试程序开发,QTP等工具适合GUI(图形化用户界面)相关测试脚本开发,可见,对于复杂的测试项目,自动化测试工程师(或团队)需要掌握多种差异很大的开发语言或工具,并且,需要对不同语言开发的代码进行整合,技术难度很大,间接导致测试自动化率难以提高。而且,在日常工作中,工程师(或团队)需要花费大量的时间在程序编写和调试等“非核心业务”上,而无法专注在测试本身。在这样的背景下,类似美国国家仪器有限公司(NationalInstruments)的TestStand软件越来越受到硬件测试人员的喜爱。TestStand是一套“测试序列构建”软件,自动化测试开发人员可以用LabVIEW、C等编写具体的测试步骤,总体的测试序列/逻辑由TestStand构建,这样,一方面可以减小编程工作量,同时,简化了各类语言开发的程序的集成难度。但TestStand同样存在其不足之处I.只能用于构建测试序列,具体测试步骤仍需通过编程实现,如简单的文件IO操作需要外部编程实现;2.通过适配器(Adapter)可调用软件模块类型较少,主要有LabVIEWVI、CVIDLL、C/C++DLL、.NET,ActiveX和HTBasic等,对偏向网络测试的脚本语言如TCUPython等只能通过“CallExecutable”的方式间接调用,参数传递不灵活;3.无法支持⑶I自动化。
发明内容本发明所要解决的技术问题是提供一种硬件设备自动化测试系统,提供各类可用于实现测试步骤自动化的模块/工具,可以在一个系统中整合各类软硬件资源,实现测试流程自动化。此外,本发明进一步提供上述硬件设备自动化测试系统的测试方法,提供各类可用于实现测试步骤自动化的模块/工具,可以在一个系统中整合各类软硬件资源,实现测试流程自动化。为解决上述技术问题,本发明采用如下技术方案一种硬件设备自动化测试系统,所述系统包括测试逻辑模块、通用工具模块、外部程序调用模块、网络协议模块和GUI自动化模块;测试逻辑模块包含用于实现各类测试逻辑的工具,这些工具用于实现各类测试逻辑,将其它模块中的工具组合成完整的测试流程;测试逻辑模块包括循环单元、条件判断单元、并行单元、等待单元、事件触发单元;循环单元用于实现测试流程中的需要循环的步骤;分为两种类型循环次数确定的循环——设置循环次数即可;需要在每次循环结束后通过条件判断确定是否继续循环——设置循环条件,设置一个或多个条件,这些条件通过与、或逻辑组合;条件判断单元用于通过条件判断确定测试流程走向,S卩,在多个可能的分支中,选择一个分支执行;针对每个分支,设置一个或多个条件,多个条件通过与、或逻辑组合;有一个分支为默认分支,当所有条件都不满足时,执行该分支;并行单元用于并行执行多个测试任务;多个并行的任务同时开始,独立执行,直到所有任务都执行结束。并行结构不限制同时执行的任务数量;等待单元用于在测试流程中插入等待;事件触发单元用于在过个并行测试任务间设置事件触发关系;分为两个模块“触发事件”模块和“等待事件”模块;“等待事件”模块会一直等待,直到“触发事件”模块等到执行,并触发该事件;通用工具模块包含了测试过程中通用的测试步骤实现工具,包括文件操作工具、对话框工具、数学运算工具;文件操作工具通过配置完成对文件的创建、读、写、复制、删除操作;可配置的参数有文件路径、文件名、操作类型、写操作中的数据源、读操作中的被赋值变量名;对话框工具用于配置弹出式对话框,提示框或参数输入框;可在对话框上呈现文本、下拉列表、复选框、图片信息;同时,通过坐标设置对话框在屏幕上的显示位置,通过相对坐标设置各显示项在对话框上的位置;数学运算工具用于完成各类数学运算,包括加、减、乘、除、三角函数运算;通过在配置面板上写表达式完成;外部程序调用模块包含用于调用各类语言编写的外部程序,包括LabVIEWVI调用工具、Win32DLL调用工具、ActiveX调用工具、.NETDLL调用工具、脚本调用工具;LabVIEffVI调用工具自动解析VI的输入输出参数;输入参数传递进VI,VI执行结束后将结果返回;Win32DLL调用工具通过对应的.h文件解析被调用DLL内部的函数及其参数列表;输入参数传递进所调用的函数,执行结束后返回结果;ActiveX调用工具解析出ActiveX内部的函数及其参数列表;输入参数传递进所调用的函数,执行结束后返回结果;.NETDLL调用工具解析出DLL内部的函数及其参数列表,输入参数传递进所调用的函数,执行结束后返回结果;脚本调用工具用于配置、参数化、执行各类脚本,包括TCL、Java、VB、Python脚本;脚本语言中的任何字段都可映射成变量,每种脚本语言都需要正确配置语言类型,并选用对应的后台执行引擎执行;脚本执行结果作为变量保存;网络协议模块用于实现各类网络协议的读写的自动化,支持的网络协议包括RS232、Telnet、SSH、TCP、UDP协议;各类不同网络协议的操作方法类似配置连接参数、建立连接、录制并修改操作脚本;对于RS232,需要配置的连接参数有波特率、数据位、停止位、奇偶校验等;对于其它基于TCP/IP的协议,需要配置的连接参数有IP地址、端口号;建立连接后,通过指令方式与外围设备通信;所发出的指令和收到的返回信息都会被录制成脚本;GUI自动化模块通过“录制-回放”方式实现对各类图形化用户界面操作的自动化,支持的图形化用户界面包括Win32⑶I、JavaGUI、WebGUI、.NETGUI;⑶I自动化模块先“录制”脚本,然后再“回放”;“录制”也称“捕获”,即在测试者运行应用程序的同时,把它的所有动作,包括键盘操作、鼠标点击等捕获下来,生成一个脚本文件,这个脚本以后可被“回放”,也就是按照上一次的所有动作重复执行一遍,实现自动运行和测试;所录制的脚本可根据需要进行编辑、修改。一种硬件设备自动化测试系统,所述系统包括测试逻辑模块、通用工具模块、外部程序调用模块、网络协议模块和GUI自动化模块;测试逻辑模块包含用于实现各类测试逻辑的工具,这些工具用于实现各类测试逻辑,将其它模块中的工具组合成完整的测试流程;通用工具模块包含了测试过程中通用的测试步骤实现工具;外部程序调用模块包含用于调用各类语言编写的外部程序;网络协议模块用于实现各类网络协议的读写的自动化;GUI自动化模块通过“录制-回放”方式实现对各类图形化用户界面操作的自动化。作为本发明的一种优选方案,所述测试逻辑模块包括循环单元、条件判断单元、并行单元、等待单元、事件触发单元;循环单元用于实现测试流程中的需要循环的步骤;分为两种类型循环次数确定的循环——设置循环次数即可;需要在每次循环结束后通过条件判断确定是否继续循环——设置循环条件,设置一个或多个条件,这些条件通过与、或逻辑组合;条件判断单元用于通过条件判断确定测试流程走向,S卩,在多个可能的分支中,选择一个分支执行;针对每个分支,设置一个或多个条件,多个条件通过与、或逻辑组合;有一个分支为默认分支,当所有条件都不满足时,执行该分支;并行单元用于并行执行多个测试任务;多个并行的任务同时开始,独立执行,直到所有任务都执行结束。并行结构不限制同时执行的任务数量;等待单元用于在测试流程中插入等待;事件触发单元用于在过个并行测试任务间设置事件触发关系;分为两个模块“触发事件”模块和“等待事件”模块;“等待事件”模块会一直等待,直到“触发事件”模块等到执行,并触发该事件;作为本发明的一种优选方案,所述通用工具模块包括文件操作工具、对话框工具、数学运算工具;文件操作工具通过配置完成对文件的创建、读、写、复制、删除操作;可配置的参数有文件路径、文件名、操作类型、写操作中的数据源、读操作中的被赋值变量名;对话框工具用于配置弹出式对话框,提示框或参数输入框;可在对话框上呈现文本、下拉列表、复选框、图片信息;同时,通过坐标设置对话框在屏幕上的显示位置,通过相对坐标设置各显示项在对话框上的位置;数学运算工具用于完成各类数学运算,包括加、减、乘、除、三角函数运算;通过在配置面板上写表达式完成;作为本发明的一种优选方案,外部程序调用模块包括LabVIEWVI调用工具、Win32DLL调用工具、ActiveX调用工具、.NETDLL调用工具、脚本调用工具;LabVIEffVI调用工具自动解析VI的输入输出参数;输入参数传递进VI,VI执行结束后将结果返回;Win32DLL调用工具通过对应的.h文件解析被调用DLL内部的函数及其参数列表;输入参数传递进所调用的函数,执行结束后返回结果;ActiveX调用工具解析出ActiveX内部的函数及其参数列表;输入参数传递进所调用的函数,执行结束后返回结果;.NETDLL调用工具解析出DLL内部的函数及其参数列表,输入参数传递进所调用的函数,执行结束后返回结果;脚本调用工具用于配置、参数化、执行各类脚本,包括TCL、Java、VB、Python脚本;脚本语言中的任何字段都可映射成变量,每种脚本语言都需要正确配置语言类型,并选用对应的后台执行引擎执行;脚本执行结果作为变量保存;作为本发明的一种优选方案,网络协议模块支持的网络协议包括RS232、Telnet、SSH、TCP、UDP协议;各类不同网络协议的操作方法类似配置连接参数、建立连接、录制并修改操作脚本;对于RS232,需要配置的连接参数有波特率、数据位、停止位、奇偶校验等;对于其它基于TCP/IP的协议,需要配置的连接参数有IP地址、端口号;建立连接后,通过指令方式与外围设备通信;所发出的指令和收到的返回信息都会被录制成脚本。作为本发明的一种优选方案,所述GUI自动化模块支持的图形化用户界面包括Win32⑶I、Java⑶I、Web⑶I、.NET⑶I;⑶I自动化模块先“录制”脚本,然后再“回放”;“录制”也称“捕获”,即在测试者运行应用程序的同时,把它的所有动作,包括键盘操作、鼠标点击等捕获下来,生成一个脚本文件,这个脚本以后可被“回放”,也就是按照上一次的所有动作重复执行一遍,实现自动运行和测试;所录制的脚本可根据需要进行编辑、修改。一种上述硬件设备自动化测试系统的测试方法,所述方法包括如下步骤步骤A、测试用例建立步骤;新建一个测试用例,得到一个测试流程设计窗口;步骤B、拖拽步骤;按照测试流程,把测试所需的功能模块拖拽到测试流程设计区域;步骤C、配置步骤;每个功能模块都有一个标准配置界面,用于配置步骤名称、描述、输入参数、输出参数信息;步骤D、测试执行步骤;根据步骤B、步骤C的设置,各功能模块自动执行,完成测试流程。作为本发明的一种优选方案,在测试流程设计区域,按照测试用例的实际步骤,选择能够实现该步骤所需功能的模块/工具,包括测试逻辑模块中的各类结构、通用工具模块中的各类工具、外部程序调用模块中的各类工具、网络协议模块和GUI自动化模块;将该模块/工具拖拽到测试流程中,并配置参数;测试流程的拖拽、配置过程也即测试用例的创建过程。作为本发明的一种优选方案,每个模块都有标准的输入、输出参数列表;输入参数可赋固定值或变量,输出参数自动生成变量并保存;一个模块的输出参数以变量的形式赋值给另外模块的输入参数,从而实现数据的传递。本发明的有益效果在于本发明提出的无需编程实现硬件设备自动化测试系统及其测试方法,,与现有的通过编程实现自动化测试相比,具有以下优势(I)整合各类软硬件资源硬件设备自动化测试可能用到各类软硬件资源。传统的通过编程实现自动化的方法,可能需要使用多种编程语言、软件工具,来实现各个测试步骤的自动化,且难以实现全测试流程的自动化。本发明提出的系统,提供了各类可用于实现测试步骤自动化的模块/工具,可以在一个系统中整合各类软硬件资源,实现测试流程自动化。(2)通过拖拽、配置方式完成测试用例创建无需编程即可完成测试用例创建;不同的功能模块,有统一的外观形式和输入输出列表;流程图式的测试用例,标准化、可读性强。图I为本发明硬件设备自动化测试系统的组成示意图。图2为本发明自动化测试方法的流程图。图3为实施例二中测试示意图。具体实施例方式下面结合附图详细说明本发明的优选实施例。实施例一请参阅图1,本发明揭示了一种无需编程即可实现各类复杂硬件设备自动化测试用例创建的系统10。硬件设备测试可能涉及到各类工具和方法,该系统包括测试逻辑模块11、通用工具模块12、外部程序调用模块13、网络协议模块14和⑶I自动化模块15。测试逻辑模块测试逻辑模块11包含了用于实现各类测试逻辑的工具,比如循环结构111、条件判断结构112、并行结构113、等待114、事件触发115等。这些工具用于实现各类测试逻辑,将其它模块中的工具组合成完整的测试流程。循环结构111用于实现测试流程中的需要循环的步骤。分为两种类型循环次数确定的循环——设置循环次数即可;需要在每次循环结束后通过条件判断确定是否继续循环一设置循环条件,且可设置多个条件,这些条件可通过与、或逻辑组合。条件判断结构112用于通过条件判断确定测试流程走向,即,在多个可能的分支中,选择一个分支执行。针对每个分支,可设置一个或多个条件,多个条件可通过与、或逻辑组合。有一个分支为默认分支,当所有条件都不满足时,执行该分支。并行结构113用于并行执行多个测试任务。多个并行的任务同时开始,独立执行,直到所有任务都执行结束。并行结构不限制同时执行的任务数量。等待结构114用于在测试流程中插入等待。以毫秒为单位。事件触发结构115用于在过个并行测试任务间设置事件触发关系。分为两个模块“触发事件”模块和“等待事件”模块。“等待事件”会一直等待,直到“触发事件”模块等到执行,并触发该事件。通用工具模块通用工具模块12包含了测试过程中通用的测试步骤实现工具,比如文件操作工具121、对话框工具122、数学运算工具123等。文件操作工具121可通过配置完成对文件的创建、读、写、复制、删除等操作。可配置的参数有文件路径、文件名、操作类型、数据源(写操作)、被赋值变量名(读操作)。对话框工具122可用于配置弹出式对话框,如提示框或参数输入框。可在对话框上呈现文本、下拉列表、复选框、图片等信息。同时,可通过坐标(以屏幕左上角为原点)设置对话框在屏幕上的显示位置、通过相对坐标(相对对话框左上角)设置各显示项在对话框上的位置。数学运算工具123可用于完成各类数学运算,如加、减、乘、除、三角函数等。通过在配置面板上写表达式完成。外部程序调用模块外部程序调用模块13包含了用于调用各类语言编写的外部程序,比如LabVIEWVI调用工具131、Win32DLL调用工具132、ActiveX调用工具133、·NETDLL调用工具134、TCLscript等各类脚本调用工具135等。LabVIEffVI调用工具131可以自动解析VI的输入输出参数。输入参数传递进VI,VI执行结束后将结果返回。Win32DLL调用工具132可通过对应的.h文件解析被调用DLL内部的函数及其参数列表。输入参数传递进所调用的函数,执行结束后返回结果。ActiveX调用工具133可解析出ActiveX内部的函数及其参数列表。输入参数传递进所调用的函数,执行结束后返回结果。.NETDLL调用工具134可解析出DLL内部的函数及其参数列表。输入参数传递进所调用的函数,执行结束后返回结果。脚本调用工具135可用于配置、参数化、执行各类脚本,如TCL、Java、VB、Python等。脚本语言中的任何字段都可映射成变量,每种脚本语言都需要正确配置语言类型,并选用对应的后台执行引擎执行。脚本执行结果可作为变量保存。网络协议模块网络协议模块14用于实现各类网络协议的读写的自动化,可支持的网络协议如RS232141、Telnet142、SSH143、TCP144、UDP145等。各类不同网络协议的操作方法类似配置连接参数、建立连接、录制并修改操作脚本。对于RS232,需要配置的连接参数有波特率、数据位、停止位、奇偶校验等;对于其它基于TCP/IP的协议,需要配置的连接参数有IP地址、端口号等。建立连接后,可通过指令方式与外围设备通信。所发出的指令和收到的返回信息都会被录制成脚本。⑶I自动化模块GUI自动化模块15可通过“录制-回放”方式实现对各类图形化用户界面操作的自动化,可支持的图形化用户界面如Win32⑶I151、JavaGUI152、WebGUI153,.NETGUI154。⑶I自动化模块的基本原理是先“录制”脚本,然后再“回放”。“录制”也称“捕获”,即在测试者运行应用程序的同时,把它的所有动作,包括键盘操作、鼠标点击等捕获下来,生成一个脚本文件,这个脚本以后可以被“回放”,也就是按照上一次的所有动作重复执行一遍,实现自动运行和测试。所录制的脚本可以根据需要进行编辑、修改。比如所录制的键盘操作步骤,可修改按键。以上介绍了本发明的硬件设备自动化测试用例创建系统的组成,每个组成部分的具体体现形式是一个可拖拽、配置的模块。本发明在揭示上述自动化测试用例创建系统组成部分的同时,还揭示一种无需编程实现测试用例创建的方法,该方法包括如下步骤步骤A测试用例建立步骤,即新建一个测试用例,得到一个测试流程设计窗口;步骤B拖拽步骤,按照测试流程,把测试所需的功能模块拖拽到测试流程设计区域;步骤C配置步骤,每个功能模块都有一个标准配置页面,用于配置步骤名称、描述、输入参数、输出参数等信息;步骤D测试执行步骤;根据步骤B、步骤C的设置,各功能模块自动执行,完成测试流程。本发明所描述的无需编程实现自动化测试用例创建的方法,即在测试流程设计区域,按照测试用例的实际步骤,选择能够实现该步骤所需功能的模块/工具,如测试逻辑模块中的各类结构、通用测试模块中的各类工具、外部程序调用模块中的各类工具、网络协议模块和GUI自动化模块等,将该模块/工具拖拽到到测试流程中,并配置参数。测试流程的拖拽、配置过程也即测试用例的创建过程。每个模块都有标准的输入、输出参数列表。输入参数可以赋固定值或变量,输出参数自动生成变量并保存。所以,一个模块的输出参数可以以变量的形式赋值给另外模块的输入参数,从而实现数据的传递。实施例二本实施例以TD-LTE(第四代移动通信)基站矢量幅度误差测试为例介绍本发明。测试流程如下用例描述验证eNodeB发射信号的EVM是否符合规定测试过程12I)配置载波频点,中心频率为2350MHz;2)启动eNodeB工作在E-TM3.I模式以最大功率发射;3)利用LTE频谱仪测试调制方式为64QAM的TOSCHEVM;4)更改下行信号模式为E_TM3.2,测试调制方式为16QAM的TOSCHEVM;5)更改下行信号模式为E_TM3.3,测试调制方式为QPSK的TOSCHEVM;6)更改下行信号模式为E_TM2,测试调制方式为64QAM的TOSCHEVM;7)配置载波频点,中心频率为2310.4MHz,重复步骤2)4);8)配置载波频点,中心频率为2389.6MHz,重复步骤2)4);9)交换端口,重复步骤I)8)。预期结果eN0deB在不同调制方式下的发射信号的EVM满足表I:权利要求1.一种硬件设备自动化测试系统,其特征在于,所述系统包括测试逻辑模块、通用工具模块、外部程序调用模块、网络协议模块和GUI自动化模块;测试逻辑模块包含用于实现各类测试逻辑的工具,这些工具用于实现各类测试逻辑,将其它模块中的工具组合成完整的测试流程;测试逻辑模块包括循环单元、条件判断单元、并行单元、等待单元、事件触发单元;循环单元用于实现测试流程中的需要循环的步骤;分为两种类型循环次数确定的循环——设置循环次数即可;需要在每次循环结束后通过条件判断确定是否继续循环——设置循环条件,设置一个或多个条件,这些条件通过与、或逻辑组合;条件判断单元用于通过条件判断确定测试流程走向,即,在多个可能的分支中,选择一个分支执行;针对每个分支,设置一个或多个条件,多个条件通过与、或逻辑组合;有一个分支为默认分支,当所有条件都不满足时,执行该分支;并行单元用于并行执行多个测试任务;多个并行的任务同时开始,独立执行,直到所有任务都执行结束;并行结构不限制同时执行的任务数量;等待单元用于在测试流程中插入等待;事件触发单元用于在过个并行测试任务间设置事件触发关系;分为两个模块“触发事件”模块和“等待事件”模块;“等待事件”模块会一直等待,直到“触发事件”模块等到执行,并触发该事件;通用工具模块包含了测试过程中通用的测试步骤实现工具,包括文件操作工具、对话框工具、数学运算工具;文件操作工具通过配置完成对文件的创建、读、写、复制、删除操作;可配置的参数有文件路径、文件名、操作类型、写操作中的数据源、读操作中的被赋值变量名;对话框工具用于配置弹出式对话框,提示框或参数输入框;可在对话框上呈现文本、下拉列表、复选框、图片信息;同时,通过坐标设置对话框在屏幕上的显示位置,通过相对坐标设置各显示项在对话框上的位置;数学运算工具用于完成各类数学运算,包括加、减、乘、除、三角函数运算;通过在配置面板上写表达式完成;外部程序调用模块包含用于调用各类语言编写的外部程序,包括LabVIEWVI调用工具、Win32DLL调用工具、ActiveX调用工具、.NETDLL调用工具、脚本调用工具;LabVIEffVI调用工具自动解析VI的输入输出参数;输入参数传递进VI,VI执行结束后将结果返回;Win32DLL调用工具通过对应的.h文件解析被调用DLL内部的函数及其参数列表;输入参数传递进所调用的函数,执行结束后返回结果;ActiveX调用工具解析出ActiveX内部的函数及其参数列表;输入参数传递进所调用的函数,执行结束后返回结果;.NETDLL调用工具解析出DLL内部的函数及其参数列表,输入参数传递进所调用的函数,执行结束后返回结果;脚本调用工具用于配置、参数化、执行各类脚本,包括TCL、Java、VB、Python脚本;脚本语言中的任何字段都可映射成变量,每种脚本语言都需要正确配置语言类型,并选用对应的后台执行引擎执行;脚本执行结果作为变量保存;网络协议模块用于实现各类网络协议的读写的自动化,支持的网络协议包括RS232、Telnet、SSH、TCP、UDP协议;各类不同网络协议的操作方法类似,包括配置连接参数、建立连接、录制并修改操作脚本;对于RS232,需要配置的连接参数包括波特率、数据位、停止位、奇偶校验;对于其它基于TCP/IP的协议,需要配置的连接参数包括IP地址、端口号;建立连接后,通过指令方式与外围设备通信;所发出的指令和收到的返回信息都会被录制成脚本;GUI自动化模块通过“录制-回放”方式实现对各类图形化用户界面操作的自动化,支持的图形化用户界面包括Win32⑶I、Java⑶I、Web⑶I、.NETCUI;GUI自动化模块先“录制”脚本,然后再“回放”;“录制”也称“捕获”,即在测试者运行应用程序的同时,把它的所有动作,包括键盘操作、鼠标点击捕获下来,生成一个脚本文件,这个脚本以后可被“回放”,也就是按照上一次的所有动作重复执行一遍,实现自动运行和测试;所录制的脚本可根据需要进行编辑、修改。2.—种硬件设备自动化测试系统,其特征在于,所述系统包括测试逻辑模块、通用工具模块、外部程序调用模块、网络协议模块和GUI自动化模块;测试逻辑模块包含用于实现各类测试逻辑的工具,这些工具用于实现各类测试逻辑,将其它模块中的工具组合成完整的测试流程;通用工具模块包含测试过程中通用的测试步骤实现工具;外部程序调用模块包含用于调用各类语言编写的外部程序;网络协议模块用于实现各类网络协议的读写的自动化;GUI自动化模块通过“录制-回放”方式实现对各类图形化用户界面操作的自动化。3.根据权利要求2所述的硬件设备自动化测试系统,其特征在于所述测试逻辑模块包括循环单元、条件判断单元、并行单元、等待单元、事件触发单元;循环单元用于实现测试流程中的需要循环的步骤;分为两种类型循环次数确定的循环——设置循环次数即可;需要在每次循环结束后通过条件判断确定是否继续循环——设置循环条件,设置一个或多个条件,这些条件通过与、或逻辑组合;条件判断单元用于通过条件判断确定测试流程走向,即,在多个可能的分支中,选择一个分支执行;针对每个分支,设置一个或多个条件,多个条件通过与、或逻辑组合;有一个分支为默认分支,当所有条件都不满足时,执行该分支;并行单元用于并行执行多个测试任务;多个并行的任务同时开始,独立执行,直到所有任务都执行结束;并行结构不限制同时执行的任务数量;等待单元用于在测试流程中插入等待;事件触发单元用于在过个并行测试任务间设置事件触发关系;分为两个模块“触发事件”模块和“等待事件”模块;“等待事件”模块会一直等待,直到“触发事件”模块等到执行,并触发该事件。4.根据权利要求2所述的硬件设备自动化测试系统,其特征在于所述通用工具模块包括文件操作工具、对话框工具、数学运算工具;文件操作工具通过配置完成对文件的创建、读、写、复制、删除操作;可配置的参数有文件路径、文件名、操作类型、写操作中的数据源、读操作中的被赋值变量名;对话框工具用于配置弹出式对话框,提示框或参数输入框;可在对话框上呈现文本、下拉列表、复选框、图片信息;同时,通过坐标设置对话框在屏幕上的显示位置,通过相对坐标设置各显示项在对话框上的位置;数学运算工具用于完成各类数学运算,包括加、减、乘、除、三角函数运算;通过在配置面板上写表达式完成。5.根据权利要求2所述的硬件设备自动化测试系统,其特征在于所述外部程序调用模块包括LabVIEWVI调用工具、Win32DLL调用工具、ActiveX调用工具、.NETDLL调用工具、脚本调用工具;LabVIEffVI调用工具自动解析VI的输入输出参数;输入参数传递进VI,VI执行结束后将结果返回;Win32DLL调用工具通过对应的.h文件解析被调用DLL内部的函数及其参数列表;输入参数传递进所调用的函数,执行结束后返回结果;ActiveX调用工具解析出ActiveX内部的函数及其参数列表;输入参数传递进所调用的函数,执行结束后返回结果;.NETDLL调用工具解析出DLL内部的函数及其参数列表,输入参数传递进所调用的函数,执行结束后返回结果;脚本调用工具用于配置、参数化、执行各类脚本,包括TCL、Java、VB、Python脚本;脚本语言中的任何字段都可映射成变量,每种脚本语言都需要正确配置语言类型,并选用对应的后台执行引擎执行;脚本执行结果作为变量保存。6.根据权利要求2所述的硬件设备自动化测试系统,其特征在于所述网络协议模块支持的网络协议包括RS232、Telnet、SSH、TCP、UDP协议;各类不同网络协议的操作方法类似配置连接参数、建立连接、录制并修改操作脚本;对于RS232,需要配置的连接参数有波特率、数据位、停止位、奇偶校验;对于其它基于TCP/IP的协议,需要配置的连接参数有IP地址、端口号;建立连接后,通过指令方式与外围设备通信;所发出的指令和收到的返回信息都会被录制成脚本。7.根据权利要求2所述的硬件设备自动化测试系统,其特征在于所述⑶I自动化模块支持的图形化用户界面包括Win32⑶I、Java⑶I、Web⑶I、.NETGUI;⑶I自动化模块先“录制”脚本,然后再“回放”;“录制”也称“捕获”,即在测试者运行应用程序的同时,把它的所有动作,包括键盘操作、鼠标点击捕获下来,生成一个脚本文件,这个脚本以后可被“回放”,也就是按照上一次的所有动作重复执行一遍,实现自动运行和测试;所录制的脚本可根据需要进行编辑、修改。8.—种权利要求I至7之一所述硬件设备自动化测试系统的测试方法,其特征在于,所述方法包括如下步骤步骤A、测试用例建立步骤;新建一个测试用例,得到一个测试流程设计窗口;步骤B、拖拽步骤;按照测试流程,把测试所需的功能模块拖拽到测试流程设计区域;步骤C、配置步骤;每个功能模块都有一个标准配置界面,用于配置参数信息;步骤D、测试执行步骤;根据步骤B、步骤C的设置,各功能模块自动执行,完成测试流程。9.根据权利要求8所述的硬件设备自动化测试系统,其特征在于在测试流程设计区域,按照测试用例的实际步骤,选择能够实现该步骤所需功能的模块/工具,包括测试逻辑模块中的各类结构、通用工具模块中的各类工具、外部程序调用模块中的各类工具、网络协议模块和GUI自动化模块;将该模块/工具拖拽到测试流程中,并配置参数;测试流程的拖拽、配置过程也即测试用例的创建过程。10.根据权利要求8或9所述的硬件设备自动化测试系统,其特征在于每个模块都有标准的输入、输出参数列表;输入参数可赋固定值或变量,输出参数自动生成变量并保存;一个模块的输出参数以变量的形式赋值给另外模块的输入参数,从而实现数据的传递。全文摘要本发明揭示了一种硬件设备自动化测试系统及其测试方法,所述系统包括测试逻辑模块、通用工具模块、外部程序调用模块、网络协议模块和GUI自动化模块;测试逻辑模块包含用于实现各类测试逻辑的工具,这些工具用于实现各类测试逻辑,将其它模块中的工具组合成完整的测试流程;通用工具模块包含了测试过程中通用的测试步骤实现工具;外部程序调用模块包含用于调用各类语言编写的外部程序;网络协议模块用于实现各类网络协议的读写的自动化;GUI自动化模块通过“录制-回放”方式实现对各类图形化用户界面操作的自动化。本发明提供各类可用于实现测试步骤自动化的模块/工具,可以在一个系统中整合各类软硬件资源,实现测试流程自动化。文档编号G06F11/22GK102609341SQ20111019076公开日2012年7月25日申请日期2011年7月8日优先权日2011年7月8日发明者张骁,李康,费海平申请人:张骁,李康,费海平
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1