一种硬件自动测试方法及系统的制作方法

文档序号:6431171阅读:179来源:国知局

专利名称::一种硬件自动测试方法及系统的制作方法
技术领域
:本发明涉及自动化测试
技术领域
,特别是涉及一种硬件自动测试方法及系统。
背景技术
:硬件驱动程序,是一种可以使计算机和设备通信的特殊程序,其相当于硬件的接口,操作系统通过该接口,实现对硬件设备工作的控制,例如某设备的驱动程序未能正确安装,则无法正常工作。在对某些被测硬件进行自动化测试时,尤其是对带可编程功能的芯片测试时,需要将位于上位机中的用户编写或厂商提供的相应硬件驱动程序下载到被测硬件中,才能使被测硬件响应自动测试系统的激励,以及输出激励对应的响应。在缺少硬件驱动程序的情况下,将无法按照自动测试流程完成被测硬件的功能测试。因此,将驱动程序下载到相应的被测硬件上是至关重要的步骤。现有技术中,一般是预先将驱动程序下载到被测硬件,然后执行所开发的测试程序,实现对被测硬件的自动测试。其中,驱动程序下载方法主要包括手动下载和自动下载。相对于手动下载而言,自动下载具有较高的下载效率,但是需要开发与专用下载器对应的专用下载软件,才可实现驱动程序的下载。当面临被测硬件种类较多而批量小时,需要为每一种被测硬件开发一套下载软件,这导致了开发成本高,被测硬件自动测试周期较长。
发明内容为解决上述技术问题,本发明实施例提供了一种硬件自动测试方法及系统,技术方案如下被测硬件对应的驱动程序文件存放在上位机的存储硬盘中,且该被测硬件通过专用适配板与下载器相连,该下载器与内置有测试管理软件和下载软件的上位机相连;一种硬件自动测试方法,包括接收用户发送的运行测试管理软件的指令后,运行所述测试管理软件;接收执行在所述测试管理软件中所开发的被测硬件的测试程序的指令后,读取测试程序对应的代码,以执行测试程序;在执行测试程序的过程中自动运行所述下载软件;模拟按键操作控制所述下载软件,以实现下载软件控制所述下载器执行预先选定的下载器执行指令,完成驱动程序的下载;利用所下载的驱动程序,完成对被测硬件的自动化测试。其中,所述下载器执行指令的选定过程为将用户在下载软件中所选定的执行指令作为下载器执行指令;并将被测硬件对应的驱动程序文件设置为所选定文件的默认值。其中,在执行测试程序的过程中,通过执行添加在所述测试程序相应位置的CallExecutable测试步骤,实现下载软件的自动运行。其中,所述下载软件在上位机的存储位置预先设置在执行所述CallExecutable测试步骤所需的配置菜单中。其中,所述按键操作步骤的实现方式为调用所述测试管理软件中预先封装的windowsAPI函数里的HWNDFindWindow函数,以实现查找所述下载软件名称的窗口,并返回所述窗口句柄;通过BOOLSetForegroundWindow设置所述下载软件的窗口为当前活动窗口,以接收windows事件;通过按键操作函数模拟按键操作。其中,所述测试程序的配置方式为以参数库的方式配置被测硬件相应的测试程序。·其中,所述测试管理软件为开发平台软件。其中,所述测试管理软件为Teststand软件。相应的,本发明实施例还提供一种硬件自动测试系统,包括被测硬件、专用测试适配板、下载器、内置有测试管理软件和下载软件的上位机;被测硬件通过专用测试适配板与下载器相连,该下载器与内置有测试管理软件和下载软件的上位机相连;其中,专用测试适配板用于被测硬件与下载器的接口适配;所述下载器用于按照上位机的指令和被测硬件的编程协议完成上位机与被测硬件的交互;所述上位机用于与下载器、被测硬件交互,通过相应的指令将被测硬件对应的驱动程序文件下载到被测硬件,并利用所述驱动程序文件,完成被测硬件的自动化测试。本发明实施例所提供的技术方案,在测试被测硬件的过程中,通过测试管理软件自动调用下载软件,并模拟按键操作进行下载软件对下载器的控制,实现驱动程序的自动下载,进而利用所下载的驱动程序,完成被测硬件的自动测试。本方案中,在通用硬件驱动下载器对应下载软件的基础上,通过测试管理软件中特定的测试程序自动运行下载软件,同时模拟按键操作实现驱动程序的自动下载;当面临种类繁多批量小的被测硬件时,只需更改模拟按键的名称和执行次数以及相应的驱动程序文件,无需开发多套下载软件,即可实现在不同种类被测硬件的测试过程中将驱动程序下载到被测硬件,进而完成被测硬件的自动测试,因此,与现有技术相比,开发成本极大降低,批量被测硬件的测试周期缩短。为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图I为本发明实施例所提供的一种硬件自动测试方法;图2为本发明实施例所提供的一种硬件自动测试系统的结构示意图。具体实施例方式为了引用和清楚起见,下面首先对上位机进行简单介绍。上位机,是指操作人员可以直接发出操控命令的计算机,一般是PC,屏幕上显示各种信号变化(液压,水位,温度等),上位机需要编程,有专门的开发平台。在对被测硬件进行自动化测试时,尤其是对带可编程功能芯片测试时,需要将位于上位机中的用户编写或厂商提供的相应硬件驱动程序下载到被测硬件中,才能使被测硬件响应自动测试系统的激励,以及输出激励对应的响应,进而实现硬件的功能测试。现有技术中,自动下载驱动程序的方式虽然具有较高的下载效率,但是需要开发与专用下载器对应的专用下载软件,才可实现驱动程序的下载。当面临被测硬件种类较多而批量小时,需要为每一种被测硬件开发一套下载软件,这导致了开发成本高,被测硬件自动测试周期较长。因此,为解决现有技术存在的问题,本发明提供一种硬件自动测试方法及系统。下面首先对一种硬件自动测试方法进行介绍。其中,被测硬件对应的驱动程序文件存放在上位机的存储硬盘中,且该被测硬件通过专用测试适配板与下载器相连,该下载器与内置有测试管理软件和下载软件的上位机相连;一种硬件自动测试方法,包括接收用户发送的运行测试管理软件的指令后,运行所述测试管理软件;接收执行在所述测试管理软件中所开发的被测硬件的测试程序的指令后,读取测试程序对应的代码,以执行测试程序;在执行测试程序的过程中自动运行所述下载软件;模拟按键操作控制所述下载软件,以实现下载软件控制所述下载器执行预先选定的下载器执行指令,完成驱动程序的下载;利用所下载的驱动程序,完成对被测硬件的自动化功能测试。本发明实施例所提供的技术方案,在测试被测硬件的过程中,通过测试管理软件自动调用下载软件,并模拟按键操作进行下载软件对下载器的控制,实现驱动程序的自动下载,进而利用所下载的驱动程序,完成被测硬件的自动测试。本方案中,在通用硬件驱动下载器对应下载软件的基础上,通过测试管理软件中特定的测试程序自动运行下载软件,同时模拟按键操作实现驱动程序的自动下载;当面临种类繁多批量小的被测硬件时,只需更改模拟按键的名称和执行次数以及相应的驱动程序文件,无需开发多套下载软件,即可实现在不同种类被测硬件的测试过程中将驱动程序下载到被测硬件,进而完成被测硬件的自动测试,因此,与现有技术相比,开发成本极大降低,批量被测硬件的测试周期缩短。下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本实施例中,所涉及的基本组件包括被测硬件、专用测试适配板、下载器、设置有下载软件和测试管理软件的上位机。被测硬件通过该专用测试适配板与下载器相连,下载器与上位机相连。其中,被测硬件的驱动程序文件预先存放在上位机的存储硬盘中,该驱动程序文件可以为适用于被测硬件的人工编写的文件,或者厂商所提供的被测硬件的专用驱动程序文件。可以理解的是,专用测试适配板为下载器与被测硬件的连接枢纽,使得下载器接口与被测硬件的接口相适配。该专用测试适配板根据具体的被测对象或者测试环境进行定制。并且,在实际应用中,多种不同的被测硬件可以适用于一种专用测试适配板,或者一种专用测试适配板唯一对应一种被测硬件都是合理的。需要说明的是,该测试管理软件为开发平台软件,被测硬件对应的测试程序在该测试管理软件中进行开发完成。该测试管理软件可以为TestStand软件,其为美国国家仪器公司开发的软件开发平台,其是可立即执行的测试执行管理软件,用于组织、控制和执行用户的自动化原型设计、验证或制造测试系统。所述下载软件为与所选定的下载器相对应的,以保证在测试过程中,通过运行下载软件可以对下载器进行控制,例如,其可以为与所选定的市场上常用硬件驱动下载器相对应的厂商提供的下载软件,或者根据所选定的下载器进行开发而成,这都是合理的。可以理解的是,所述测试管理软件和下载软件可以根据实际情况,选择其他的软件,并不局限于本实施例所述的软件。本实施例所提供的一种硬件自动测试方法,如图I所示,可以包括S101,上位机接收用户发送的运行测试管理软件的指令后,运行所述测试管理软件。当需要对被测硬件进行自动测试时,用户首先通过点击测试管理软件对应的菜单选项或快捷方式图标向上位机发送运行测试管理软件的指令。当上位机接收到该指令后,则运行作为测试程序开发平台的测试管理软件。S102,接收执行在所述测试管理软件中所开发的被测硬件的测试程序的指令后,读取测试程序对应的代码,以执行测试程序。针对不同的被测硬件,操作人员需要在该测试管理软件中开发不同的测试程序,进而通过执行不同的测试程序,实现对不同硬件的自动测试。在对该被测硬件进行自动测试过程中,该测试管理软件处于运行状态后,则用户通过点击程序执行操作对应的工具项向上位机发送执行被测硬件对应测试程序的指令。当上位机接收到执行测试程序的指令后,则读取相应测试程序对应的代码,以执行测试程序。其中,该测试程序的配置方式可以为以参数库的方式配置被测硬件相应的测试程序。需要说明的是,该测试程序的相应位置添加了特定的程序代码,可以实现自动运行上位机下载软件和模拟按键操作进行下载软件对下载器的控制。S103,自动运行下载软件。该测试程序的相应位置预先添加了用于自动运行下载软件的特定程序代码,例如CallExecutable测试代码;当执行完毕该特定程序代码后,上位机则自动运行下载软件。需要说明的是,所述下载软件在上位机的存储位置预先设置在执行所述CallExecutable测试步骤所需的配置菜单中。因此,当执行该用于自动运行下载软件的特定程序代码时,可以确定下载软件的位置,进行自动运行该下载软件。S104,模拟按键操作控制所述下载软件,以实现下载软件控制所述下载器执行预先选定的下载器执行指令,完成驱动程序的下载;需要说明的是,下载器执行指令为预先设置的,其选定过程为将用户在下载软件中所选定的执行指令作为下载器执行指令;并将被测硬件对应的驱动程序文件设置为所选定文件的默认值。可以理解的是,对于每种被测硬件而言,上述下载器执行指令的选定过程只需要执行一次即可。在该测试程序中用于自动运行下载软件的特定程序代码后,预先添加了用于模拟按键操作进行软件控制的程序代码。当执行该程序代码时,可以模拟按键操作,以实现下载软件控制下载器执行预先选定的下载器执行指令,完成驱动程序的下载。其中,按键操作步骤的实现方式为调用所述测试管理软件中预先封装的windowsAPI函数里的HWNDFindWindow函数,以实现查找所述下载软件名称的窗口,并返回所述窗口句柄;通过BOOLSetForegroundWindow设置所述下载软件的窗口为当前活动窗口,以接收windows事件;通过按键操作函数模拟按键操作。其中,所述的按键操作可以是键盘按键操作或鼠标按键操作。例如,可以选用通过键盘按键实现按键事件操作步骤,其具体实现方法可以为通过调用windowsAPI函数里的HWNDFindffindow(LPCTSTRIpClassName,LPCTSTRIpffindowName)函数实现查找指定下载器软件名称的窗口,并返回该窗口句柄;然后通过BOOLSetForegroundffindow(HWNDhWnd)设置下载器软件的窗口为当前活动窗口,从而可以接收到Windows事件;再通过VOIDkeybd_event(BYTEbVk,BYTEbScan,DWORDdwFlags,PTRdwExtralnfo)函数模拟一个由bVk参数指定的键盘按键操作。在本发明中,通过模拟Tab按键操作在CallExecutable测试步骤打开的上位机下载软件中移动其焦点到执行下载的控制按钮,再通过模拟Enter按键操作执行该下载指令。S105,利用所下载的驱动程序,实现对被测硬件的自动化功能测试。当驱动程序下载到被测硬件后,则利用所下载的驱动程序,继续执行测试程序的后续步骤,最终实现被测硬件的自动测试。通过运用本发明实施例所提供的硬件自动测试方法,当面临种类多批量大的被测硬件时,只需更改模拟按键的名称和执行次数以及相应的驱动程序文件,无需开发多套下载软件,即可实现在不同种类被测硬件的测试过程中将驱动程序下载到被测硬件,进而完成被测硬件的自动测试,因此,与现有技术相比,开发成本极大降低,批量被测硬件的测试周期缩短。通过以上的方法实施例的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括只读存储器(ROM)、随机存取存储器(RAM)、磁碟或者光盘等各种可以存储程序代码的介质。相应的,本发明实施例还提供一种硬件自动测试系统,可以包括被测硬件I、专用测试适配板2、下载器3、内置有测试管理软件和下载软件的上位机4;被测硬件I通过专用测试适配板2与下载器3相连,该下载器3与内置有测试管理软件和下载软件的上位机4相连;其中,专用测试适配板2用于被测硬件I与下载器3的接口适配;下载器3用于按照上位机的指令和被测硬件的编程协议完成上位机4与被测硬件I的交互;上位机4用于与下载器3、被测硬件I交互,通过相应的指令将被测硬件I对应的驱动程序文件下载到被测硬件1,并利用所述驱动程序文件,实现被测硬件I的自动化测试。其中,本实施例所提供的硬件自动测试系统中,上位机4为操作人员可以直接发出操作命令的计算机;该上位机中所设置的下载软件可以为用于CC2530芯片程序下载的SmartRFFlashProgrammer;其所设置的测试管理软件可以为美国国家仪器公司开发的软件平台TestStand软件。同时,作为下载器与被测硬件连接枢纽的测试适配板可以为针对一种被测硬件所设置的,或者,针对多种不同的被测硬件而设置。·通过运用本发明实施例所提供的硬件自动测试系统,当面临种类多批量大的被测硬件时,只需更改模拟按键的名称和执行次数以及相应的驱动程序文件,无需开发多套下载软件,即可实现在不同种类被测硬件的测试过程中将驱动程序下载到被测硬件,进而完成被测硬件的自动测试,因此,开发成本极大降低,批量被测硬件的测试周期缩短。在本发明所提供的几个实施例中,应该理解到,所揭露的系统和方法,在没有超过本申请的精神和范围内,可以通过其他的方式实现。当前的实施例只是一种示范性的例子,不应该作为限制,所给出的具体内容不应该限制本申请的目的。以上所述仅是本发明的具体实施方式,应当指出,对于本
技术领域
的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。权利要求1.一种硬件自动测试方法,其特征在于,被测硬件对应的驱动程序文件存放在上位机的存储硬盘中,且该被测硬件通过专用适配板与下载器相连,该下载器与内置有测试管理软件和下载软件的上位机相连;所述方法包括接收用户发送的运行测试管理软件的指令后,运行所述测试管理软件;接收执行在所述测试管理软件中所开发的被测硬件的测试程序的指令后,读取测试程序对应的代码,以执行测试程序;在执行测试程序的过程中自动运行所述下载软件;模拟按键操作控制所述下载软件,以实现下载软件控制所述下载器执行预先选定的下载器执行指令,完成驱动程序的下载;利用所下载的驱动程序,完成对被测硬件的自动化测试。2.根据权利要求I所述的方法,其特征在于,所述下载器执行指令的选定过程为将用户在下载软件中所选定的执行指令作为下载器执行指令;并将被测硬件对应的驱动程序文件设置为所选定文件的默认值。3.根据权利要求2所述的方法,其特征在于,在执行测试程序的过程中,通过执行添加在所述测试程序相应位置的CallExecutable测试步骤,实现下载软件的自动运行。4.根据权利要求3所述的方法,其特征在于,所述下载软件在上位机的存储位置预先设置在执行所述CallExecutable测试步骤所需的配置菜单中。5.根据权利要求2所述的方法,其特征在于,所述按键操作步骤的实现方式为调用所述测试管理软件中预先封装的windowsAPI函数里的HWNDFindWindow函数,以实现查找所述下载软件名称的窗口,并返回所述窗口句柄;通过BOOLSetForegroundffindow设置所述下载软件的窗口为当前活动窗口,以接收windows事件;通过按键操作函数模拟按键操作。6.根据权利要求2所述的方法,其特征在于,所述测试程序的配置方式为以参数库的方式配置被测硬件相应的测试程序。7.根据权利要求2所述的方法,其特征在于,所述测试管理软件为开发平台软件。8.根据权利要求2所述的方法,其特征在于,所述测试管理软件为Teststand软件。9.一种硬件自动测试系统,其特征在于,包括被测硬件、专用测试适配板、下载器、内置有测试管理软件和下载软件的上位机;被测硬件通过专用测试适配板与下载器相连,该下载器与内置有测试管理软件和下载软件的上位机相连;其中,专用测试适配板用于被测硬件与下载器的接口适配;所述下载器用于按照上位机的指令和被测硬件的编程协议完成上位机与被测硬件的交互;所述上位机用于与下载器、被测硬件交互,通过相应的指令将被测硬件对应的驱动程序文件下载到被测硬件,并利用所述驱动程序文件,完成被测硬件的自动化测试。全文摘要本发明公开了一种硬件自动测试方法及系统。该方法包括接收用户发送的运行测试管理软件的指令后,运行测试管理软件;接收执行在测试管理软件中所开发的被测硬件的测试程序的指令后,读取测试程序对应的代码,以执行测试程序;在执行测试程序的过程中自动运行所述下载软件;模拟按键操作控制下载软件,以实现下载软件控制所述下载器执行预先选定的下载器执行指令,完成驱动程序的下载;利用所下载的驱动程序,完成对被测硬件的自动化测试。与现有技术相比,当面临种类繁多批量小的被测硬件时,无需开发多套下载软件,即可完成被测硬件的自动测试,因此,开发成本极大降低,批量被测硬件的测试周期缩短。文档编号G06F11/22GK102955723SQ201110240508公开日2013年3月6日申请日期2011年8月19日优先权日2011年8月19日发明者伍俊,何飞,于进勇,孟真,唐璇,阎跃鹏申请人:中国科学院微电子研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1