本发明涉及设备测试技术领域,具体涉及一种受遥控控制设备的自动测试系统与方法。
背景技术:
随着计算机技术、通信技术、网络技术、控制技术、信息技术的迅猛发展,国民经济水平的不断提高,工作及生活中拥有的智能家电、儿童玩具、远程监控等受遥控设备不断增多且遥控器由单一的传统红外方式增添至蓝牙、wifi、gprs、射频等方式。消费者对受遥控设备的功能和性能提出了更高的要求,受遥控控制设备的生产厂商在研发及生产阶段对这些产品功能的稳定性如所有受遥控设备的上万次的待机、开机,汽车门锁频繁开启关闭、车窗频繁升降、车窗除雾开关频繁开启关闭、各功能相互频繁切换,电视机视频输入模式上千次切换、切台、各菜单进入退出,遥控车、遥控飞行器、遥控机器人、智能扫地机上千次的前进、后退、左右调度、指示灯变换等动作切换测试越来越重视。
目前电视机、空调、汽车等产品行业内有了一些自动化测试装置或方法,但这些测试装置仅仅适用于单一类型产品及单一的遥控方式,无法实现一个测试装置同时兼容所有受遥控控制设备的自动测试功能。其它受遥控控制的类型产品目前大多还停留在人工按遥控器按键方式进行测试,测试人员反复的按键操作非常枯燥,且每次测试随着人员不同时间不同都有差异,容易导致功能测试遗漏,测试不充分,测试效率低下,浪费人力成本等问题。
目前智能家电、儿童玩具、远程监控等受遥控设备行业内总体有两种自动化测试方式:1、上位机驱动测试装置,测试装置模拟遥控向被测设备发射遥控测试指令,被测设备接收测试指令进行自动化测试;2、被测设备接入待测试序列配置文件的优盘,由被测设备系统软件对优盘中的测试序列进行解析,实现自动化测试。
上述第一种测试方案的缺点:1、测试装置仅仅适用于单一类型产品,无法兼容其它类型产品;2、测试装置模拟的遥控信号类型单一,限定于红外遥控信号,无法兼容现有蓝牙、wifi、gprs、射频等新型遥控信号;3、测试装置需外接计算机进行测试序列的输入,测试系统成员组成多、系统搭建复杂、系统不方便携带,自动化测试推广难度大;4、测试装置无人机交互界面,只能通过外接计算机对测试装置进行操作及工作状态监视,无法由测试装置自身进行测试操作及当前工作状态显示。
上述第二种测试方案的缺点:1、局限于带usb接口的被测设备;2、被测设备软件需针对性开发以实现软件自身测试的功能,开发工作量及成本大,推广难度高;3、系统测试不完整,被测设备的遥控器接受功能及处理遥控信号指令软硬件模块测试遗漏,无法达到模拟用户使用场景(被外界控制信号驱动工作)测试的目的。
技术实现要素:
本发明克服了现有技术的不足,提供一种便于进行自动化测试的受遥控控制设备的自动测试系统与方法。
考虑到现有技术的上述问题,根据本发明公开的一个方面,本发明采用以下技术方案:
一种受遥控控制设备的自动测试系统,包括测试装置,所述测试装置包括:
测试用例获取模块,用于获取根据被测设备特性设计的测试用例,和对用例进行封装并进行标题编号;或调用标准测试用例;或从计算机中以在线输入的方式获取测试用例;
处理模块,用于根据所述测试用例获取模块获取的测试用例,产生执行所述测试用例的测试指令;
信号发射模块,用于向被测设备发射测试指令,所述被测设备通过信号接收模块接收所述测试指令和通过信息调度模块执行测试用例;
测试端工作状态输出模块,用于输出测试装置测试的工作状态信息。
为了更好地实现本发明,进一步的技术方案是:
根据本发明的一个实施方案,测试所需的用户测试用例及测试config文件存入存储器,所述测试用例获取模块从与之接入的存储器中获取测试用例和测试config文件。
根据本发明的另一个实施方案,所述测试config文件中添加控制信息,所述处理模块解析所述控制信息并予以执行。
根据本发明的另一个实施方案,所述存储器为u盘、移动硬盘、tf卡和sd卡中的一种或几种组合。
根据本发明的另一个实施方案,还包括控制输入模块,所述控制输入模块与所述处理模块连接,控制输入模块用于输入控制信息并传输给所述处理模块。
根据本发明的另一个实施方案,所述控制信号输入模块包括测试装置自带的输入模块、测试装置外接输入接口中的一种或两种组合组成,其中测试装置自带的输入模块包括按键和/或触摸屏,所述测试装置外接输入接口为网口和/或串口。
根据本发明的另一个实施方案,所述信号发射模块包括蓝牙遥控模块、红外遥控模块、wifi遥控模块、射频遥控模块、gprs遥控模块和未来其它新型遥控模块。
根据本发明的另一个实施方案,还包括与所述测试装置和所述被测设备连接的监控及结果分析装置,连接的介质包括网线、串口、av、s-video、hdmi、ypbpr等线中的一种或几种组合。
根据本发明的另一个实施方案,所述被测设备中还设置被测试端工作状态输出模块和/或工作日志存储模块。
本发明还可以是:
一种受遥控控制设备的自动测试系统的测试方法,包括:
步骤s001:根据被测设备特性设计测试用例,对用例进行封装并标题编号;
步骤s002:根据被测设备配备的遥控器特性,选择遥控信号类型,调试测试装置的信号发射模块使其与被测设备的信号接收模块配对;
步骤s003:将步骤s001中的测试所需的用户测试用例及测试config文件存入存储器,存储器接入测试装置的测试用例获取模块,或调用标准测试用例,或从计算机中以在线输入的方式获取测试用例;
步骤s004:测试人员操作测试装置的控制输入模块,选择需执行的测试用例或测试用例组合序列,控制测试装置处理模块执行测试用例;或将控制信息在测试config文件中描述,由处理模块解析执行;
步骤s005-1:测试装置将已执行测试用例中的对应被测设备工作日志预期结果存入预期工作日志文件中;
步骤s005-2:测试装置信号发射模块向被测设备发射遥控测试指令;
步骤s005-3:测试装置的工作状态输出模块显示当前测试的项目名称、用例标题编号或标题编号序列、用例执行状态、用例执行进度信息;
步骤s006:被测设备通过信号接收模块接收测试指令,信息调度模块执行测试用例;
步骤s007:判断被测设备是否需要存储工作日志;
步骤s008:被测设备的工作日志存储模块将执行的工作日志文件存入存储器中;
步骤s009-1:监控及结果分析装置对步骤s005-1步输出的预期工作日志文件及步骤s008步输出的工作日志文件进行比对分析,自动判断测试结果;
步骤s009-2:若s007步确认被测设备无需存储工作日志,则人工判断测试结果。
与现有技术相比,本发明的有益效果之一是:
本发明的一种受遥控控制设备的自动测试系统与方法,具有:
1)应用的产品种类广泛:本发明除应用于传统受遥控家电(如电视机、智能扫地机、风扇、空调、灯等)、受控玩具(如遥控车、遥控船、遥控飞行器、遥控动物、遥控玩具机器人)、受控工程设备(如遥控机械手臂、遥控高压开关、遥控运输设备)上外,还可用于监控、无人机等受远程遥控设备上;
2)应用的控制信号种类多样:可测试除传统红外信号遥控的设备外还支持近期市场逐渐增加的采用蓝牙、wi-fi、gprs、射频信号遥控设备的测试;
3)测试用例编写及自动化测试系统应用推广难度低:测试用例基于该系统测试装置设计,在测试不同类型的受遥控控制设备时,测试人员无需了解被测设备的软件开发流程,只需掌握该系统测试装置的使用方法即可完成“应用的产品种类广泛”中所描述产品的测试用例编写工作。该系统测试装置除支持测试人员根据被测设备产品特性设计用户测试用例外,还支持向用户提供带接口封装的标准测试用例,这类标准测试用例可被测试人员直接调用;
4)系统搭建方便:目前行业中的自动化测试装置需外接计算机进行测试序列输入,测试系统成员组成多、系统搭建复杂。本发明的自动化测试系统可只包含测试装置及被测设备,单独的测试装置便于携带,测试系统搭建简单;
5)良好人机界面:本发明的测试装置自带按键及屏幕(led数码管或lcd显示屏或触摸屏),测试人员可通过测试装置自带的人机界面对其进行测试操作及当前工作状态显示;
6)增加测试结果自动判断机制,若无对被测设备测试结果自动判断功能需求,则不需对被测设备软件进行二次开发,降低自动测试开发成本;
综上,本发明能模拟用户实际应用环境,以低成本方式满足现有受遥控控制设备的自动化测试需求,达到了降低人工成本、提高测试效率、增强产品质量的目的。
附图说明
为了更清楚的说明本申请文件实施例或现有技术中的技术方案,下面将对实施例或现有技术的描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅是对本申请文件中一些实施例的参考,对于本领域技术人员来讲,在不付出创造性劳动的情况下,还可以根据这些附图得到其它的附图。
图1为根据本发明一个实施例的受遥控控制设备的自动测试系统框图。
图2为根据本发明一个实施例的测试装置的输入/输出设备连接框图。
图3为根据本发明一个实施例的测试流程示意图。
图4a和图4b为根据本发明一个实施例的测试装置自带控制输入模块的待机-唤醒测试控制的人机界面示意图。
图5a和图5b为根据本发明一个实施例的测试装置自带输出模块的待机-唤醒测试状态显示示意图。
具体实施方式
下面结合实施例对本发明作进一步地详细说明,但本发明的实施方式不限于此。
为了实现家电、玩具、工程设备、远程设备等受遥控控制设备的自动测试功能,如图1所示,一种受遥控控制设备的自动测试系统,由测试装置1、受遥控控制的被测设备2、监控及结果分析装置3等组成,所述测试装置1由测试用例获取模块11、测试端工作状态输出模块12、处理模块13、信号发射模块14及控制信号输入模块15等组成;所述受遥控控制的被测设备由信号接收模块21、信息调度模块22、被测试端工作状态输出模块23及工作日志存储模块24组成;所述监控及结果分析装置3由音视频监控设备31、计算机32组成。
测试用例获取模块11、监控模块、信号发射模块14及控制信号输入模块15分别与处理模块13连接;受遥控控制的被测设备2中的信号接收模块21、工作状态输出模块12及工作日志存储模块24分别与信息调度模块22连接;监控及结果分析装置3与测试装置1通过有线方式连接,其中与音视频监控设备31连接的介质包括av、s-video、hdmi、ypbpr线中的一种或几种组合,与计算机连接的介质包括网线、串口中的一种或两种组合;测试装置1与受遥控控制的被测设备2通过遥控信号连接。
如图2所示,测试用例获取模块11由移动存储设备接口111、计算机通讯接口112中的一种或两种组合组成;测试端工作状态输出模块12由测试装置自带的输出模块121、测试装置外接监视器接口122中的一种或两种组合组成;信号发射模块14包括蓝牙遥控模块141、红外遥控模块142、wifi遥控模块143、射频遥控模块144、gprs遥控模块145和未来其它新型遥控模块146;控制信号输入模块15由测试装置自带的输入模块151、测试装置外接输入接口152中的一种或两种组合组成。
测试用例获取模块11用于获取根据被测设备特性设计的测试用例,和对用例进行封装并进行标题编号,或调用标准测试用例,或从计算机中以在线输入的方式获取测试用例;处理模块13用于根据所述测试用例获取模块11获取的测试用例,产生执行所述测试用例的测试指令4;信号发射模块14用于向被测设备2发射测试指令4,所述被测设备2中通过信号接收模块21接收所述测试指令4、和通过信息调度模块22执行测试用例;测试端工作状态输出模块12用于输出测试装置1测试的工作状态信息。
测试用例输入方式由移动存储器输入、计算机在线输入中的一种或两种组合组成,其中移动存储器包括u盘、移动硬盘、tf卡、sd卡、手机中的一种或几种组合;测试装置1的控制信号输入方式由测试装置自带的输入接口(如按键,触摸屏)、计算机在线输入中的一种或两种组合组成;测试装置1的工作状态信息显示方式由测试装置自带的屏幕(led数码管或lcd显示屏或触摸屏)、外置监控及结果分析装置中的一种或两种组合组成;信号发射模块发射信号由红外、wifi、蓝牙、gprs、射频、未来其它新型遥控信号中的一种或几种组合组成;工作日志输出方式由移动存储器存储、计算机在线存储中的一种或两种组合组成,其中移动存储器包括u盘、移动硬盘、tf卡、sd卡中的一种或几种组合。
以上测试装置自带的输出模块121与测试装置自带的输入模块151中的触摸屏可公用;计算机通讯接口112、测试装置外接监视器接口122及测试装置外接输入接口152中的网口、串口可公用;监控及结果分析装置3及受遥控控制的被测设备2中的工作状态输出模块23、工作日志存储模块24为可选模块,自动测试系统配置根据被测产品软件特性及产品种类特性合理选择配置。
本发明测试人员通过测试装置友好的人机界面选择测试装置需执行的用例或用例序列,测试装置执行测试用例并向被测设备发射遥控测试信号,被测设备接收遥控测试指令进行自动测试。根据测试项目及被测设备类型不同,可选择是否使用工作日志存储功能,以实现后期测试结果自动分析功能。本发明的工作流程如下:
s001:根据被测设备特性,设计测试用例,对用例进行封装并标题编号。
测试用例由测试标题编号、测试输入(可为空)、测试步骤、测试步骤对应被测设备工作日志预期结果组成。其中测试输入包括内容有:被测设备遥控器类型,遥控器按键名称,遥控器用户码(针对红外遥控器,可为空),被测设备wifissid及密码(针对wifi遥控器,本地点对点配对模式,可为空),路由器的wifissid及密码(针对wifi遥控器,测试装置与被测设备通过本地局域网或远程互联网配对模式,可为空),被测设备蓝牙名称及配对密码(针对蓝牙遥控器,可为空)等。根据“受遥控控制的被测设备2”产品遥控器实际情况,上述测试用例中的测试输入参数名称与其实际值的映射关系可在下文s003中的“测试config文件”中进行描述或在下文s004步测试设装置1控制信号输入模块15的相关界面中进行设置;其中测试步骤由测试装置可识别语言进行编写描述,语言包括html、脚本语言(tcl、asp、php、cgi、jsp、javascript、vbscript及针对该发明中的测试装置自定义的命令语言等)、编程语言(c,c++,java,c#等);其中“被测设备工作日志预期结果”在编写测试用例时可为空,后期可由测试装置1通过解析测试用例中的测试步骤自动生成s005-1中描述的“预期工作日志文件”。
测试用例分两种情况,一种由自动测试装置系统软件设计人员进行设计、用例接口封装并存储在“自动测试装置”系统中的标准测试用例,这类测试用例测试人员可通过封装的接口直接调用,如下例1;另一种由测试人员根据受遥控控制的被测设备产品特性而设计的用户测试用例,如下例2,下文例子只用于本发明工作流程的解释说明,不限定本发明具体实施方式。
例1:
case1s-standby://“1s-standby”为待机与唤醒的标题,其中“1s”为测试用例标题编号,s表示该测试用例属系统自动标准用例。
该标准测试用例可被测试人员调用到所有被测设备上,其中“standby-data”、“startup-time”、“standbytotal”为该标准测试用例的封装接口,测试人员只需了解待机唤醒用例标题编号“1s”、被测设备待机遥控器按键键值“standby-data”、被测设备启动耗时“startup-time”、要求完成待机唤醒测试次数“standbytotal”,并将上述值在下文s003中的“测试config文件”中进行描述或在下文s004步测试设装置(1)控制信号输入模块(15)的相关界面中进行设置。
例2:
该测试用例为电视机信号源菜单中切换1000次的强度测试用例,例2可保存为文本文档,文档命名为“2u-source”,其中“2u”为测试用例标题编号,u表示该测试用例为用户编写用例,该用例可存储在下文s003步中的存储器中。根据“受遥控控制的被测设备2”产品遥控器实际情况,将所有遥控器按键名称(如source)与其实际遥控器按键键值映射关系及测试用例编号“2u”在下文s003中的“测试config文件”中进行描述。
s002:根据被测设备配备的遥控器特性,选择遥控信号类型(蓝牙、红外、wifi、gprs、射频、未来其它新型遥控信号类型),调试测试装置信号发送模块使其与被测设备信号接收模块成功配对。
配对成功后,可将遥控器信号类型id(如蓝牙id标识为001、红外id标识为002、wifi标识为003、gprs标识为004、射频标识为005)、被测装置2遥控器的所有按键名称(以遥控车为例、按键名称包括:left、right、front、back等)与其实际遥控器按键键值映射关系在下文s003中的“测试config文件”中进行描述。
s003:将s001中的测试所需的用户测试用例及测试config文件存入存储器,存储器接入测试装置1的测试用例获取模块11。
s004:测试人员操作测试装置1的控制输入模块15,选择需执行的测试用例或测试用例组合序列,控制测试装置处理模块13执行测试用例。
测试装置1的控制输入模块15的软件控制界面有2种方式显示,一种直接显示在测试装置自带的屏幕(led数码管或lcd显示屏或触摸屏)上,另一种可通过外接计算机方式访问控制输入模块15的菜单web页面显示。以s001例1中的标准测试用例“1s-standby”为例,“1s-standby”用例在测试装置自带的输入模块151上控制操作显示的人机界面如附图4a和图4b所示。
s005-1:测试装置1将已执行测试用例中的“对应被测设备工作日志预期结果”存入“预期工作日志文件”中。
s005-2:测试装置1信号发射模块14向被测设备发射遥控测试指令4。
s005-3:测试装置1的工作状态输出模块12显示当前测试的项目名称、用例标题编号或标题编号序列、用例执行状态、用例执行进度等信息。以s001例1中的标准测试用例“1s-standby”执行状态为例,“1s-standby”用例在测试装置自带的输入模块151上显示的状态截图如附图5a和图5b所示。
s006:被测设备2通过信号接收模块21接收测试指令,信息调度模块22执行测试用例。
s007:判断被测设备2是否需要存储工作日志。
判断被测设备2是否需要存储工作日志的标识id(如需要存储的标识id为1、不需存储标识为0)可在s003步“测试config文件”中进行描述。
s008:被测设备2的工作日志存储模块24将执行的工作日志文件存入存储器中。
s009-1:监控及结果分析装置对s005-1步输出的“预期工作日志文件”及s008步输出的“工作日志文件”进行比对分析,自动判断测试结果。
s009-2:若s007步确认被测设备2无需存储工作日志,则人工判断测试测试结果。
以上流程中,还可通过以下方案代替:
方案一:图1中的控制信号输入模块15可以取消,取消后依然能实现本发明的测试结果。控制信号输入模块取消后,可将需输入的控制信息均可在s003步中的“测试config文件”中进行描述,由测试装置的处理模块13解析执行。
方案二:图1中监控及结果分析装置3可取消,取消后依然能实现本发明的测试效果。取消后的“监控及结果分析装置”功能可由测试装置1完成。
方案三:受遥控控制的被测设备中的工作状态输出模块23可取消,取消后依然能实现本发明的测试结果。
方案四:针对非开发阶段测试,市场产品的软件可能屏蔽掉了工作日志输出功能,此情况图1中的工作日志存储模块24可取消,取消后可通过人工判断的方式依然能实现自动测试目的。
上述控制信号输入模块15、音视频监控设备31、计算机32、被测试端工作状态输出模块23、24模块单独取消外组合取消亦能实现本发明的测试结果。
本发明的受遥控控制设备包括受遥控家电,如电视机、智能扫地机、风扇、空调、机顶盒、灯、汽车等;受控玩具,如遥控车、遥控船、遥控飞行器、遥控动物、遥控玩具机器人;受控工程设备,如遥控机械手臂、遥控高压开关、遥控运输设备;受远程遥控设备,如远程监控、远程开关、无人机等所有可通过蓝牙、红外、wifi、射频、gprs、未来其它新型遥控的设备。
综上而言,(1)本发明解决了被测设备产品种类单一问题,其测试装置可对所有受遥控控制的设备进行测试;(2)以及解决了遥控信号单一问题,一个测试装置除可测试传统红外信号遥控的设备外还支持近期市场逐渐新增的蓝牙、wi-fi、gprs、射频信号遥控设备;(3)降低了测试用例编写及自动化测试系统应用推广难度:测试用例基于该系统测试装置设计,在测试不同类型的受遥控控制设备时,测试人员无需了解被测设备的软件开发流程,只需掌握该系统测试装置的使用方法即可完成上述“应用的产品种类广泛”中描述的产品测试用例编写工作。该系统测试装置除支持测试人员根据被测设备产品特性设计用户测试用例外,还支持向用户提供带接口封装的标准测试用例,这类标准测试用例可被测试人员直接调用;(4)减少了自动化测试系统的组成成员,目前行业中的自动化测试装置需外接计算机进行测试序列的输入,测试系统成员组成多、系统搭建复杂。本发明的自动化测试系统可只包含测试装置及被测设备,单独的测试装置便于携带,测试系统搭建简单;(5)测试装置可自带按键及屏幕(led数码管或lcd显示屏或触摸屏),向测试人员提供良好的人机交互界面,测试人员可通过测试装置的人机交互界面对其进行测试操作及当前工作状态显示;(6)较被测设备软件自身测试方案,本发明能模拟用户真实使用场景来驱动被测设备工作,解决了软件自动测试不贴近产品实际应用环境问题;(7)增加了测试结果自动判断机制,若无被测设备测试结果自动判断需求,则不需对被测设备软件进行二次开发,降低了被测设备自动测试开发成本。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同相似部分相互参见即可。
在本说明书中所谈到的“一个实施例”、“另一个实施例”、“实施例”、等,指的是结合该实施例描述的具体特征、结构或者特点包括在本申请概括性描述的至少一个实施例中。在说明书中多个地方出现同种表述不是一定指的是同一个实施例。进一步来说,结合任一实施例描述一个具体特征、结构或者特点时,所要主张的是结合其他实施例来实现这种特征、结构或者特点也落在本发明的范围内。
尽管这里参照本发明的多个解释性实施例对本发明进行了描述,但是,应该理解,本领域技术人员可以设计出很多其他的修改和实施方式,这些修改和实施方式将落在本申请公开的原则范围和精神之内。更具体地说,在本申请公开和权利要求的范围内,可以对主题组合布局的组成部件和/或布局进行多种变型和改进。除了对组成部件和/或布局进行的变型和改进外,对于本领域技术人员来说,其他的用途也将是明显的。