CN102609341A - 硬件设备自动化测试***及其测试方法 - Google Patents
硬件设备自动化测试***及其测试方法 Download PDFInfo
- Publication number
- CN102609341A CN102609341A CN2011101907652A CN201110190765A CN102609341A CN 102609341 A CN102609341 A CN 102609341A CN 2011101907652 A CN2011101907652 A CN 2011101907652A CN 201110190765 A CN201110190765 A CN 201110190765A CN 102609341 A CN102609341 A CN 102609341A
- Authority
- CN
- China
- Prior art keywords
- module
- test
- script
- parameter
- tool
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明揭示了一种硬件设备自动化测试***及其测试方法,所述***包括:测试逻辑模块、通用工具模块、外部程序调用模块、网络协议模块和GUI自动化模块;测试逻辑模块包含用于实现各类测试逻辑的工具,这些工具用于实现各类测试逻辑,将其它模块中的工具组合成完整的测试流程;通用工具模块包含了测试过程中通用的测试步骤实现工具;外部程序调用模块包含用于调用各类语言编写的外部程序;网络协议模块用于实现各类网络协议的读写的自动化;GUI自动化模块通过“录制-回放”方式实现对各类图形化用户界面操作的自动化。本发明提供各类可用于实现测试步骤自动化的模块/工具,可以在一个***中整合各类软硬件资源,实现测试流程自动化。
Description
技术领域
本发明属于设备测试技术领域,涉及一种硬件设备测试***,尤其涉及一种硬件设备自动化测试***;同时,本发明还涉及上述硬件设备自动化测试***的测试方法。
背景技术
随着技术的发展,各类硬件设备和***(消费类电子、通信、汽车电子、航空航天…)的集成度和复杂度越来越高,对其测试往往涉及到基础电子、网络通信、软硬件结合等多个方面,但要求的测试周期却越来越短,因此,行业对测试技术也提出了新的要求。硬件设备和***的测试手段经历了从手动测试到通过编程实现局部测试自动化的发展过程。
目前,大家普遍采用“编程开发”实现测试自动化(编程语言如:C、VB、LabVIEW、TCL等),这要求硬件自动化测试工程师必须精通程序开发。并且,由于测试类编程语言往往带有技术偏向性,比如,LabVIEW适合用于基础电子类测试程序开发,TCL适合网络通信类测试程序开发,QTP等工具适合GUI(图形化用户界面)相关测试脚本开发,可见,对于复杂的测试项目,自动化测试工程师(或团队)需要掌握多种差异很大的开发语言或工具,并且,需要对不同语言开发的代码进行整合,技术难度很大,间接导致测试自动化率难以提高。而且,在日常工作中,工程师(或团队)需要花费大量的时间在程序编写和调试等“非核心业务”上,而无法专注在测试本身。
在这样的背景下,类似美国国家仪器有限公司(National Instruments)的TestStand软件越来越受到硬件测试人员的喜爱。TestStand是一套“测试序列构建”软件,自动化测试开发人员可以用LabVIEW、C等编写具体的测试步骤,总体的测试序列/逻辑由TestStand构建,这样,一方面可以减小编程工作量,同时,简化了各类语言开发的程序的集成难度。
但TestStand同样存在其不足之处:
1.只能用于构建测试序列,具体测试步骤仍需通过编程实现,如简单的文件IO操作需要外部编程实现;
2.通过适配器(Adapter)可调用软件模块类型较少,主要有LabVIEW VI、CVI DLL、C/C++DLL、.NET、ActiveX和HTBasic等,对偏向网络测试的脚本语言如TCL、Python等只能通过“Call Executable”的方式间接调用,参数传递不灵活;
3.无法支持GUI自动化。
发明内容
本发明所要解决的技术问题是:提供一种硬件设备自动化测试***,提供各类可用于实现测试步骤自动化的模块/工具,可以在一个***中整合各类软硬件资源,实现测试流程自动化。
此外,本发明进一步提供上述硬件设备自动化测试***的测试方法,提供各类可用于实现测试步骤自动化的模块/工具,可以在一个***中整合各类软硬件资源,实现测试流程自动化。
为解决上述技术问题,本发明采用如下技术方案:
一种硬件设备自动化测试***,所述***包括:测试逻辑模块、通用工具模块、外部程序调用模块、网络协议模块和GUI自动化模块;
测试逻辑模块包含用于实现各类测试逻辑的工具,这些工具用于实现各类测试逻辑,将其它模块中的工具组合成完整的测试流程;测试逻辑模块包括循环单元、条件判断单元、并行单元、等待单元、事件触发单元;
循环单元用于实现测试流程中的需要循环的步骤;分为两种类型:循环次数确定的循环——设置循环次数即可;需要在每次循环结束后通过条件判断确定是否继续循环——设置循环条件,设置一个或多个条件,这些条件通过与、或逻辑组合;
条件判断单元用于通过条件判断确定测试流程走向,即,在多个可能的分支中,选择一个分支执行;针对每个分支,设置一个或多个条件,多个条件通过与、或逻辑组合;有一个分支为默认分支,当所有条件都不满足时,执行该分支;
并行单元用于并行执行多个测试任务;多个并行的任务同时开始,独立执行,直到所有任务都执行结束。并行结构不限制同时执行的任务数量;
等待单元用于在测试流程中***等待;
事件触发单元用于在过个并行测试任务间设置事件触发关系;分为两个模块:“触发事件”模块和“等待事件”模块;“等待事件”模块会一直等待,直到“触发事件”模块等到执行,并触发该事件;
通用工具模块包含了测试过程中通用的测试步骤实现工具,包括文件操作工具、对话框工具、数学运算工具;
文件操作工具通过配置完成对文件的创建、读、写、复制、删除操作;可配置的参数有:文件路径、文件名、操作类型、写操作中的数据源、读操作中的被赋值变量名;
对话框工具用于配置弹出式对话框,提示框或参数输入框;可在对话框上呈现文本、下拉列表、复选框、图片信息;同时,通过坐标设置对话框在屏幕上的显示位置,通过相对坐标设置各显示项在对话框上的位置;
数学运算工具用于完成各类数学运算,包括加、减、乘、除、三角函数运算;通过在配置面板上写表达式完成;
外部程序调用模块包含用于调用各类语言编写的外部程序,包括LabVIEW VI调用工具、Win32DLL调用工具、ActiveX调用工具、.NET DLL调用工具、脚本调用工具;
LabVIEW VI调用工具自动解析VI的输入输出参数;输入参数传递进VI,VI执行结束后将结果返回;
Win32DLL调用工具通过对应的.h文件解析被调用DLL内部的函数及其参数列表;输入参数传递进所调用的函数,执行结束后返回结果;
ActiveX调用工具解析出ActiveX内部的函数及其参数列表;输入参数传递进所调用的函数,执行结束后返回结果;
.NET DLL调用工具解析出DLL内部的函数及其参数列表,输入参数传递进所调用的函数,执行结束后返回结果;
脚本调用工具用于配置、参数化、执行各类脚本,包括TCL、Java、VB、Python脚本;脚本语言中的任何字段都可映射成变量,每种脚本语言都需要正确配置语言类型,并选用对应的后台执行引擎执行;脚本执行结果作为变量保存;
网络协议模块用于实现各类网络协议的读写的自动化,支持的网络协议包括RS232、Telnet、SSH、TCP、UDP协议;
各类不同网络协议的操作方法类似:配置连接参数、建立连接、录制并修改操作脚本;对于RS232,需要配置的连接参数有:波特率、数据位、停止位、奇偶校验等;对于其它基于TCP/IP的协议,需要配置的连接参数有:IP地址、端口号;
建立连接后,通过指令方式与***设备通信;所发出的指令和收到的返回信息都会被录制成脚本;
GUI自动化模块通过“录制-回放”方式实现对各类图形化用户界面操作的自动化,支持的图形化用户界面包括Win32GUI、Java GUI、Web GUI、.NET GUI;
GUI自动化模块先“录制”脚本,然后再“回放”;“录制”也称“捕获”,即在测试者运行应用程序的同时,把它的所有动作,包括键盘操作、鼠标点击等捕获下来,生成一个脚本文件,这个脚本以后可被“回放”,也就是按照上一次的所有动作重复执行一遍,实现自动运行和测试;所录制的脚本可根据需要进行编辑、修改。
一种硬件设备自动化测试***,所述***包括:测试逻辑模块、通用工具模块、外部程序调用模块、网络协议模块和GUI自动化模块;
测试逻辑模块包含用于实现各类测试逻辑的工具,这些工具用于实现各类测试逻辑,将其它模块中的工具组合成完整的测试流程;
通用工具模块包含了测试过程中通用的测试步骤实现工具;
外部程序调用模块包含用于调用各类语言编写的外部程序;
网络协议模块用于实现各类网络协议的读写的自动化;
GUI自动化模块通过“录制-回放”方式实现对各类图形化用户界面操作的自动化。
作为本发明的一种优选方案,所述测试逻辑模块包括循环单元、条件判断单元、并行单元、等待单元、事件触发单元;
循环单元用于实现测试流程中的需要循环的步骤;分为两种类型:循环次数确定的循环——设置循环次数即可;需要在每次循环结束后通过条件判断确定是否继续循环——设置循环条件,设置一个或多个条件,这些条件通过与、或逻辑组合;
条件判断单元用于通过条件判断确定测试流程走向,即,在多个可能的分支中,选择一个分支执行;针对每个分支,设置一个或多个条件,多个条件通过与、或逻辑组合;有一个分支为默认分支,当所有条件都不满足时,执行该分支;
并行单元用于并行执行多个测试任务;多个并行的任务同时开始,独立执行,直到所有任务都执行结束。并行结构不限制同时执行的任务数量;
等待单元用于在测试流程中***等待;
事件触发单元用于在过个并行测试任务间设置事件触发关系;分为两个模块:“触发事件”模块和“等待事件”模块;“等待事件”模块会一直等待,直到“触发事件”模块等到执行,并触发该事件;
作为本发明的一种优选方案,所述通用工具模块包括文件操作工具、对话框工具、数学运算工具;
文件操作工具通过配置完成对文件的创建、读、写、复制、删除操作;可配置的参数有:文件路径、文件名、操作类型、写操作中的数据源、读操作中的被赋值变量名;
对话框工具用于配置弹出式对话框,提示框或参数输入框;可在对话框上呈现文本、下拉列表、复选框、图片信息;同时,通过坐标设置对话框在屏幕上的显示位置,通过相对坐标设置各显示项在对话框上的位置;
数学运算工具用于完成各类数学运算,包括加、减、乘、除、三角函数运算;通过在配置面板上写表达式完成;
作为本发明的一种优选方案,外部程序调用模块包括LabVIEW VI调用工具、Win32DLL调用工具、ActiveX调用工具、.NET DLL调用工具、脚本调用工具;
LabVIEW VI调用工具自动解析VI的输入输出参数;输入参数传递进VI,VI执行结束后将结果返回;
Win32DLL调用工具通过对应的.h文件解析被调用DLL内部的函数及其参数列表;输入参数传递进所调用的函数,执行结束后返回结果;
ActiveX调用工具解析出ActiveX内部的函数及其参数列表;输入参数传递进所调用的函数,执行结束后返回结果;
.NET DLL调用工具解析出DLL内部的函数及其参数列表,输入参数传递进所调用的函数,执行结束后返回结果;
脚本调用工具用于配置、参数化、执行各类脚本,包括TCL、Java、VB、Python脚本;脚本语言中的任何字段都可映射成变量,每种脚本语言都需要正确配置语言类型,并选用对应的后台执行引擎执行;脚本执行结果作为变量保存;
作为本发明的一种优选方案,网络协议模块支持的网络协议包括RS232、Telnet、SSH、TCP、UDP协议;
各类不同网络协议的操作方法类似:配置连接参数、建立连接、录制并修改操作脚本;对于RS232,需要配置的连接参数有:波特率、数据位、停止位、奇偶校验等;对于其它基于TCP/IP的协议,需要配置的连接参数有:IP地址、端口号;
建立连接后,通过指令方式与***设备通信;所发出的指令和收到的返回信息都会被录制成脚本。
作为本发明的一种优选方案,所述GUI自动化模块支持的图形化用户界面包括Win32GUI、Java GUI、Web GUI、.NET GUI;
GUI自动化模块先“录制”脚本,然后再“回放”;“录制”也称“捕获”,即在测试者运行应用程序的同时,把它的所有动作,包括键盘操作、鼠标点击等捕获下来,生成一个脚本文件,这个脚本以后可被“回放”,也就是按照上一次的所有动作重复执行一遍,实现自动运行和测试;所录制的脚本可根据需要进行编辑、修改。
一种上述硬件设备自动化测试***的测试方法,所述方法包括如下步骤:
步骤A、测试用例建立步骤;新建一个测试用例,得到一个测试流程设计窗口;
步骤B、拖拽步骤;按照测试流程,把测试所需的功能模块拖拽到测试流程设计区域;
步骤C、配置步骤;每个功能模块都有一个标准配置界面,用于配置步骤名称、描述、输入参数、输出参数信息;
步骤D、测试执行步骤;根据步骤B、步骤C的设置,各功能模块自动执行,完成测试流程。
作为本发明的一种优选方案,在测试流程设计区域,按照测试用例的实际步骤,选择能够实现该步骤所需功能的模块/工具,包括测试逻辑模块中的各类结构、通用工具模块中的各类工具、外部程序调用模块中的各类工具、网络协议模块和GUI自动化模块;
将该模块/工具拖拽到测试流程中,并配置参数;测试流程的拖拽、配置过程也即测试用例的创建过程。
作为本发明的一种优选方案,每个模块都有标准的输入、输出参数列表;输入参数可赋固定值或变量,输出参数自动生成变量并保存;
一个模块的输出参数以变量的形式赋值给另外模块的输入参数,从而实现数据的传递。
本发明的有益效果在于:本发明提出的无需编程实现硬件设备自动化测试***及其测试方法,,与现有的通过编程实现自动化测试相比,具有以下优势:
(1)整合各类软硬件资源
硬件设备自动化测试可能用到各类软硬件资源。传统的通过编程实现自动化的方法,可能需要使用多种编程语言、软件工具,来实现各个测试步骤的自动化,且难以实现全测试流程的自动化。
本发明提出的***,提供了各类可用于实现测试步骤自动化的模块/工具,可以在一个***中整合各类软硬件资源,实现测试流程自动化。
(2)通过拖拽、配置方式完成测试用例创建
无需编程即可完成测试用例创建;不同的功能模块,有统一的外观形式和输入输出列表;流程图式的测试用例,标准化、可读性强。
附图说明
图1为本发明硬件设备自动化测试***的组成示意图。
图2为本发明自动化测试方法的流程图。
图3为实施例二中测试示意图。
具体实施方式
下面结合附图详细说明本发明的优选实施例。
实施例一
请参阅图1,本发明揭示了一种无需编程即可实现各类复杂硬件设备自动化测试用例创建的***10。硬件设备测试可能涉及到各类工具和方法,该***包括测试逻辑模块11、通用工具模块12、外部程序调用模块13、网络协议模块14和GUI自动化模块15。
【测试逻辑模块】
测试逻辑模块11包含了用于实现各类测试逻辑的工具,比如循环结构111、条件判断结构112、并行结构113、等待114、事件触发115等。这些工具用于实现各类测试逻辑,将其它模块中的工具组合成完整的测试流程。
循环结构111用于实现测试流程中的需要循环的步骤。分为两种类型:循环次数确定的循环——设置循环次数即可;需要在每次循环结束后通过条件判断确定是否继续循环——设置循环条件,且可设置多个条件,这些条件可通过与、或逻辑组合。
条件判断结构112用于通过条件判断确定测试流程走向,即,在多个可能的分支中,选择一个分支执行。针对每个分支,可设置一个或多个条件,多个条件可通过与、或逻辑组合。有一个分支为默认分支,当所有条件都不满足时,执行该分支。
并行结构113用于并行执行多个测试任务。多个并行的任务同时开始,独立执行,直到所有任务都执行结束。并行结构不限制同时执行的任务数量。
等待结构114用于在测试流程中***等待。以毫秒为单位。
事件触发结构115用于在过个并行测试任务间设置事件触发关系。分为两个模块:“触发事件”模块和“等待事件”模块。“等待事件”会一直等待,直到“触发事件”模块等到执行,并触发该事件。
【通用工具模块】
通用工具模块12包含了测试过程中通用的测试步骤实现工具,比如文件操作工具121、对话框工具122、数学运算工具123等。
文件操作工具121可通过配置完成对文件的创建、读、写、复制、删除等操作。可配置的参数有:文件路径、文件名、操作类型、数据源(写操作)、被赋值变量名(读操作)。
对话框工具122可用于配置弹出式对话框,如提示框或参数输入框。可在对话框上呈现文本、下拉列表、复选框、图片等信息。同时,可通过坐标(以屏幕左上角为原点)设置对话框在屏幕上的显示位置、通过相对坐标(相对对话框左上角)设置各显示项在对话框上的位置。
数学运算工具123可用于完成各类数学运算,如加、减、乘、除、三角函数等。通过在配置面板上写表达式完成。
【外部程序调用模块】
外部程序调用模块13包含了用于调用各类语言编写的外部程序,比如LabVIEW VI调用工具131、Win32DLL调用工具132、ActiveX调用工具133、.NETDLL调用工具134、TCL script等各类脚本调用工具135等。
LabVIEW VI调用工具131可以自动解析VI的输入输出参数。输入参数传递进VI,VI执行结束后将结果返回。
Win32DLL调用工具132可通过对应的.h文件解析被调用DLL内部的函数及其参数列表。输入参数传递进所调用的函数,执行结束后返回结果。
ActiveX调用工具133可解析出ActiveX内部的函数及其参数列表。输入参数传递进所调用的函数,执行结束后返回结果。
.NET DLL调用工具134可解析出DLL内部的函数及其参数列表。输入参数传递进所调用的函数,执行结束后返回结果。
脚本调用工具135可用于配置、参数化、执行各类脚本,如TCL、Java、VB、Python等。脚本语言中的任何字段都可映射成变量,每种脚本语言都需要正确配置语言类型,并选用对应的后台执行引擎执行。脚本执行结果可作为变量保存。
【网络协议模块】
网络协议模块14用于实现各类网络协议的读写的自动化,可支持的网络协议如RS232141、Telnet 142、SSH 143、TCP 144、UDP 145等。
各类不同网络协议的操作方法类似:配置连接参数、建立连接、录制并修改操作脚本。对于RS232,需要配置的连接参数有:波特率、数据位、停止位、奇偶校验等;对于其它基于TCP/IP的协议,需要配置的连接参数有:IP地址、端口号等。
建立连接后,可通过指令方式与***设备通信。所发出的指令和收到的返回信息都会被录制成脚本。
【GUI自动化模块】
GUI自动化模块15可通过“录制-回放”方式实现对各类图形化用户界面操作的自动化,可支持的图形化用户界面如Win32GUI 151、Java GUI 152、Web GUI153、.NET GUI 154。
GUI自动化模块的基本原理是先“录制”脚本,然后再“回放”。“录制”也称“捕获”,即在测试者运行应用程序的同时,把它的所有动作,包括键盘操作、鼠标点击等捕获下来,生成一个脚本文件,这个脚本以后可以被“回放”,也就是按照上一次的所有动作重复执行一遍,实现自动运行和测试。所录制的脚本可以根据需要进行编辑、修改。比如:所录制的键盘操作步骤,可修改按键。
以上介绍了本发明的硬件设备自动化测试用例创建***的组成,每个组成部分的具体体现形式是一个可拖拽、配置的模块。本发明在揭示上述自动化测试用例创建***组成部分的同时,还揭示一种无需编程实现测试用例创建的方法,该方法包括如下步骤:
【步骤A】测试用例建立步骤,即新建一个测试用例,得到一个测试流程设计窗口;
【步骤B】拖拽步骤,按照测试流程,把测试所需的功能模块拖拽到测试流程设计区域;
【步骤C】配置步骤,每个功能模块都有一个标准配置页面,用于配置步骤名称、描述、输入参数、输出参数等信息;
【步骤D】测试执行步骤;根据步骤B、步骤C的设置,各功能模块自动执行,完成测试流程。
本发明所描述的无需编程实现自动化测试用例创建的方法,即:在测试流程设计区域,按照测试用例的实际步骤,选择能够实现该步骤所需功能的模块/工具,如测试逻辑模块中的各类结构、通用测试模块中的各类工具、外部程序调用模块中的各类工具、网络协议模块和GUI自动化模块等,将该模块/工具拖拽到到测试流程中,并配置参数。测试流程的拖拽、配置过程也即测试用例的创建过程。
每个模块都有标准的输入、输出参数列表。输入参数可以赋固定值或变量,输出参数自动生成变量并保存。所以,一个模块的输出参数可以以变量的形式赋值给另外模块的输入参数,从而实现数据的传递。
实施例二
本实施例以TD-LTE(***移动通信)基站矢量幅度误差测试为例介绍本发明。
测试流程如下:
用例描述:验证eNodeB发射信号的EVM是否符合规定
测试过程:
1)配置载波频点,中心频率为2350MHz;
2)启动eNodeB工作在E-TM3.1模式以最大功率发射;
3)利用LTE频谱仪测试调制方式为64QAM的PDSCH EVM;
4)更改下行信号模式为E_TM3.2,测试调制方式为16QAM的PDSCH EVM;
5)更改下行信号模式为E_TM3.3,测试调制方式为QPSK的PDSCH EVM;
6)更改下行信号模式为E_TM2,测试调制方式为64QAM的PDSCH EVM;
7)配置载波频点,中心频率为2310.4MHz,重复步骤2)~4);
8)配置载波频点,中心频率为2389.6MHz,重复步骤2)~4);
9)交换端口,重复步骤1)~8)。
预期结果:eNodeB在不同调制方式下的发射信号的EVM满足表1:
表1
通过本发明所述方法创建的自动化测试用例如图3所示。根据需要将对话框工具、LabVIEWVI调用工具、循环单元、循环单元、GUI自动化模块、LabVIEWVI调用工具、GUI自动化模块、LabVIEWVI调用工具依次加入到运行框(测试流程设计区域)中;同时配置参数。而后按照顺序依次自动执行,无需编程。
综上所述,本发明提出的无需编程实现硬件设备自动化测试***及其测试方法,,与现有的通过编程实现自动化测试相比,具有以下优势:
(1)整合各类软硬件资源
硬件设备自动化测试可能用到各类软硬件资源。传统的通过编程实现自动化的方法,可能需要使用多种编程语言、软件工具,来实现各个测试步骤的自动化,且难以实现全测试流程的自动化。
本发明提出的***,提供了各类可用于实现测试步骤自动化的模块/工具,可以在一个***中整合各类软硬件资源,实现测试流程自动化。
(2)通过拖拽、配置方式完成测试用例创建
无需编程即可完成测试用例创建;不同的功能模块,有统一的外观形式和输入输出列表;流程图式的测试用例,标准化、可读性强。
这里本发明的描述和应用是说明性的,并非想将本发明的范围限制在上述实施例中。这里所披露的实施例的变形和改变是可能的,对于那些本领域的普通技术人员来说实施例的替换和等效的各种部件是公知的。本领域技术人员应该清楚的是,在不脱离本发明的精神或本质特征的情况下,本发明可以以其它形式、结构、布置、比例,以及用其它组件、材料和部件来实现。在不脱离本发明范围和精神的情况下,可以对这里所披露的实施例进行其它变形和改变。
Claims (10)
1.一种硬件设备自动化测试***,其特征在于,所述***包括:测试逻辑模块、通用工具模块、外部程序调用模块、网络协议模块和GUI自动化模块;
测试逻辑模块包含用于实现各类测试逻辑的工具,这些工具用于实现各类测试逻辑,将其它模块中的工具组合成完整的测试流程;测试逻辑模块包括循环单元、条件判断单元、并行单元、等待单元、事件触发单元;
循环单元用于实现测试流程中的需要循环的步骤;分为两种类型:循环次数确定的循环——设置循环次数即可;需要在每次循环结束后通过条件判断确定是否继续循环——设置循环条件,设置一个或多个条件,这些条件通过与、或逻辑组合;
条件判断单元用于通过条件判断确定测试流程走向,即,在多个可能的分支中,选择一个分支执行;针对每个分支,设置一个或多个条件,多个条件通过与、或逻辑组合;有一个分支为默认分支,当所有条件都不满足时,执行该分支;
并行单元用于并行执行多个测试任务;多个并行的任务同时开始,独立执行,直到所有任务都执行结束;并行结构不限制同时执行的任务数量;
等待单元用于在测试流程中***等待;
事件触发单元用于在过个并行测试任务间设置事件触发关系;分为两个模块:“触发事件”模块和“等待事件”模块;“等待事件”模块会一直等待,直到“触发事件”模块等到执行,并触发该事件;
通用工具模块包含了测试过程中通用的测试步骤实现工具,包括文件操作工具、对话框工具、数学运算工具;
文件操作工具通过配置完成对文件的创建、读、写、复制、删除操作;可配置的参数有:文件路径、文件名、操作类型、写操作中的数据源、读操作中的被赋值变量名;
对话框工具用于配置弹出式对话框,提示框或参数输入框;可在对话框上呈现文本、下拉列表、复选框、图片信息;同时,通过坐标设置对话框在屏幕上的显示位置,通过相对坐标设置各显示项在对话框上的位置;
数学运算工具用于完成各类数学运算,包括加、减、乘、除、三角函数 运算;通过在配置面板上写表达式完成;
外部程序调用模块包含用于调用各类语言编写的外部程序,包括LabVIEW VI调用工具、Win32DLL调用工具、ActiveX调用工具、.NET DLL调用工具、脚本调用工具;
LabVIEW VI调用工具自动解析VI的输入输出参数;输入参数传递进VI,VI执行结束后将结果返回;
Win32DLL调用工具通过对应的.h文件解析被调用DLL内部的函数及其参数列表;输入参数传递进所调用的函数,执行结束后返回结果;
ActiveX调用工具解析出ActiveX内部的函数及其参数列表;输入参数传递进所调用的函数,执行结束后返回结果;
.NET DLL调用工具解析出DLL内部的函数及其参数列表,输入参数传递进所调用的函数,执行结束后返回结果;
脚本调用工具用于配置、参数化、执行各类脚本,包括TCL、Java、VB、Python脚本;脚本语言中的任何字段都可映射成变量,每种脚本语言都需要正确配置语言类型,并选用对应的后台执行引擎执行;脚本执行结果作为变量保存;
网络协议模块用于实现各类网络协议的读写的自动化,支持的网络协议包括RS232、Telnet、SSH、TCP、UDP协议;
各类不同网络协议的操作方法类似,包括:配置连接参数、建立连接、录制并修改操作脚本;对于RS232,需要配置的连接参数包括:波特率、数据位、停止位、奇偶校验;对于其它基于TCP/IP的协议,需要配置的连接参数包括:IP地址、端口号;
建立连接后,通过指令方式与***设备通信;所发出的指令和收到的返回信息都会被录制成脚本;
GUI自动化模块通过“录制-回放”方式实现对各类图形化用户界面操作的自动化,支持的图形化用户界面包括Win32GUI、Java GUI、Web GUI、.NETGUI;
GUI自动化模块先“录制”脚本,然后再“回放”;“录制”也称“捕 获”,即在测试者运行应用程序的同时,把它的所有动作,包括键盘操作、鼠标点击捕获下来,生成一个脚本文件,这个脚本以后可被“回放”,也就是按照上一次的所有动作重复执行一遍,实现自动运行和测试;所录制的脚本可根据需要进行编辑、修改。
2.一种硬件设备自动化测试***,其特征在于,所述***包括:测试逻辑模块、通用工具模块、外部程序调用模块、网络协议模块和GUI自动化模块;
测试逻辑模块包含用于实现各类测试逻辑的工具,这些工具用于实现各类测试逻辑,将其它模块中的工具组合成完整的测试流程;
通用工具模块包含测试过程中通用的测试步骤实现工具;
外部程序调用模块包含用于调用各类语言编写的外部程序;
网络协议模块用于实现各类网络协议的读写的自动化;
GUI自动化模块通过“录制-回放”方式实现对各类图形化用户界面操作的自动化。
3.根据权利要求2所述的硬件设备自动化测试***,其特征在于:
所述测试逻辑模块包括循环单元、条件判断单元、并行单元、等待单元、事件触发单元;
循环单元用于实现测试流程中的需要循环的步骤;分为两种类型:循环次数确定的循环——设置循环次数即可;需要在每次循环结束后通过条件判断确定是否继续循环——设置循环条件,设置一个或多个条件,这些条件通过与、或逻辑组合;
条件判断单元用于通过条件判断确定测试流程走向,即,在多个可能的分支中,选择一个分支执行;针对每个分支,设置一个或多个条件,多个条件通过与、或逻辑组合;有一个分支为默认分支,当所有条件都不满足时,执行该分支;
并行单元用于并行执行多个测试任务;多个并行的任务同时开始,独立执行,直到所有任务都执行结束;并行结构不限制同时执行的任务数量;
等待单元用于在测试流程中***等待;
事件触发单元用于在过个并行测试任务间设置事件触发关系;分为两个模块:“触发事件”模块和“等待事件”模块;“等待事件”模块会一直等 待,直到“触发事件”模块等到执行,并触发该事件。
4.根据权利要求2所述的硬件设备自动化测试***,其特征在于:
所述通用工具模块包括文件操作工具、对话框工具、数学运算工具;
文件操作工具通过配置完成对文件的创建、读、写、复制、删除操作;
可配置的参数有:文件路径、文件名、操作类型、写操作中的数据源、读操作中的被赋值变量名;
对话框工具用于配置弹出式对话框,提示框或参数输入框;可在对话框上呈现文本、下拉列表、复选框、图片信息;同时,通过坐标设置对话框在屏幕上的显示位置,通过相对坐标设置各显示项在对话框上的位置;
数学运算工具用于完成各类数学运算,包括加、减、乘、除、三角函数运算;通过在配置面板上写表达式完成。
5.根据权利要求2所述的硬件设备自动化测试***,其特征在于:
所述外部程序调用模块包括LabVIEW VI调用工具、Win32DLL调用工具、ActiveX调用工具、.NET DLL调用工具、脚本调用工具;
LabVIEW VI调用工具自动解析VI的输入输出参数;输入参数传递进VI,VI执行结束后将结果返回;
Win32DLL调用工具通过对应的.h文件解析被调用DLL内部的函数及其参数列表;输入参数传递进所调用的函数,执行结束后返回结果;
ActiveX调用工具解析出ActiveX内部的函数及其参数列表;输入参数传递进所调用的函数,执行结束后返回结果;
.NET DLL调用工具解析出DLL内部的函数及其参数列表,输入参数传递进所调用的函数,执行结束后返回结果;
脚本调用工具用于配置、参数化、执行各类脚本,包括TCL、Java、VB、 Python脚本;脚本语言中的任何字段都可映射成变量,每种脚本语言都需要正确配置语言类型,并选用对应的后台执行引擎执行;脚本执行结果作为变量保存。
6.根据权利要求2所述的硬件设备自动化测试***,其特征在于:
所述网络协议模块支持的网络协议包括RS232、Telnet、SSH、TCP、UDP协议;
各类不同网络协议的操作方法类似:配置连接参数、建立连接、录制并修改操作脚本;对于RS232,需要配置的连接参数有:波特率、数据位、停止位、奇偶校验;对于其它基于TCP/IP的协议,需要配置的连接参数有:IP地址、端口号;
建立连接后,通过指令方式与***设备通信;所发出的指令和收到的返回信息都会被录制成脚本。
7.根据权利要求2所述的硬件设备自动化测试***,其特征在于:
所述GUI自动化模块支持的图形化用户界面包括Win32GUI、Java GUI、Web GUI、.NET GUI;
GUI自动化模块先“录制”脚本,然后再“回放”;“录制”也称“捕获”,即在测试者运行应用程序的同时,把它的所有动作,包括键盘操作、鼠标点击捕获下来,生成一个脚本文件,这个脚本以后可被“回放”,也就是按照上一次的所有动作重复执行一遍,实现自动运行和测试;所录制的脚本可根据需要进行编辑、修改。
8.一种权利要求1至7之一所述硬件设备自动化测试***的测试方法,其特征在于,所述方法包括如下步骤:
步骤A、测试用例建立步骤;新建一个测试用例,得到一个测试流程设计窗口;
步骤B、拖拽步骤;按照测试流程,把测试所需的功能模块拖拽到测试 流程设计区域;
步骤C、配置步骤;每个功能模块都有一个标准配置界面,用于配置参数信息;
步骤D、测试执行步骤;根据步骤B、步骤C的设置,各功能模块自动执行,完成测试流程。
9.根据权利要求8所述的硬件设备自动化测试***,其特征在于:
在测试流程设计区域,按照测试用例的实际步骤,选择能够实现该步骤所需功能的模块/工具,包括测试逻辑模块中的各类结构、通用工具模块中的各类工具、外部程序调用模块中的各类工具、网络协议模块和GUI自动化模块;
将该模块/工具拖拽到测试流程中,并配置参数;测试流程的拖拽、配置过程也即测试用例的创建过程。
10.根据权利要求8或9所述的硬件设备自动化测试***,其特征在于:
每个模块都有标准的输入、输出参数列表;输入参数可赋固定值或变量,输出参数自动生成变量并保存;
一个模块的输出参数以变量的形式赋值给另外模块的输入参数,从而实现数据的传递。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011101907652A CN102609341A (zh) | 2011-07-08 | 2011-07-08 | 硬件设备自动化测试***及其测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011101907652A CN102609341A (zh) | 2011-07-08 | 2011-07-08 | 硬件设备自动化测试***及其测试方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102609341A true CN102609341A (zh) | 2012-07-25 |
Family
ID=46526733
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011101907652A Pending CN102609341A (zh) | 2011-07-08 | 2011-07-08 | 硬件设备自动化测试***及其测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102609341A (zh) |
Cited By (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104657141A (zh) * | 2015-02-12 | 2015-05-27 | 金光 | 一种基于计算机视觉的gui软件包装器及其实现方法 |
CN104729536A (zh) * | 2015-03-18 | 2015-06-24 | 广东好帮手电子科技股份有限公司 | 一种基于车载导航产品的调试工具及调试方法 |
CN104767729A (zh) * | 2015-02-10 | 2015-07-08 | 上海创景计算机***有限公司 | 通信数据协议构造与分解***及方法 |
CN105279093A (zh) * | 2015-11-26 | 2016-01-27 | 上海斐讯数据通信技术有限公司 | 软件测试方法、装置及设备 |
CN105868083A (zh) * | 2015-01-21 | 2016-08-17 | 中兴通讯股份有限公司 | 一种回放用户操作的方法和装置 |
CN106776274A (zh) * | 2016-11-14 | 2017-05-31 | 南京捷希科技有限公司 | 一种图形化测试流程配置方法及装置 |
CN106776336A (zh) * | 2016-12-29 | 2017-05-31 | 武汉船舶通信研究所 | 测试脚本生成方法及装置、软件测试方法及装置 |
CN107066260A (zh) * | 2017-03-08 | 2017-08-18 | 广州市富元电子有限公司 | 一种开放式自动变速箱测试流程控制引擎 |
CN107153599A (zh) * | 2017-06-14 | 2017-09-12 | 上海点融信息科技有限责任公司 | 一种记录以及回放用户操作的方法及设备 |
CN107229481A (zh) * | 2017-07-19 | 2017-10-03 | 中国银行股份有限公司 | 一种基于Excel的测试方法和工具 |
CN107391366A (zh) * | 2017-07-07 | 2017-11-24 | 华为技术有限公司 | 一种测试用例的生成方法及执行方法和装置 |
CN108092843A (zh) * | 2017-03-24 | 2018-05-29 | 深圳市必联电子有限公司 | 一种路由器通用测试方法 |
CN108206802A (zh) * | 2016-12-16 | 2018-06-26 | 华为技术有限公司 | 检测网页后门的方法和装置 |
CN108809755A (zh) * | 2018-05-18 | 2018-11-13 | 烽火通信科技股份有限公司 | 兼容命令行和web界面的家庭网关自动测试方法及*** |
US10130305B2 (en) | 2016-04-22 | 2018-11-20 | Under Armour, Inc. | Device and methods for automated testing |
CN108959094A (zh) * | 2018-07-11 | 2018-12-07 | 苏州因曼吉科技有限公司 | 一种基于数据结构的测试程序的定义和应用方法 |
CN109032709A (zh) * | 2017-06-09 | 2018-12-18 | 保定兰格恒流泵有限公司 | 一种智能泵图形化参数设置方法 |
CN109634253A (zh) * | 2018-11-13 | 2019-04-16 | 武汉精能电子技术有限公司 | 一种自动化流程控制方法及*** |
CN109951863A (zh) * | 2019-03-05 | 2019-06-28 | 深圳市吉祥腾达科技有限公司 | 一种无线稳定性挂机测试方法及*** |
CN110097432A (zh) * | 2019-05-10 | 2019-08-06 | 控福(上海)智能科技有限公司 | 一种测试平台商城及测试*** |
CN110177076A (zh) * | 2019-04-16 | 2019-08-27 | 凯通科技股份有限公司 | 面向多协议多类型设备接入方法、电子设备及存储介质 |
CN110221983A (zh) * | 2019-06-19 | 2019-09-10 | 深圳市腾讯网域计算机网络有限公司 | 测试方法、装置、计算机可读存储介质和计算机设备 |
CN112905154A (zh) * | 2020-12-30 | 2021-06-04 | 杭州加速科技有限公司 | 一种提高软硬件协同开发速度的方法及装置 |
CN113010188A (zh) * | 2021-02-09 | 2021-06-22 | 广州思林杰科技股份有限公司 | 模块化测控***生成方法、装置、计算机设备及存储器 |
CN113204300A (zh) * | 2021-07-02 | 2021-08-03 | 杭州星犀科技有限公司 | 设备自动执行操作的方法和*** |
CN113541796A (zh) * | 2020-04-21 | 2021-10-22 | ***通信集团广东有限公司 | 光纤传输***及光纤环形器 |
CN113624250A (zh) * | 2020-05-09 | 2021-11-09 | 航天科工惯性技术有限公司 | 一种自动温循测试装置和方法 |
CN113946519A (zh) * | 2021-11-10 | 2022-01-18 | 四川启睿克科技有限公司 | 一种ui自动化测试的方法 |
CN116796701A (zh) * | 2023-08-28 | 2023-09-22 | 宁波联方电子科技有限公司 | 一种器件测试单元结构自动化实现装置和方法 |
-
2011
- 2011-07-08 CN CN2011101907652A patent/CN102609341A/zh active Pending
Cited By (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105868083A (zh) * | 2015-01-21 | 2016-08-17 | 中兴通讯股份有限公司 | 一种回放用户操作的方法和装置 |
CN104767729A (zh) * | 2015-02-10 | 2015-07-08 | 上海创景计算机***有限公司 | 通信数据协议构造与分解***及方法 |
CN104657141A (zh) * | 2015-02-12 | 2015-05-27 | 金光 | 一种基于计算机视觉的gui软件包装器及其实现方法 |
CN104657141B (zh) * | 2015-02-12 | 2017-09-26 | 金光 | 一种基于计算机视觉的gui软件包装器及其实现方法 |
CN104729536B (zh) * | 2015-03-18 | 2017-11-10 | 广东好帮手电子科技股份有限公司 | 一种基于车载导航产品的调试工具及调试方法 |
CN104729536A (zh) * | 2015-03-18 | 2015-06-24 | 广东好帮手电子科技股份有限公司 | 一种基于车载导航产品的调试工具及调试方法 |
CN105279093A (zh) * | 2015-11-26 | 2016-01-27 | 上海斐讯数据通信技术有限公司 | 软件测试方法、装置及设备 |
CN105279093B (zh) * | 2015-11-26 | 2018-04-06 | 上海斐讯数据通信技术有限公司 | 软件测试方法、装置及设备 |
US10130305B2 (en) | 2016-04-22 | 2018-11-20 | Under Armour, Inc. | Device and methods for automated testing |
CN106776274A (zh) * | 2016-11-14 | 2017-05-31 | 南京捷希科技有限公司 | 一种图形化测试流程配置方法及装置 |
US11863587B2 (en) | 2016-12-16 | 2024-01-02 | Huawei Technologies Co., Ltd. | Webshell detection method and apparatus |
CN108206802B (zh) * | 2016-12-16 | 2020-11-17 | 华为技术有限公司 | 检测网页后门的方法和装置 |
CN108206802A (zh) * | 2016-12-16 | 2018-06-26 | 华为技术有限公司 | 检测网页后门的方法和装置 |
CN106776336A (zh) * | 2016-12-29 | 2017-05-31 | 武汉船舶通信研究所 | 测试脚本生成方法及装置、软件测试方法及装置 |
CN107066260A (zh) * | 2017-03-08 | 2017-08-18 | 广州市富元电子有限公司 | 一种开放式自动变速箱测试流程控制引擎 |
CN108092843A (zh) * | 2017-03-24 | 2018-05-29 | 深圳市必联电子有限公司 | 一种路由器通用测试方法 |
CN109032709A (zh) * | 2017-06-09 | 2018-12-18 | 保定兰格恒流泵有限公司 | 一种智能泵图形化参数设置方法 |
CN107153599A (zh) * | 2017-06-14 | 2017-09-12 | 上海点融信息科技有限责任公司 | 一种记录以及回放用户操作的方法及设备 |
CN107391366A (zh) * | 2017-07-07 | 2017-11-24 | 华为技术有限公司 | 一种测试用例的生成方法及执行方法和装置 |
CN107391366B (zh) * | 2017-07-07 | 2021-01-29 | 华为技术有限公司 | 一种测试用例的生成方法及执行方法和装置 |
CN107229481A (zh) * | 2017-07-19 | 2017-10-03 | 中国银行股份有限公司 | 一种基于Excel的测试方法和工具 |
CN108809755A (zh) * | 2018-05-18 | 2018-11-13 | 烽火通信科技股份有限公司 | 兼容命令行和web界面的家庭网关自动测试方法及*** |
CN108809755B (zh) * | 2018-05-18 | 2020-10-30 | 烽火通信科技股份有限公司 | 兼容命令行和web界面的家庭网关自动测试方法及*** |
CN108959094A (zh) * | 2018-07-11 | 2018-12-07 | 苏州因曼吉科技有限公司 | 一种基于数据结构的测试程序的定义和应用方法 |
CN108959094B (zh) * | 2018-07-11 | 2022-04-12 | 苏州因曼吉科技有限公司 | 一种基于数据结构的测试程序的定义和应用方法 |
CN109634253A (zh) * | 2018-11-13 | 2019-04-16 | 武汉精能电子技术有限公司 | 一种自动化流程控制方法及*** |
CN109951863A (zh) * | 2019-03-05 | 2019-06-28 | 深圳市吉祥腾达科技有限公司 | 一种无线稳定性挂机测试方法及*** |
CN110177076A (zh) * | 2019-04-16 | 2019-08-27 | 凯通科技股份有限公司 | 面向多协议多类型设备接入方法、电子设备及存储介质 |
CN110097432A (zh) * | 2019-05-10 | 2019-08-06 | 控福(上海)智能科技有限公司 | 一种测试平台商城及测试*** |
CN110221983A (zh) * | 2019-06-19 | 2019-09-10 | 深圳市腾讯网域计算机网络有限公司 | 测试方法、装置、计算机可读存储介质和计算机设备 |
CN110221983B (zh) * | 2019-06-19 | 2024-01-16 | 深圳市腾讯网域计算机网络有限公司 | 测试方法、装置、计算机可读存储介质和计算机设备 |
CN113541796A (zh) * | 2020-04-21 | 2021-10-22 | ***通信集团广东有限公司 | 光纤传输***及光纤环形器 |
CN113624250A (zh) * | 2020-05-09 | 2021-11-09 | 航天科工惯性技术有限公司 | 一种自动温循测试装置和方法 |
CN113624250B (zh) * | 2020-05-09 | 2024-05-10 | 航天科工惯性技术有限公司 | 一种自动温循测试装置和方法 |
CN112905154A (zh) * | 2020-12-30 | 2021-06-04 | 杭州加速科技有限公司 | 一种提高软硬件协同开发速度的方法及装置 |
CN113010188B (zh) * | 2021-02-09 | 2021-12-28 | 广州思林杰科技股份有限公司 | 模块化测控***生成方法、装置、计算机设备及存储器 |
CN113010188A (zh) * | 2021-02-09 | 2021-06-22 | 广州思林杰科技股份有限公司 | 模块化测控***生成方法、装置、计算机设备及存储器 |
CN113204300A (zh) * | 2021-07-02 | 2021-08-03 | 杭州星犀科技有限公司 | 设备自动执行操作的方法和*** |
CN113946519A (zh) * | 2021-11-10 | 2022-01-18 | 四川启睿克科技有限公司 | 一种ui自动化测试的方法 |
CN116796701A (zh) * | 2023-08-28 | 2023-09-22 | 宁波联方电子科技有限公司 | 一种器件测试单元结构自动化实现装置和方法 |
CN116796701B (zh) * | 2023-08-28 | 2023-12-19 | 宁波联方电子科技有限公司 | 一种器件测试单元结构自动化实现装置和方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102609341A (zh) | 硬件设备自动化测试***及其测试方法 | |
CN109933522B (zh) | 一种自动化用例的测试方法、测试***及存储介质 | |
CN102819492B (zh) | 一种基于Android的关键字驱动自动化测试框架 | |
CN103198009B (zh) | 一种通用测试方法、***及相应装置 | |
CN104679488A (zh) | 一种流程定制开发平台及流程定制开发方法 | |
CN105094783A (zh) | 安卓应用稳定性测试的方法及装置 | |
CN110286892B (zh) | 一种基于业务流程设计的快速开发引擎*** | |
CN103164300A (zh) | 一种移动终端触摸屏自动测试方法及装置 | |
EP2498178A1 (en) | Method and device for development environment converting | |
CN104778124A (zh) | 一种软件应用自动化测试方法 | |
CN102306122A (zh) | 自动化测试方法及设备 | |
CN110362490B (zh) | 融合iOS与Android移动应用的自动化测试方法及*** | |
CN104778118A (zh) | 自动化测试技术的改进方法 | |
US20060020931A1 (en) | Method and apparatus for managing complex processes | |
CN108804300A (zh) | 自动化测试方法及*** | |
CN105204991A (zh) | 一种物联设备测试方法及装置 | |
CN102750143B (zh) | 基于matlab com组件调用的dsp开发方法 | |
CN101634681B (zh) | 一种电子设备的自动测试*** | |
Wang et al. | Research on mobile application automation testing technology based on appium | |
CN113656304B (zh) | 一种前端应用程序的测试方法、设备和存储介质 | |
CN114968192A (zh) | 一种项目创建方法、装置、计算机设备及存储介质 | |
CN1996265A (zh) | 实现自动测试的方法与*** | |
CN113961570A (zh) | 一种应用于MYSQL BINLog变更数据的实时采集方法 | |
CN109885493A (zh) | 一种基于Android平台和Java反射的自动化混合框架 | |
CN108959094A (zh) | 一种基于数据结构的测试程序的定义和应用方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20120725 |