智能电视的自动化测试方法及装置与流程

文档序号:11139296阅读:1486来源:国知局
智能电视的自动化测试方法及装置与制造工艺

本发明涉及测试技术领域,尤其涉及一种智能电视的自动化测试方法及装置。



背景技术:

随着智能电视技术的不断进步,人们对通信产品的质量和可靠性提出越来越高的要求,因此,对智能电视提出了更高的质量要求。

当前智能电视的操作系统有linux、Android等不同的操作系统,在电视系统软件在开发的过程中,不同产品电视系统的硬件参数配置、系统内置功能配置及个性化软件等存在较大差异。目前,在对不同产品电视系统进行测试的过程中,需要测试人员手动进行测试。但是,由于不同的产品需要不同的测试软件去测试,采用人工测试容易受人力因素的影响而造成测试力度不足,譬如在测试不同的产品时,测试人员容易遗漏测试项而导致某些功能没有测试或测试不到位,无法保证智能电视的质量和可靠性。



技术实现要素:

本发明提供一种智能电视的自动化测试方法及装置,旨在解决在智能电视采用人工测试时受人力因素的影响而无法保证智能电视的质量和可靠性的技术问题。

为实现上述目的,本发明提供的一种智能电视的自动化测试方法,所述智能电视的自动化测试方法包括以下步骤:

在接收到所述智能电视的测试指令时,获取所述智能电视对应的测试样本,其中,所述测试样本包括多个测试脚本及所述测试脚本对应的测试参数;

在测试执行器处于闲置状态时,依次获取所述测试脚本的测试标识,并控制测试执行器基于所述测试标识对应的测试参数运行所述测试标识对应的测试脚本;

在所述测试脚本运行完成时,显示所述测试脚本的测试结果。

优选地,在所述获取所述智能电视对应的测试样本的步骤之后,所述智能电视的自动化测试方法还包括:

基于所述测试脚本生成测试列表,其中,所述测试列表包括所述测试脚本的脚本标识;

所述在测试执行器处于闲置状态时,依次获取所述测试脚本的测试标识,并控制测试执行器基于所述测试标识对应的测试参数运行所述测试标识对应的测试脚本的步骤包括:在测试执行器处于闲置状态时,依次获取所述测试列表中的测试标识,并控制测试执行器基于所述测试标识对应的测试参数运行所述测试标识对应的测试脚本。

优选地,所述在测试执行器处于闲置状态时,依次获取所述测试列表中的测试标识,并控制测试执行器基于所述测试标识对应的测试参数运行所述测试标识对应的测试脚本的步骤包括:

在测试执行器处于闲置状态时,依次将所述测试列表中的测试标识存储至测试池中;

控制所述测试执行器获取所述测试池中的测试标识,并基于所述测试标识对应的测试参数运行所述测试标识对应的测试脚本。

优选地,所述在接收到所述智能电视的测试请求时,获取所述智能电视对应的测试样本的步骤包括:

在接收到所述智能电视的测试请求时,获取所述智能电视的测试参数,其中,所述测试参数包括所述智能电视的硬件参数及系统参数;

基于所述测试参数获取所述智能电视对应的测试脚本。

优选地,在所述测试脚本运行完成时,显示所述测试脚本的测试结果的步骤之后,所述智能电视的自动化测试方法还包括:

在接收到测试结果的导出指令时,检测当前是否已连接外部存储设备;

在当前已连接外部存储设备时,将所述测试结果存储至所述外部存储设备。

此外,为实现上述目的,本发明还提供一种智能电视的自动化测试装置,所述智能电视的自动化测试装置包括:

第一获取模块,用于在接收到所述智能电视的测试指令时,获取所述智能电视对应的测试样本,其中,所述测试样本包括多个测试脚本及所述测试脚本对应的测试参数;

第二获取模块,用于在测试执行器处于闲置状态时,依次获取所述测试脚本的测试标识,并控制测试执行器基于所述测试标识对应的测试参数运行所述测试标识对应的测试脚本;

显示模块,用于在所述测试脚本运行完成时,显示所述测试脚本的测试结果。

优选地,所述智能电视的自动化测试装置还包括:

生成模块,用于基于所述测试脚本生成测试列表,其中,所述测试列表包括所述测试脚本的脚本标识;

所述第二获取模块还用于在测试执行器处于闲置状态时,依次获取所述测试列表中的测试标识,并控制测试执行器基于所述测试标识对应的测试参数运行所述测试标识对应的测试脚本。

优选地,所述第二获取模块包括:

存储单元,用于在测试执行器处于闲置状态时,依次将所述测试列表中的测试标识存储至测试池中;

控制单元,用于控制所述测试执行器获取所述测试池中的测试标识,并基于所述测试标识对应的测试参数运行所述测试标识对应的测试脚本。

优选地,所述第一获取模块包括:

第一获取单元,用于在接收到所述智能电视的测试请求时,获取所述智能电视的测试参数,其中,所述测试参数包括所述智能电视的硬件参数及系统参数;

第二获取单元,用于基于所述测试参数获取所述智能电视对应的测试脚本。

优选地,所述智能电视的自动化测试装置还包括:

检测模块,用于在接收到测试结果的导出指令时,检测当前是否已连接外部存储设备;

存储模块,用于在当前已连接外部存储设备时,将所述测试结果存储至所述外部存储设备。

本发明通过在接收到所述智能电视的测试指令时,获取所述智能电视对应的测试样本,而后在测试执行器处于闲置状态时,依次获取所述测试脚本的测试标识,并控制测试执行器基于所述测试标识对应的测试参数运行所述测试标识对应的测试脚本,最后在所述测试脚本运行完成时,显示所述测试脚本的测试结果,实现了智能电视的自动化测试,避免了采用人工的方式进行测试时受人力因素的影响而造成测试力度不足的情况,提高了测试效率以及测试效果,进而提高了智能电视的质量和可靠性。

附图说明

图1为本发明智能电视的自动化测试方法第一实施例的流程示意图;

图2为本发明智能电视的自动化测试方法第二实施例中依次获取所述测试列表中的测试标识,并控制测试执行器基于所述测试标识对应的测试参数运行所述测试标识对应的测试脚本步骤的细化流程示意图;

图3为本发明智能电视的自动化测试方法第三实施例中获取所述智能电视对应的测试样本步骤的细化流程示意图;

图4为本发明智能电视的自动化测试方法第四实施例的流程示意图;

图5为本发明智能电视的自动化测试装置第一实施例的功能模块示意图;

图6为本发明智能电视的自动化测试装置第二实施例中第二获取模块的细化功能模块示意图;

图7为本发明智能电视的自动化测试装置第三实施例中第一获取模块的细化功能模块示意图;

图8为本发明智能电视的自动化测试装置第四实施例的功能模块示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明提供一种智能电视的自动化测试方法。参照图1,图1为本发明智能电视的自动化测试方法第一实施例的流程示意图。

在本实施例中,该智能电视的自动化测试方法包括:

步骤S10,在接收到所述智能电视的测试指令时,获取所述智能电视对应的测试样本,其中,所述测试样本包括多个测试脚本及所述测试脚本对应的测试参数;

本实施例中,在接收到所述智能电视的测试指令时,获取智能电视的机芯、机型、Android版本等基本信息,通过智能电视的基本信息确认该智能电视是否支持特殊测试项目,如该智能电视是否支持外置SD卡、是否携带摄像头、是否支持开机动画等,同时结合智能电视基本通用功能的测试项,动态生成针对该智能电视的测试样本,并动态生成一个测试列表。

其中,测试参数包括机芯参数、机型参数、Android版本参数、sd卡支持参数、鼠标支持参数、手柄支持参数、键盘支持参数等;测试脚本是针对该智能电视的每一种硬件以及功能所对应的测试程序。测试指令可以由测试人员通过服务器或其他设备发送至智能电视的自动化测试装置,或者在智能电视的自动化测试装置上设置有测试按钮/按键,用于在需要时触发测试指令。

上述测试脚本至少包括以下之一:机型测试脚本、内存测试脚本、分区测试脚本、签名测试脚本、系统权限测试脚本、字体测试脚本、键盘测试脚本、U盘测试脚本、鼠标测试脚本、手柄测试脚本、开机动画测试脚本及恢复出厂测试脚本。其中,机型测试脚本,是用于自动获取产品中包含机芯,机型,系统版本号的基本信息的测试程序;内存测试脚本,是用于测试产品总共的内存大小、系统起来后可以使用的内存大小等功能的测试程序;分区测试脚本,是用于测试系统中定义的分区是否存在,并确保每个分区的大小是否合乎产品定义的设计的测试程序;签名测试脚本,是用于测试当前产品是使用的系统的默认签名还是厂商自定义签名;系统权限测试脚本,是用于检测系统中主要分区及目录的权限是否满足设计的要求,是否有开放过大的权限导致可能系统存在安全风险的测试程序;字体测试脚本,是用于检测系统中是否有内置产品自定义的通用字体的测试程序;恢复出厂测试脚本,是用于测试产品回复出厂后,以及智能电视的相关设计是否达到了出厂的要求的测试程序;键盘测试脚本,是用于检测当前产品系统对于键盘的支持情况,这个时候需要用户操作键盘的测试程序;U盘测试脚本,是用于检测当前产品系统对于外界存储设备U盘的支持情况,对U盘进行读写操作,查看当前系统共对U盘的识别、存储的测试程序;鼠标测试脚本,是用于检测当前系统对鼠标的支持情况,当前系统是否支持鼠标的测试程序;手柄测试脚本,是用于检测当前系统对不同的游戏手柄的支持情况,是否支持主流游戏手柄的测试程序;开机动画测试脚本,是用于检测当前系统对开机动画测支持情况,能否支持标准的开机动画的测试程序。

步骤S20,在测试执行器处于闲置状态时,依次获取所述测试脚本的测试标识,并控制测试执行器基于所述测试标识对应的测试参数运行所述测试标识对应的测试脚本;

本实施例中,在测试执行器闲置时,根据测试标识对应的测试参数依次运行测试列表中的测试标识对应的测试脚本,以进行相关测试,在每一次测试脚本运行完成时,控制测试执行器运行下一个测试标识对应的测试脚本,进而使得测试列表中的测试脚本能够全部运行完成。

步骤S30,在所述测试脚本运行完成时,显示所述测试脚本的测试结果。

本实施例中,对于测试执行器完成的测试结果,测试执行器和程序交互UI之间通过回调的方式获取测试结果数据,程序交互层UI接收到测试结果数据后,对测试结果数据进行反序列化获得数据对象,并对反序列化后的数据对象进行解析获取测试结果,具体地,对获取的测试结果读取测试脚本的名称、测试是否通过等信息,以“测试名称:测试是否通过”的形式呈现在UI界面中,对于没有通过的测试项,将会在所有测试脚本完成的时候一起呈现给用户,并同时展现对应的未通过原因,以及测试通过具有的标准,以及当前测试脚本每一个点测试的结果信息;测试结果数据包括当前测试脚本的测试结果数据中包含:是否测试通过、当前测试脚本的检测标准、当前测试脚本中每一个点的测试结果情况。

进一步地,在其他实施例中,在步骤S10之后,该智能电视的自动化测试方法还包括:基于所述测试脚本生成测试列表,其中,所述测试列表包括所述测试脚本的脚本标识;

本实施例中,基于测试脚本生成测试列表是指按照随机的顺序将获取到的所有测试样本中测试脚本的脚本标识存储至测试列表中。

步骤S20包括在测试执行器处于闲置状态时,依次获取所述测试列表中的测试标识,并控制测试执行器基于所述测试标识对应的测试参数运行所述测试标识对应的测试脚本;

本实施例中,在测试执行器闲置时,根据测试列表中的测试标识对应的测试参数依次运行测试列表中的测试标识对应的测试脚本,以进行相关测试,在每一次测试脚本运行完成时,控制测试执行器运行下一个测试标识对应的测试脚本,进而使得测试列表中的测试脚本能够全部运行完成。

本实施例中,通过在接收到所述智能电视的测试指令时,获取所述智能电视对应的测试样本,接着在测试执行器处于闲置状态时,依次获取所述测试脚本的测试标识,并控制测试执行器基于所述测试标识对应的测试参数运行所述测试标识对应的测试脚本,最后在所述测试脚本运行完成时,显示所述测试脚本的测试结果,实现了智能电视的自动化测试,避免了采用人工的方式进行测试时受人力因素的影响而造成测试力度不足的情况,提高了测试效率以及测试效果,进而提高了智能电视的质量和可靠性。

基于第一实施例提出本发明智能电视的自动化测试方法的第二实施例,参照图2,在本实施例中,步骤S20包括:

步骤S21,在测试执行器处于闲置状态时,依次将所述测试列表中的测试标识存储至测试池中;

本实施例中,设置一个存放测试列表中的测试标识的存储空间即测试池,用于临时存放测试标识,以避免测试过程中出现程序运行紊乱。

步骤S22,控制所述测试执行器获取所述测试池中的测试标识,并基于所述测试标识对应的测试参数运行所述测试标识对应的测试脚本。

根据测试标识对应的测试参数依次运行测试列表中的测试标识对应的测试脚本,以进行相关测试,在每一次测试脚本运行完成时,控制测试执行器运行下一个测试标识对应的测试脚本,进而使得测试列表中的测试脚本能够全部运行完成。

在具体实现中,对确认的测试样本列表,依次取出每一个测试项,对取出的每一个测试项封装在一个测试脚本中,其中,具体封装方式为:将测试项的名称作为对应的测试脚本的测试名称,将测试项的预定输入数据作为参数传入,测试结果等待测试结束的时候写入测试脚本之中;测试脚本包含:测试脚本的名称、测试脚本需要传递的参数、测试结果数据结构体;对构造的单个测试脚本通过注册接口的方式添加到测试池中;对于测试池中注入的测试脚本,依次分配一个线程,分配的线程等待上一个线程结束后即在测试执行器处于闲置状态时执行。

对于注册到测试池中的测试脚本,程序中具有一个线程管理模块即测试控制器,测试控制器负责线程池中的线程生命周期,包含:线程开始,线程执行,线程结束,线程终止;测试控制器依次取出测试脚本,对取出的每一个测试脚本分配一个线程进行测试,测试的过程中,每一个测试脚本线程都有不同的测试状态,包含:测试开始、测试中、测试结束、测试停止四个状态,测试脚本线程开始进入测试开始状态,表示即将开始测试,测试进行后,通过测试脚本中的测试名称,调用对应的基础测试脚本库中的测试代码进行测试,此时测试线程进入测试中状态,当测试完成后,将测试结果写入到测试脚本中的上测试结果保存数据,此时进入测试结束状态,当前测试脚本测试完成;同时对于在测试过程中的测试线程,当遇到用户主动操作终止当前测试,测试控制器将会主动终止当前正在运行的测试脚本线程,此时测试线程的状态变成测试停止状态;针对已经完成的测试任务的测试脚本的测试结果,测试控制器将会对测试脚本进行序列化,系列化后的数据保存在内存中;当测试脚本被测试控制器执行完成后,对序列化到内存中的数据返回给到程序交互层UI,在程序交互层UI进行当前测试结果的呈现。

本实施例中,通过在测试执行器处于闲置状态时,依次将所述测试列表中的测试标识存储至测试池中,而后控制所述测试执行器获取所述测试池中的测试标识,并基于所述测试标识对应的测试参数运行所述测试标识对应的测试脚本,实现了智能电视的自动化测试,并且通过测试池能够避免测试过程中发送程序紊乱的情况,进一步提高了测试效率以及测试效果,进而提高了智能电视的质量和可靠性。

基于第一实施例提出本发明智能电视的自动化测试方法的第三实施例,参照图3,在本实施例中,步骤S10包括:

步骤S11,在接收到所述智能电视的测试请求时,获取所述智能电视的测试参数,其中,所述测试参数包括所述智能电视的硬件参数及系统参数;

具体地,测试参数包括机芯参数、机型参数、Android版本参数、sd卡支持参数、鼠标支持参数、手柄支持参数、键盘支持参数等。测试指令可以由测试人员通过服务器或其他设备发送至智能电视的自动化测试装置,或者在智能电视的自动化测试装置上设置有测试按钮/按键,用于在需要时触发测试指令。

步骤S12,基于所述测试参数获取所述智能电视对应的测试脚本。

其中,测试脚本至少包括以下之一:机型测试脚本、内存测试脚本、分区测试脚本、签名测试脚本、系统权限测试脚本、字体测试脚本、键盘测试脚本、U盘测试脚本、鼠标测试脚本、手柄测试脚本、开机动画测试脚本及恢复出厂测试脚本。

本实施例中,通过在接收到所述智能电视的测试请求时,获取所述智能电视的测试参数,而后基于所述测试参数获取所述智能电视对应的测试脚本,实现了根据智能电视的测试参数获取测试脚本,进而能够准确、完全的获取智能电视需要的测试脚本,能够避免遗漏测试项而导致某些功能没有测试或测试不到位的情况,进一步提高了测试效率以及测试效果,进而提高了智能电视的质量和可靠性。

基于第一实施例提出本发明智能电视的自动化测试方法的第四实施例,参照图4,在本实施例中,在步骤S30之后,智能电视的自动化测试方法还包括:

步骤S40,在接收到测试结果的导出指令时,检测当前是否已连接外部存储设备;

本实施例中,可以在智能电视的测试过程中、或者智能电视全部测试完成时,将所有测试脚本运行得到的测试结果导出,以供测试人员进行后续进一步的数据处理,因此在接收到测试结果的导出指令时,检测当前是否已连接外部存储设备。

步骤S50,在当前已连接外部存储设备时,将所述测试结果存储至所述外部存储设备。

本实施例中,对于每一次的测试结果,分别读取测试脚本的测试名称、测试结果,对每一项按照测试是否通过,测试如果没有通过,依次读取没有通过的项目,以及测试通过的检测标准写入到指定文件中;当用户需要导出数据的时候,先判断用户是否插入外部存储设备,如U盘或者SD卡,如果有插入存储设备,则将保存数据的文件拷贝到存储设备中,并给到用户提示导出的路径文件目录;否则提示用户没有外接存储设备,提示用户插入存储设备。

本实施例中,通过在接收到测试结果的导出指令时,检测当前是否已连接外部存储设备;而后在当前已连接外部存储设备时,将所述测试结果存储至所述外部存储设备,实现了将测试结果导出至外部存储设备,以便于测试人员对测试结果进行后续的数据处理。

本发明进一步提供一种智能电视的自动化测试装置。参照图5,图5为本发明智能电视的自动化测试装置第一实施例的功能模块示意图。

在本实施例中,该智能电视的自动化测试装置包括:

第一获取模块10,用于在接收到所述智能电视的测试指令时,获取所述智能电视对应的测试样本,其中,所述测试样本包括多个测试脚本及所述测试脚本对应的测试参数;

本实施例中,在接收到所述智能电视的测试指令时,第一获取模块10获取智能电视的机芯、机型、Android版本等基本信息,通过智能电视的基本信息确认该智能电视是否支持特殊测试项目,如该智能电视是否支持外置SD卡、是否携带摄像头、是否支持开机动画等,同时结合智能电视基本通用功能的测试项,动态生成针对该智能电视的测试样本,并动态生成一个测试列表。

其中,测试参数包括机芯参数、机型参数、Android版本参数、sd卡支持参数、鼠标支持参数、手柄支持参数、键盘支持参数等;测试脚本是针对该智能电视的每一种硬件以及功能所对应的测试程序。测试指令可以由测试人员通过服务器或其他设备发送至智能电视的自动化测试装置,或者在智能电视的自动化测试装置上设置有测试按钮/按键,用于在需要时触发测试指令。

上述测试脚本至少包括以下之一:机型测试脚本、内存测试脚本、分区测试脚本、签名测试脚本、系统权限测试脚本、字体测试脚本、键盘测试脚本、U盘测试脚本、鼠标测试脚本、手柄测试脚本、开机动画测试脚本及恢复出厂测试脚本。其中,机型测试脚本,是用于自动获取产品中包含机芯,机型,系统版本号的基本信息的测试程序;内存测试脚本,是用于测试产品总共的内存大小、系统起来后可以使用的内存大小等功能的测试程序;分区测试脚本,是用于测试系统中定义的分区是否存在,并确保每个分区的大小是否合乎产品定义的设计的测试程序;签名测试脚本,是用于测试当前产品是使用的系统的默认签名还是厂商自定义签名;系统权限测试脚本,是用于检测系统中主要分区及目录的权限是否满足设计的要求,是否有开放过大的权限导致可能系统存在安全风险的测试程序;字体测试脚本,是用于检测系统中是否有内置产品自定义的通用字体的测试程序;恢复出厂测试脚本,是用于测试产品回复出厂后,以及智能电视的相关设计是否达到了出厂的要求的测试程序;键盘测试脚本,是用于检测当前产品系统对于键盘的支持情况,这个时候需要用户操作键盘的测试程序;U盘测试脚本,是用于检测当前产品系统对于外界存储设备U盘的支持情况,对U盘进行读写操作,查看当前系统共对U盘的识别、存储的测试程序;鼠标测试脚本,是用于检测当前系统对鼠标的支持情况,当前系统是否支持鼠标的测试程序;手柄测试脚本,是用于检测当前系统对不同的游戏手柄的支持情况,是否支持主流游戏手柄的测试程序;开机动画测试脚本,是用于检测当前系统对开机动画测支持情况,能否支持标准的开机动画的测试程序。

第二获取模块20,用于在测试执行器处于闲置状态时,依次获取所述测试列表中的测试标识,并控制测试执行器基于所述测试标识对应的测试参数运行所述测试标识对应的测试脚本;

本实施例中,在测试执行器闲置时,第二获取模块20根据测试标识对应的测试参数依次运行测试列表中的测试标识对应的测试脚本,以进行相关测试,在每一次测试脚本运行完成时,控制测试执行器运行下一个测试标识对应的测试脚本,进而使得测试列表中的测试脚本能够全部运行完成。

显示模块30,用于在所述测试脚本运行完成时,显示所述测试脚本的测试结果。

本实施例中,对于测试执行器完成的测试结果,测试执行器和程序交互UI之间通过回调的方式获取测试结果数据,程序交互层UI接收到测试结果数据后,对测试结果数据进行反序列化获得数据对象,并对反序列化后的数据对象进行解析获取测试结果,具体地,对获取的测试结果读取测试脚本的名称、测试是否通过等信息,以“测试名称:测试是否通过”的形式呈现在UI界面中,对于没有通过的测试项,将会在所有测试脚本完成的时候一起呈现给用户,并同时展现对应的未通过原因,以及测试通过具有的标准,以及当前测试脚本每一个点测试的结果信息;测试结果数据包括当前测试脚本的测试结果数据中包含:是否测试通过、当前测试脚本的检测标准、当前测试脚本中每一个点的测试结果情况。

进一步地,在一实施例中,该智能电视的自动化测试装置还包括:生成模块,用于基于所述测试脚本生成测试列表,其中,所述测试列表包括所述测试脚本的脚本标识;

本实施例中,基于测试脚本生成测试列表是指按照随机的顺序将获取到的所有测试样本中测试脚本的脚本标识存储至测试列表中。

第二获取模块20还用于在测试执行器处于闲置状态时,依次获取所述测试列表中的测试标识,并控制测试执行器基于所述测试标识对应的测试参数运行所述测试标识对应的测试脚本;

本实施例中,在测试执行器闲置时,第二获取模块20根据测试列表中的测试标识对应的测试参数依次运行测试列表中的测试标识对应的测试脚本,以进行相关测试,在每一次测试脚本运行完成时,控制测试执行器运行下一个测试标识对应的测试脚本,进而使得测试列表中的测试脚本能够全部运行完成。

本实施例中,通过在接收到所述智能电视的测试指令时,第一获取模块10获取所述智能电视对应的测试样本,接着在测试执行器处于闲置状态时,第二获取模块20依次获取测试脚本的测试标识,并控制测试执行器基于所述测试标识对应的测试参数运行所述测试标识对应的测试脚本,最后在所述测试脚本运行完成时,显示模块30显示所述测试脚本的测试结果,实现了智能电视的自动化测试,避免了采用人工的方式进行测试时受人力因素的影响而造成测试力度不足的情况,提高了测试效率以及测试效果,进而提高了智能电视的质量和可靠性。

基于第一实施例提出本发明智能电视的自动化测试装置的第二实施例,参照图6,在本实施例中,第二获取模块20包括:

存储单元21,用于在测试执行器处于闲置状态时,依次将所述测试列表中的测试标识存储至测试池中;

本实施例中,设置一个存放测试列表中的测试标识的存储空间即测试池,用于临时存放测试标识,以避免测试过程中出现程序运行紊乱。

控制单元22,用于控制所述测试执行器获取所述测试池中的测试标识,并基于所述测试标识对应的测试参数运行所述测试标识对应的测试脚本。

控制单元22根据测试标识对应的测试参数依次运行测试列表中的测试标识对应的测试脚本,以进行相关测试,在每一次测试脚本运行完成时,控制测试执行器运行下一个测试标识对应的测试脚本,进而使得测试列表中的测试脚本能够全部运行完成。

在具体实现中,对确认的测试样本列表,依次取出每一个测试项,对取出的每一个测试项封装在一个测试脚本中,其中,具体封装方式为:将测试项的名称作为对应的测试脚本的测试名称,将测试项的预定输入数据作为参数传入,测试结果等待测试结束的时候写入测试脚本之中;测试脚本包含:测试脚本的名称、测试脚本需要传递的参数、测试结果数据结构体;对构造的单个测试脚本通过注册接口的方式添加到测试池中;对于测试池中注入的测试脚本,依次分配一个线程,分配的线程等待上一个线程结束后即在测试执行器处于闲置状态时执行。

对于注册到测试池中的测试脚本,程序中具有一个线程管理模块即测试控制器,测试控制器负责线程池中的线程生命周期,包含:线程开始,线程执行,线程结束,线程终止;测试控制器依次取出测试脚本,对取出的每一个测试脚本分配一个线程进行测试,测试的过程中,每一个测试脚本线程都有不同的测试状态,包含:测试开始、测试中、测试结束、测试停止四个状态,测试脚本线程开始进入测试开始状态,表示即将开始测试,测试进行后,通过测试脚本中的测试名称,调用对应的基础测试脚本库中的测试代码进行测试,此时测试线程进入测试中状态,当测试完成后,将测试结果写入到测试脚本中的上测试结果保存数据,此时进入测试结束状态,当前测试脚本测试完成;同时对于在测试过程中的测试线程,当遇到用户主动操作终止当前测试,测试控制器将会主动终止当前正在运行的测试脚本线程,此时测试线程的状态变成测试停止状态;针对已经完成的测试任务的测试脚本的测试结果,测试控制器将会对测试脚本进行序列化,系列化后的数据保存在内存中;当测试脚本被测试控制器执行完成后,对序列化到内存中的数据返回给到程序交互层UI,在程序交互层UI进行当前测试结果的呈现。

本实施例中,通过在测试执行器处于闲置状态时,存储单元21依次将所述测试列表中的测试标识存储至测试池中,而后控制单元22控制所述测试执行器获取所述测试池中的测试标识,并基于所述测试标识对应的测试参数运行所述测试标识对应的测试脚本,实现了智能电视的自动化测试,并且通过测试池能够避免测试过程中发送程序紊乱的情况,进一步提高了测试效率以及测试效果,进而提高了智能电视的质量和可靠性。

基于第一实施例提出本发明智能电视的自动化测试装置的第三实施例,参照图7,在本实施例中,第一获取模块10包括:

第一获取单元11,用于在接收到所述智能电视的测试请求时,获取所述智能电视的测试参数,其中,所述测试参数包括所述智能电视的硬件参数及系统参数;

具体地,测试参数包括机芯参数、机型参数、Android版本参数、sd卡支持参数、鼠标支持参数、手柄支持参数、键盘支持参数等。测试指令可以由测试人员通过服务器或其他设备发送至智能电视的自动化测试装置,或者在智能电视的自动化测试装置上设置有测试按钮/按键,用于在需要时触发测试指令。

第二获取单元12,用于基于所述测试参数获取所述智能电视对应的测试脚本。

其中,测试脚本至少包括以下之一:机型测试脚本、内存测试脚本、分区测试脚本、签名测试脚本、系统权限测试脚本、字体测试脚本、键盘测试脚本、U盘测试脚本、鼠标测试脚本、手柄测试脚本、开机动画测试脚本及恢复出厂测试脚本。

本实施例中,通过在接收到所述智能电视的测试请求时,第一获取单元11获取所述智能电视的测试参数,而后第二获取单元12基于所述测试参数获取所述智能电视对应的测试脚本,实现了根据智能电视的测试参数获取测试脚本,进而能够准确、完全的获取智能电视需要的测试脚本,能够避免遗漏测试项而导致某些功能没有测试或测试不到位的情况,进一步提高了测试效率以及测试效果,进而提高了智能电视的质量和可靠性。

基于第一实施例提出本发明智能电视的自动化测试装置的第四实施例,参照图8,在本实施例中,智能电视的自动化测试装置还包括:

检测模块40,用于在接收到测试结果的导出指令时,检测当前是否已连接外部存储设备;

本实施例中,可以在智能电视的测试过程中、或者智能电视全部测试完成时,将所有测试脚本运行得到的测试结果导出,以供测试人员进行后续进一步的数据处理,因此在接收到测试结果的导出指令时,检测当前是否已连接外部存储设备。

存储模块50,用于在当前已连接外部存储设备时,将所述测试结果存储至所述外部存储设备。

本实施例中,对于每一次的测试结果,分别读取测试脚本的测试名称、测试结果,对每一项按照测试是否通过,测试如果没有通过,依次读取没有通过的项目,以及测试通过的检测标准写入到指定文件中;当用户需要导出数据的时候,先判断用户是否插入外部存储设备,如U盘或者SD卡,如果有插入存储设备,则将保存数据的文件拷贝到存储设备中,并给到用户提示导出的路径文件目录;否则提示用户没有外接存储设备,提示用户插入存储设备。

本实施例中,通过在接收到测试结果的导出指令时,检测模块40检测当前是否已连接外部存储设备;而后在当前已连接外部存储设备时,存储模块50将所述测试结果存储至所述外部存储设备,实现了将测试结果导出至外部存储设备,以便于测试人员对测试结果进行后续的数据处理。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1