发明内容
本申请所要解决的技术问题是提供一种蓝牙系统的测试方法和装置,以解决现有蓝牙测试耗费人力、效率不高的问题。
为了解决上述问题,本申请公开了一种测试方法,包括:根据预设规则,使用自动测试工具配置测试用例的执行顺序;使用工控设备控制待测的蓝牙系统和对端设备按照配置的所述测试用例的执行顺序执行所述测试用例,获得测试数据;其中,所述工控设备的个数为两个,且两个工控设备不同;其中一个工控设备与所述待测的蓝牙系统建立联系,另一个工控设备与所述对端设备建立联系,所述两个工控设备分别控制所述待测的蓝牙系统与所述对端设备进行自动测试;所述自动测试工具用于控制所述自动测试工具所在的终端进行所述自动测试;比较所述测试数据与预设的测试标准数据,根据比较结果确定测试结果。
优选地,所述根据预设规则,使用自动测试工具配置测试用例的执行顺序的步骤包括:使用自动测试工具按照多个所述测试用例的功能类别,对所述多个测试用例的执行顺序进行排列组合;对所述多个测试用例进行分析,确定执行所述多个测试用例的过程中,相同操作的重复执行次数最少的排列组合为所述多个测试用例的执行顺序。
优选地,所述使用工控设备控制待测的蓝牙系统和对端设备按照配置的所述测试用例的执行顺序执行所述测试用例的步骤包括:使用继电器工控板连接所述待测的蓝牙系统和所述自动测试工具所在的终端;根据所述对端设备的类型,选择与所述对端设备相匹配的工控设备连接所述对端设备和所述自动测试工具所在的终端;使用所述自动测试工具控制其所在的终端,由所述终端通过所述继电器工控板和与所述对端设备相匹配的工控设备,控制所述待测的蓝牙系统和所述对端设备按照配置的所述测试用例的执行顺序执行所述测试用例。
优选地,所述使用继电器工控板连接所述待测的蓝牙系统和所述自动测试工具所在的终端的步骤包括:使用所述继电器工控板上的继电器与所述待测的蓝牙系统所在的电路板上的开关相连接,通过所述继电器控制所述电路板的开关;使用所述继电器工控板上的串口与所述自动测试工具所在的终端的串口相连接。
优选地,所述使用工控设备控制待测的蓝牙系统和对端设备按照配置的所述测试用例的执行顺序执行所述测试用例的步骤包括:建立所述待测的蓝牙系统所在的电路板与所述对端设备之间的蓝牙配对连接;使用所述自动测试工具通过虚拟的工控设备控制所述待测的蓝牙系统和所述对端设备按照配置的所述测试用例的执行顺序执行所述测试用例,其中,所述待测的蓝牙系统侧的所述虚拟的工控设备通过向所述待测的蓝牙系统所在的电路板发送控制指令控制所述电路板的开关。
优选地,所述获得测试数据的步骤包括:对所述待测的蓝牙系统和所述对端设备执行所述测试用例的过程进行录音,获得该过程的录音波形;所述比较测试数据与预设的测试标准数据的步骤包括:比较录制的所述录音波形与预设的标准波形。
为了解决上述问题,本申请还公开了一种测试装置,包括:配置模块,用于根据预设规则配置,使用自动测试工具测试用例的执行顺序;控制模块,用于使用工控设备控制待测的蓝牙系统和对端设备按照配置的所述测试用例的执行顺序执行所述测试用例,获得测试数据;其中,所述工控设备的个数为两个,且两个工控设备不同;其中一个工控设备与所述待测的蓝牙系统建立联系,另一个工控设备与所述对端设备建立联系,所述两个工控设备分别控制所述待测的蓝牙系统与所述对端设备进行自动测试;所述自动测试工具用于控制所述自动测试工具所在的终端进行所述自动测试;测试模块,用于比较所述测试数据与预设的测试标准数据,根据比较结果确定测试结果。
优选地,所述配置模块包括:操作优化模块,用于使用自动测试工具按照多个所述测试用例的功能类别,对所述多个测试用例的执行顺序进行排列组合;对所述多个测试用例进行分析,确定执行所述多个测试用例的过程中,相同操作的重复执行次数最少的排列组合为所述多个测试用例的执行顺序。
优选地,所述控制模块用于:在使用继电器工控板连接所述待测的蓝牙系统和所述自动测试工具所在的终端,使用与所述对端设备相匹配的工控设备连接所述对端设备和所述自动测试工具所在的终端时,使用所述自动测试工具控制其所在的终端,由所述终端通过所述继电器工控板和与所述对端设备相匹配的工控设备,控制所述待测的蓝牙系统和所述对端设备按照配置的所述测试用例的执行顺序执行所述测试用例,获得所述测试数据;和/或,在所述待测的蓝牙系统所在的电路板与所述对端设备之间建立了蓝牙配对连接时,使用所述自动测试工具通过虚拟的工控设备控制所述待测的蓝牙系统和所述对端设备按照配置的所述测试用例的执行顺序执行所述测试用例,获得所述测试数据,其中,所述待测的蓝牙系统侧的所述虚拟的工控设备通过向所述待测的蓝牙系统所在的电路板发送控制指令控制所述电路板的开关。
优选地,所述获得的测试数据为:对所述待测的蓝牙系统和所述对端设备执行所述测试用例的过程进行录音,获得的该过程的录音波形;所述测试模块,用于比较录制的所述录音波形与预设的标准波形,根据比较结果确定所述测试结果。
与现有技术相比,本申请具有以下优点:
本申请通过配置测试用例的执行顺序,使得测试用例可以按照用户需求灵活设置,进而达到执行时间和效率的优化,例如,可以按照时间最优化规则或者操作最优化规则进行配置,即,使用执行测试用例的时间最短,或者,测试过程中,重复执行同样的操作的次数最少等等;通过使用工控设备控制待测的蓝牙系统和对端设备,实现了测试自动化,无须人工干预,即可完成一个独立的测试流程;进而,通过比较测试数据与预设的理想数据,准确地发现和确定待测的蓝牙系统中存在的问题和故障,为问题和故障的定位和解决提供了依据和参考。本申请的测试方案,实现了蓝牙系统的自动测试,且方便快速,解决了现有蓝牙测试耗费人力、效率不高的问题,达到了高测试效率、低测试成本的效果。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
实施例一
参照图1,示出了根据本申请实施例一的一种测试方法的步骤流程图。
本实施例的测试方法包括以下步骤:
步骤S102:根据预设规则,使用自动测试工具配置测试用例的执行顺序。
其中,预设规则可以由本领域技术人员根据实际需求灵活设置。如,可以按照时间最优化规则配置,即,使用执行测试用例的时间最短;或者,按照操作最优化规则进行配置,即,在测试过程中,重复执行同样的操作的次数最少;或者,直接按照功能类别进行配置,即,执行某一功能类别的测试用例先于或后于执行另一功能类别的测试用例等等。
预设规则可以由用户通过系统提供的输入界面或输入接口来进行输入配置,也可以将预设规则编写为代码或脚本,通过执行相应的代码或脚本来配置测试用例的执行顺序。
自动测试工具用于通过工控设备控制待测的蓝牙系统和对端设备进行自动蓝牙测试。
优选地,也可以同时对测试用例进行配置,如配置测试用例的执行次数,和/或执行间隔时间等。
步骤S104:使用工控设备控制待测的蓝牙系统和对端设备按照配置的测试用例的执行顺序执行测试用例,获得测试数据。
工控设备即工业控制设备,如继电器工控板、基于PC总线的工业电脑、可编程逻辑控制器等等,用来实现待测蓝牙系统和对端设备的连接和控制。
步骤S106:比较测试数据与预设的测试标准数据,根据比较结果确定测试结果。
系统中预设了测试标准数据,通过比较测试数据与测试标准数据,可以获得实际测试数据与测试标准数据的偏差,进而根据该偏差情况,确定使用某一测试用例测试的蓝牙系统是否存在故障或问题。
通过本实施例,对测试用例的执行顺序进行了配置,使得测试用例可以按照用户需求灵活设置,进而达到执行时间和效率的优化;通过使用工控设备控制待测的蓝牙系统和对端设备,实现了测试自动化,无须人工干预,即可完成一个独立的测试流程;进而,通过比较测试数据与预设的理想数据,可以准确地发现和确定待测的蓝牙系统中存在的问题和故障,为问题和故障的定位和解决提供了依据和参考。从而,实现了蓝牙系统的自动测试,且方便快速,解决了现有蓝牙测试耗费人力、效率不高的问题,达到了高测试效率、低测试成本的效果。
实施例二
参照图2,示出了根据本申请实施例二的一种测试方法的步骤流程图。
本实施例的测试方法包括以下步骤:
步骤S202:使用自动测试工具按照多个测试用例的功能类别,对多个测试用例的执行顺序进行排列组合。
比如,按照测试用例是用来进行互联互通测试、还是用来进行压力测试、或者用来进行稳定性测试对多个测试用例进行分类;或者,按照测试用例是用来测试通话中蓝牙耳机的功能或测试播放音乐中蓝牙耳机的功能进行分类等等。
在分类后,对多个测试用例的执行顺序进行排列组合,如,有三个测试用例A、B、C,则其可能的排列组合为ABC、ACB、BAC、BCA、CAB,和CBA。
步骤S204:对多个测试用例进行分析,确定执行多个测试用例的过程中,相同操作的重复执行次数最少的排列组合为多个测试用例的执行顺序。
本实施例中,采用了操作最优化规则,即相同操作的重复执行次数最少。假设测试用例A用于测试蓝牙耳机的控制接听来电的功能,测试用例B用于测试蓝牙耳机的控制拒绝来电的功能,测试用例C用于测试蓝牙耳机控制通话音量调整的功能。通过分析发现,测试用例A和C可以通过拨打一次电话实现功能测试,不必重复两次电话拨打,而测试用例B需要单独拨打。因此,通过对A、B、C三个测试用例的分析,确定执行ACB的排列组合,即,三个测试用例的执行顺序为先执行A,再执行C,然后再执行B。
通过确定测试用例的执行顺序,能够有效地避免重复操作,缩短了测试时间,提高了测试效率。
步骤S206:使用工控设备连接待测的蓝牙系统、对端设备、和自动测试工具所在的终端。
自动测试工具所在的终端需要通过工控设备与待测的蓝牙系统和对端设备之间分别建立连接,以控制待测的蓝牙系统和对端设备进行自动测试。
一种待测的蓝牙系统、对端设备、和自动测试工具所在的终端的连接关系如图3所示,其中,控制待测的蓝牙系统的电路板的工控设备和控制对端设备的工控设备为不同的设备。控制待测的蓝牙系统的电路板的工控设备可以为继电器工控板上的继电器或者虚拟的工控设备;控制对端设备的工控设备要视对端设备的类别而定。对端设备是诸如手机、蓝牙适配器等设备,与待测的蓝牙系统的电路板通过蓝牙建立无线连接。
例如,在使用工控设备连接待测的蓝牙系统和自动测试工具所在的终端时,可以使用继电器工控板进行连接。如,将待测的蓝牙系统的电路板与装载着winrunner等自动测试工具的电脑相连接,使得测试人员能够利用winrunner设计的脚本来控制待测的蓝牙系统的电路板。而在使用工控设备连接对端设备和自动测试工具所在的终端时,需要根据对端设备的类型选择相匹配的工控设备,举例来说,如果对端设备是手机则可以为虚拟的软件,即PC手机同步工具,通过手机数据线把手机连接到装载着自动测试工具的电脑上。
当使用继电器工控板连接待测的蓝牙系统和对端设备时,将继电器工控板上的继电器与待测的蓝牙系统所在的电路板上的开关相连接,系统通过控制继电器来控制电路板的开关;同时,继电器工控板上的串口与自动测试工具所在的终端的串口相连接。由此,在接收到测试控制指令时,由自动测试工具控制其所在的终端,由终端控制继电器工控板和对端设备的工控设备,进而控制待测的蓝牙系统和对端设备之间的测试。
当工控设备为虚拟的工控设备时,可以建立待测的蓝牙系统所在的电路板与对端设备之间的蓝牙配对连接。同时,待测的蓝牙系统侧和对端设备侧均设置有虚拟的工控设备。这样,当接收到测试控制指令时,自动测试工具所在的终端通过虚拟的工控设备向待测的蓝牙系统所在的电路板发送控制指令,控制电路板的开关,进而控制待测的蓝牙系统和对端设备之间的测试。
通过工控设备,可以方便有效地实现待测蓝牙系统和对端设备之间的测试,且便于控制和管理。本实施例中,工控设备使用继电器工控板。
需要说明的是,本步骤也可以在步骤S202之前执行,即先连接再配置。
另外,自动化测试工具可以设置在任意适当的第三方终端设备上。
步骤S208:建立待测的蓝牙系统和对端设备之间的蓝牙配对连接。
本步骤也可以在前述步骤S202或步骤S206之前执行。
步骤S210:接收测试控制指令,通过工控设备控制待测的蓝牙系统和对端设备按照配置的测试用例的执行顺序执行测试用例。
本实施例中,自动测试工具发送测试控制指令,控制自动测试工具所在的终端通过继电器工控板上的继电器和对端设备侧的工控设备,控制待测的蓝牙系统和对端设备按照配置的测试用例的执行顺序,如ACB,执行测试用例。
步骤S212:对测试过程中的数据进行记录,并与设定的测试标准数据进行比较,根据比较结果确定测试的结果。
优选地,对测试过程中的数据进行录音记录,获得录音波形,并且,与事先设定的波形进行比较,若波形吻合,则测试通过,否则,认为测试出错。通过录音波形的比较,能够直接看出测试是否正确,进而快速地确定待测蓝牙系统发生的故障或问题。
通过本实施例,实现了待测蓝牙系统和对端设备通过工控设备进行自动化测试,解决了现有蓝牙测试耗费人力、效率不高的问题,达到了高测试效率、低测试成本的效果。并且,使用录音波形对测试数据进行比较分析,实现了直观、快速的蓝牙测试中的故障确定和定位。
实施例三
参照图4,示出了根据本申请实施例三的一种测试方法的步骤流程图。
本实施例的测试方法包括以下步骤:
步骤S302:针对蓝牙系统的特点,将对端设备与待测蓝牙系统建立连接。
本实施例中,蓝牙系统的特点是指蓝牙通常包括对端设备和待测的蓝牙系统,其中,对端设备如手机、电脑等设备,待测的蓝牙系统如蓝牙耳机、车载免提等与手机、电脑等对端设备相连接的设备。虽然本实施例的测试方法主要针对蓝牙耳机、车载免提等蓝牙系统芯片开发过程中的测试,与手机电脑等对端设备的测试无关,但是由于测试耳机和免提设备时也要涉及到手机电脑等对端设备的操作,所以也需要对手机和电脑等对端设备进行控制。
本步骤中,针对蓝牙系统的特点,将对端设备与待测蓝牙系统建立连接就是指把蓝牙耳机、车载免提等待测的蓝牙系统与手机、电脑等对端设备进行配对,建立蓝牙连接。
步骤S304:对待测的测试用例采用统筹方法重新排列组合,梳理成几套流程。
对待测的测试用例采用统筹方法重新排列组合是为了合理安排测试的步骤,把工序安排好,做到节约时间提高效率。
举例来说,对于蓝牙耳机的测试,以这么几项为例:1、测试蓝牙耳机控制接听来电;2、测试蓝牙耳机控制拒绝来电;3、测试蓝牙耳机控制通话中音量的调整;4、测试蓝牙耳机控制挂断通话。
如果按照正常的测试步骤去逐项测试,对于1,测试人员需要拨打一次电话,然后用蓝牙耳机控制接听,然后挂掉电话;对于2,测试人员需要再次拨打电话,然后用蓝牙耳机控制拒绝来电;对于3,测试人员需要再次拨打电话,接通来电后完成耳机调整音量的测试,之后挂断电话;对于4,测试人员需要再次拨打电话,接通电话后用耳机控制挂断电话。整个过程测试人员需要拨打4次电话,接听3次,拒接1次,挂断3次。
若采用统筹方法重新排列组合,则测试流程可以优化如下:按照2-1-3-4的顺序执行,即,测试人员拨打电话,通过耳机拒绝来电;测试人员拨打电话,通过耳机接起来电,之后通过耳机调整音量,之后通过耳机挂断电话。这样,整个过程测试人员需要拨打2次电话,接听1次,拒接1次,挂断1次。
比较可知,这样可以节省下至少一半的时间。如果测试几百部手机,节省的时间就很可观。可见,这种对待测的测试用例采用统筹方法重新排列组合的方式,可以大大节省测试时间,提高测试效率。
以上只是举例说明,在实际测试中,测试的项目可能有几十条,这几十条测试项目可能包括了针对不同的功能的测试类别,比如说测试在通话中耳机的功能,测试在播放音乐中耳机的功能,等等,按照测试的功能类别不同梳理出不同的流程来,配置为测试的顺序。最好以遵循减少重复操作,能够连续完成的测试用例尽量安排在一个流程中完成为测试用例排列组合的原则。
步骤S306:针对每一流程采用自动化测试工具来编程设计一组脚本。
例如,可以使用名称为“winrunner”的软件工具来编程设计脚本,当然,不限于此,也可以采用一些其他有同样功能的软件。这类软件的功能是能够记录在电脑上鼠标和键盘的操作,并把这种操作变换为一种自己特定的脚本语言的形式,然后自动控制电脑的鼠标和键盘重复这种操作。测试人员可以对执行的操作产生的脚本进行编辑,比如,确定这种操作执行的次数,每次执行间隔的时间等。
步骤S308:利用工控设备控制待测蓝牙系统以及对端设备按照脚本设计的步骤去运行。
以蓝牙耳机芯片开发过程举例来说,如果要控制具有蓝牙耳机芯片的手机,可以采用手机端PC同步工具,把手机和PC连接,这时在PC上会出现控制手机的界面。这样,在PC上进行操作,手机也会同步跟着进行操作,从而完成控制手机的需求。
同样,待测试的设备电路板可以通过串口与PC连接实现被PC控制。因为待测的蓝牙设备在电路板上是通过按键的操作来实现功能的,而想要自动测试,就要找到一种能够自动控制按键的方法。为此,本实施例中采用的方法是:用自动化测试工具控制电脑,而电脑可以通过继电器工控板(继电器工控板的继电器与电路板上的按键相连,这样继电器的开关就相当于电路板上的按键的开关。继电器工控板通过串口与电脑相连,电脑上能够显示一个控制面板,操作控制面板就能控制继电器开关)来控制电路板的按键,这样就实现了自动化测试工具与系统电路板的连接了。
通过自动化测试工具与待测的蓝牙系统的电路板(通过工控设备)的连接,实现了待测蓝牙系统与对端设备都可以被电脑控制,而电脑又可以被自动测试工具控制,从而实现自动化测试。
步骤S310:对于每一组流程,记录下一个理想状态的待测系统以及对端设备的运行表现,然后把测试中实际得到的测试结果与理想状态进行实时的对比。
测试人员在设计测试用例时,对每一个测试用例都会设想一个理想的效果,为Pass状态。比如,测试用蓝牙耳机接听电话的功能,那么成功接起电话,耳机中通话正常就是一个理想的效果,就是Pass状态;对于一个流程来说,是由许多的测试用例组合而成的,所以理想的状态就是所有的测试用例全都是Pass状态。理想状态的具体实现可以是各种形式的数据,优选地,可以通过录音来记录这个理想状态,也就是,录下一个流程全程Pass的声音的波形,然后在实际测试中同样录音,把波形与理想的波形进行实时比较,如果相同则可认为是测试Pass。
录音波形可以通过cooledit录音来实现,把声音通过波形的样式表现出来,这样方便观察和对比。
步骤S312:根据对比结果确定测试结果。
若出现问题,对于耗时较长的流程,可以将其停止,即时确定出错的测试用例;对于耗时较短的流程,可以待整个流程完成后,根据测试记录的结果与理想状态的对比来确定出错的测试用例是哪一个。
也就是说,如果有测试用例没有通过(即没有Pass),则依据记录的测试的录音波形,会出现录音波形和理想波形的不一致。此时,对于耗时较长的流程(如整个流程耗时几分钟),可以立即将其停止,即可马上确定该出错的测试用例,从而确定待测的蓝牙系统的故障或问题;而对于耗时较短(如整个流程在几分钟内就可以完成)的流程,可以等整个流程完成后,再根据测试记录的结果与理想状态的对比来确定出错的测试用例是哪一个,从而确定待测的蓝牙系统的故障和问题。
当然,若比较结果一致,则可确定测试没有出现问题。
通过本实施例,实现了蓝牙系统的自动测试,解决了现有蓝牙人工测试耗费人力、效率不高的问题,能够有效提高蓝牙系统的测试效率,减轻测试人员的工作压力,减小人力成本。
实施例四
参照图5,示出了根据本申请实施例四的一种测试装置的结构框图。
本实施例的测试装置包括:配置模块402,用于根据预设规则,使用自动测试工具配置测试用例的执行顺序;控制模块404,用于使用工控设备控制待测的蓝牙系统和对端设备按照配置的测试用例的执行顺序执行测试用例,获得测试数据;测试模块406,用于比较测试数据与预设的测试标准数据,根据比较结果确定测试结果。
优选地,配置模块402包括:操作优化模块4022,用于使用自动测试工具按照多个测试用例的功能类别,对多个测试用例的执行顺序进行排列组合;对多个测试用例进行分析,确定执行多个测试用例的过程中,相同操作的重复执行次数最少的排列组合为多个测试用例的执行顺序。
优选地,控制模块404用于:在使用继电器工控板连接待测的蓝牙系统和自动测试工具所在的终端,使用与对端设备相匹配的工控设备连接对端设备和自动测试工具所在的终端备时,使用自动测试工具控制其所在的终端,由终端通过继电器工控板和与对端设备相匹配的工控设备,控制待测的蓝牙系统和对端设备按照配置的测试用例的执行顺序执行测试用例,获得测试数据;和/或,在待测的蓝牙系统所在的电路板与对端设备之间建立了蓝牙配对连接时,使用自动测试工具通过虚拟的工控设备控制待测的蓝牙系统和对端设备按照配置的测试用例的执行顺序执行测试用例,获得测试数据,其中,待测的蓝牙系统侧的虚拟的工控设备通过向待测的蓝牙系统所在的电路板发送控制指令控制电路板的开关。
优选地,在使用继电器工控板连接待测的蓝牙系统和自动测试工具所在的终端时,使用继电器工控板上的继电器与待测的蓝牙系统所在的电路板上的开关相连接,通过继电器控制电路板的开关;使用继电器工控板上的串口与自动测试工具所在的终端的串口相连接。
优选地,控制模块404获得的测试数据为:对待测的蓝牙系统和对端设备执行测试用例的过程进行录音,获得的该过程的录音波形;测试模块406,用于比较录制的录音波形与预设的标准波形,根据比较结果确定测试结果。
本实施例的测试装置用于实现前述多个方法实施例中相应的测试方法,并具有相应的方法实施例的有益效果,在此不再赘述。
本申请用自动测试的思想设计了一套可以在蓝牙系统测试中使用的自动测试方案,可用于蓝牙系统开发中的互联互通测试、压力测试、负载测试等相关测试,有效提高了蓝牙系统的测试效率,减轻了测试人员的工作压力,减小了人力成本。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上对本申请所提供的一种蓝牙系统的测试方法和装置进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。