终端测试方法、装置及系统与流程

文档序号:12363493阅读:251来源:国知局
终端测试方法、装置及系统与流程

本公开涉及测试技术领域,尤其涉及终端测试方法、终端测试装置及终端测试系统。



背景技术:

目前,每出一部新的待测试终端均需要进行兼容性测试,兼容性测试主要是测试新机型的待测试终端是否适配于市面上推出的各种应用,而相关技术中的测试方法,往往都需要在新机型上,手动安装多个APP(Application,应用程序),对APP进行测试,观察是否有崩溃等现象出现,而这种测试方法显然极大地浪费了测试人力。



技术实现要素:

本公开实施例提供了终端测试方法、终端测试装置及终端测试系统。所述技术方案如下:

根据本公开实施例的第一方面,提供一种终端测试方法,包括:

获取需要在待测试终端上进行测试的应用列表;

在接收到测试指令时,将所述应用列表发送至所述待测试终端,其中,所述待测试终端在接收到所述应用列表后,根据所述应用列表,执行预存储的与所述待测试终端相应的测试脚本,并生成测试报告;

接收所述待测试终端发送的所述测试报告。

在一个实施例中,在接收到测试指令之前,所述方法还包括:

获取所述待测试终端的机型和所述应用列表的标识;

根据所述待测试终端的机型和所述应用列表的标识为所述待测试终端配置终端标识,其中,所述测试报告包括:所述应用列表中各应用在所述待测试终端上的测试结果和所述应用列表中各应用的标识;

将所述测试报告和所述终端标识进行对应存储。

在一个实施例中,所述在接收到所述测试指令时,将所述应用列表发送至所述待测试终端,包括:

在接收到所述测试指令时,将所述应用列表中的相应应用分发至多个与所述待测试终端具有相同机型的终端,使得每个具有相同机型的终端收到所述应用列表中的不同应用。

在一个实施例中,所述获取需要在待测试终端上进行测试的应用列表,包括:

根据所述待测试终端的机型,获取与所述待测试终端的机型相应的应用列表。

在一个实施例中,所述在接收到所述测试指令时,将所述应用列表发送至所述待测试终端,包括:

当所述待测试终端的机型包括至少两个且接收到所述测试指令时,将与各不同机型相应的应用列表发送至各不同机型的待测试终端。

在一个实施例中,所述测试报告包括:所述应用列表中测试结果为测试失败的预设应用的标识、所述预设应用的总数目、所述预设应用所属的测试失败类型和每种测试失败类型中的应用的数目中的至少一项记录;

所述方法还包括:

按照所述测试失败类型将所述测试报告进行显示,所述测试失败类型包括:应用安装失败、应用运行崩溃、应用运行速率缓慢和应用卸载失败中的至少一项。

在一个实施例中,所述方法还包括:

向所述待测试终端发送修改所述测试脚本的指令,以修改所述测试脚本中各测试事件的测试参数,其中,所述测试参数包括:所述各测试事件的比例、所述各测试事件对所述应用列表中的应用的控件的触发时长和所述各测试事件对所述应用列表中的应用的控件的触发时间间隔中的至少一项,所述各测试事件包括:对所述应用列表中的应用进行点击、滑动、长按和输入预设轨迹的事件中的至少一个事件。

根据本公开实施例的第二方面,提供另一种终端测试方法,包括:

接收服务器发送的应用列表;

根据所述应用列表,执行预存储的与所述待测试终端相应的测试脚本,并生成测试报告;

将所述测试报告发送至所述服务器。

在一个实施例中,所述根据所述应用列表,执行预存储的与所述待测试终端相应的测试脚本,并生成测试报告,包括:

读取所述测试脚本中的安装命令;

根据所述安装命令安装所述应用列表中的各应用;

在所述各应用中执行所述测试脚本中各测试事件,得到所述各应用在所述待测试终端上的测试结果,所述各测试事件包括:对所述各应用进行点击、滑动、长按和输入预设轨迹的事件中的至少一个事件;

根据所述测试结果,生成所述测试报告,其中,所述测试报告包括:所述各应用的标识。

在一个实施例中,所述生成所述测试报告包括:

当所述各应用中预设应用对应的测试结果为测试失败时,读取所述测试脚本中的报告生成指令,其中,所述预设应用包括:所述各应用中的任一应用;

根据所述报告生成指令,生成所述测试报告,其中,所述测试报告包括:所述预设应用的标识、所述预设应用的总数目、所述预设应用所属的测试失败类型和每种测试失败类型中的应用的数目中的至少一项记录。

在一个实施例中,所述方法还包括:

接收所述服务器发送修改所述测试脚本的指令;

根据所述修改所述测试脚本的指令,修改所述测试脚本中各测试事件的测试参数,其中,所述测试参数包括:所述各测试事件的比例、所述各测试事件对所述各应用的控件的触发时长和所述各测试事件对所述各应用的控件的触发时间间隔中的至少一项。

在一个实施例中,所述根据所述应用列表,执行预存储的与所述待测试终端相应的测试脚本,并生成测试报告,包括:

当所述测试脚本包括至少两种时,根据所述应用列表中的应用类型,从至少两种所述测试脚本中获取与所述应用列表中的应用类型相适配的目标测试脚本,其中,所述应用类型包括普通应用或者双开应用;

所述根据所述应用列表,执行所述目标测试脚本,并生成测试报告。

根据本公开实施例的第三方面,提供一种终端测试装置,包括:

第一获取模块,用于获取需要在待测试终端上进行测试的应用列表;

发送模块,用于在接收到测试指令时,将所述第一获取模块获取的所述应用列表发送至所述待测试终端,其中,所述待测试终端在接收到所述应用列表后,根据所述应用列表,执行预存储的与所述待测试终端相应的测试脚本,并生成测试报告;

接收模块,用于接收所述待测试终端根据所述发送模块发送的所述测试报告。

在一个实施例中,所述装置还包括:

第二获取模块,用于在接收到测试指令之前,获取所述待测试终端的机型和所述应用列表的标识;

配置模块,用于根据所述第二获取模块获取的所述待测试终端的机型和所述应用列表的标识为所述待测试终端配置终端标识,其中,所述测试报告包括:所述应用列表中各应用在所述待测试终端上的测试结果和所述应用列表中各应用的标识;

存储模块,用于将所述测试报告和所述终端标识进行对应存储。

在一个实施例中,所述发送模块包括:

分发子模块,用于在接收到所述测试指令时,将所述应用列表中的相应应用分发至多个与所述待测试终端具有相同机型的终端,使得每个具有相同机型的终端收到所述应用列表中的不同应用。

在一个实施例中,所述第一获取模块包括:

获取子模块,用于根据所述待测试终端的机型,获取与所述待测试终端的机型相应的应用列表。

在一个实施例中,所述发送模块包括:

发送子模块,用于当所述待测试终端的机型包括至少两个且接收到所述测试指令时,将与各不同机型相应的应用列表发送至各不同机型的待测试终端。

在一个实施例中,所述测试报告包括:所述应用列表中测试结果为测试失败的预设应用的标识、所述预设应用的总数目、所述预设应用所属的测试失败类型和每种测试失败类型中的应用的数目中的至少一项记录;

所述装置还包括:

显示模块,用于按照所述测试失败类型将所述测试报告进行显示,所述测试失败类型包括:应用安装失败、应用运行崩溃、应用运行速率缓慢和应用卸载失败中的至少一项。

在一个实施例中,所述装置还包括:

修改模块,用于向所述待测试终端发送修改所述测试脚本的指令,以修改所述测试脚本中各测试事件的测试参数,其中,所述测试参数包括:所述各测试事件的比例、所述各测试事件对所述应用列表中的应用的控件的触发时长和所述各测试事件对所述应用列表中的应用的控件的触发时间间隔中的至少一项,所述各测试事件包括:对所述应用列表中的应用进行点击、滑动、长按和输入预设轨迹的事件中的至少一个事件。

根据本公开实施例的第四方面,提供了另一种终端测试装置,包括:

第一接收模块,用于接收服务器发送的应用列表;

处理模块,用于根据所述第一接收模块接收到的所述应用列表,执行预存储的与所述待测试终端相应的测试脚本,并生成测试报告;

发送模块,用于将所述处理模块生成的所述测试报告发送至所述服务器。

在一个实施例中,所述处理模块包括:

读取子模块,用于读取所述测试脚本中的安装命令;

安装子模块,用于根据所述读取子模块读取到的所述安装命令安装所述应用列表中的各应用;

执行子模块,用于在所述安装子模块安装的所述各应用中执行所述测试脚本中各测试事件,得到所述各应用在所述待测试终端上的测试结果,所述各测试事件包括:对所述各应用进行点击、滑动、长按和输入预设轨迹的事件中的至少一个事件;

生成子模块,用于根据所述执行子模块得到的所述测试结果,生成所述测试报告,其中,所述测试报告包括:所述各应用的标识。

在一个实施例中,所述生成子模块包括:

读取单元,用于当所述各应用中预设应用对应的测试结果为测试失败时,读取所述测试脚本中的报告生成指令,其中,所述预设应用包括:所述各应用中的任一应用;

生成单元,用于根据所述读取单元读取到的所述报告生成指令,生成所述测试报告,其中,所述测试报告包括:所述预设应用的标识、所述预设应用的总数目、所述预设应用所属的测试失败类型和每种测试失败类型中的应用的数目中的至少一项记录。

在一个实施例中,所述装置还包括:

第二接收模块,用于接收所述服务器发送修改所述测试脚本的指令;

修改模块,用于根据所述第二接收模块接收到的所述修改所述测试脚本的指令,修改所述测试脚本中各测试事件的测试参数,其中,所述测试参数包括:所述各测试事件的比例、所述各测试事件对所述各应用的控件的触发时长和所述各测试事件对所述各应用的控件的触发时间间隔中的至少一项。

在一个实施例中,所述处理模块包括:

获取子模块,用于当所述测试脚本包括至少两种时,根据所述应用列表中的应用类型,从至少两种所述测试脚本中获取与所述应用列表中的应用类型相适配的目标测试脚本,其中,所述应用类型包括普通应用或者双开应用;

处理子模块,用于所述根据所述应用列表,执行所述获取子模块获取到的所述目标测试脚本,并生成测试报告。

根据本公开实施例的第五方面,提供一种终端测试系统,包括:

如上述第三方面实施例中任一项所述的终端测试装置;和

如上述第四方面实施例中任一项所述的终端测试装置。

根据本公开实施例的第六方面,提供了一种终端测试装置,包括:

处理器;

用于存储处理器可执行指令的存储器;

其中,所述处理器被配置为:

获取需要在待测试的待测试终端上进行测试的应用列表;

在接收到测试指令时,将所述应用列表发送至所述待测试终端,其中,所述待测试终端在接收到所述应用列表后,根据所述应用列表,执行预存储的与所述待测试终端相应的测试脚本,并生成测试报告;

接收所述待测试终端发送的所述测试报告。

根据本公开实施例的第七方面,提供了一种终端测试装置,包括:

处理器;

用于存储处理器可执行指令的存储器;

其中,所述处理器被配置为:

接收服务器发送的应用列表;

根据所述应用列表,执行预存储的与所述待测试终端相应的测试脚本,并生成测试报告;

将所述测试报告发送至所述服务器。

本公开的实施例提供的技术方案可以包括以下有益效果:

本公开的实施例提供的技术方案,在接收到开始测试的测试指令时,通过将应用列表发送至待测试终端,可以使待测试终端根据该应用列表在待测试终端上安装需要进行测试的应用,进而执行预存储的与该待测试终端相应的测试脚本,并生成测试报告,从而实现对该待测试终端的兼容性进行自动化测试,避免使测试人员手动地对该待测试终端进行测试,极大地节省了测试人力,提高了测试效率和准确率;而通过接收待测试终端发送的测试报告,便于从整体上了解应用列表中各应用在待测试终端上的测试结果,进而可以对该待测试终端的兼容性进行评估。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。

图1是根据一示例性实施例示出的一种终端测试方法的流程图。

图2是根据一示例性实施例示出的另一种终端测试方法的流程图。

图3是根据一示例性实施例一示出的又一种终端测试方法的流程图。

图4是根据一示例性实施例一示出的再一种终端测试方法的流程图。

图5是根据一示例性实施例一示出的再一种终端测试方法的流程图。

图6是根据一示例性实施例示出的一种终端测试装置的框图。

图7是根据一示例性实施例示出的另一种终端测试装置的框图。

图8是根据一示例性实施例示出的又一种终端测试装置的框图。

图9是根据一示例性实施例示出的再一种终端测试装置的框图。

图10是根据一示例性实施例示出的再一种终端测试装置的框图。

图11是根据一示例性实施例示出的再一种终端测试装置的框图。

图12是根据一示例性实施例示出的再一种终端测试装置的框图。

图13是根据一示例性实施例示出的再一种终端测试装置的框图。

图14是根据一示例性实施例示出的一种适用于终端测试装置的框图。

图15是根据一示例性实施例示出的另一种适用于终端测试装置的框图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

目前,每出一部新的待测试终端均需要进行兼容性测试,兼容性测试主要是测试新机型的待测试终端是否适配于市面上推出的各种应用,而相关技术中的测试方法,往往都需要在新机型上,手动安装多个APP(Application,应用程序),对APP进行测试,观察是否有崩溃等现象出现,而这种测试方法显然极大地浪费了测试人力。

为了解决上述技术问题,本公开实施例提供了一种终端测试方法,该方法可用于待测试终端测试程序、系统或装置中,且该方法对应的执行主体可以是自动化测试平台所在的服务器等,如图1所示,该方法包括步骤S101至步骤S103:

在步骤S101中,获取需要在待测试的待测试终端上进行测试的应用列表;

该待测试终端可以是新研发的某个机型的平板、手机、计算机等设备,而该自动化测试平台可以是一个Web测试网页,获取的该应用列表用于测试待测试终端的兼容性,可以是从某数据库中导出的下载量排列前N的应用所组成的应用列表,例如:该应用列表可以是下载量排列前2000的应用所组成的列表。

另外,在测试该待测试终端前,待测试终端应被放置在自动化测试机房中,以减少测试干扰因素。

在步骤S102中,在接收到测试指令时,将应用列表发送至待测试终端,其中,待测试终端在接收到应用列表后,根据应用列表,执行预存储的与待测试终端相应的测试脚本,并生成测试报告;

在接收到开始测试的测试指令时,通过将应用列表发送至待测试终端,可以使待测试终端根据该应用列表在待测试终端上安装需要进行测试的应用,进而执行预存储的与该待测试终端相应的测试脚本,并生成测试报告,从而实现对该待测试终端与各应用的兼容性进行自动化测试,避免使测试人员手动地对该待测试终端进行测试,极大地节省了测试人力,提高了测试效率和准确率。

其次,接收到测试指令的触发操作可以是点击自动化测试平台中的开始测试的控件。

另外,应用列表中可以包括:各应用的编号、名称、版本号、下载地址、更新时间等各种信息,以便于待测试终端在接收到该应用列表之后,可以快速了解需要测试哪些应用以及各应用的下载地址等信息。

在步骤S103中,接收待测试终端发送的测试报告。

通过接收待测试终端发送的测试报告,便于从整体上了解应用列表中各应用在待测试终端上的测试结果,进而可以对该待测试终端的兼容性进行评估,获得该待测试终端的兼容性测试结果。

如图2所示,在一个实施例中,在执行图1中的步骤“接收到测试指令”之前,上述方法还可包括:

在步骤S201中,获取待测试终端的机型和应用列表的标识;

该应用列表的标识可以是该应用列表的名字,例如:应用列表可以是下载量排列前2000的应用所组成的列表,应用列表的标识可以是top2000等。

在步骤S202中,根据待测试终端的机型和应用列表的标识为待测试终端配置终端标识,其中,测试报告包括:应用列表中各应用在待测试终端上的测试结果和应用列表中各应用的标识,各应用的标识可以是各应用的名称、安装包的名字、根据其安装包的名字得到的Hash值(即散列值)等。

在步骤S203中,将测试报告和终端标识进行对应存储。

由于自动化测试平台的测试工作量比较大,要测试的待测试终端也可能不同,因而,在接收到测试指令之前,可以先根据该待测试终端的机型和应用列表的标识,为该待测试终端配置唯一的终端标识,以便于将获得的该机型的待测试终端的测试报告与其终端标识进行对应存储,从而避免测试报告混乱。

在一个实施例中,上述图1所示的步骤S102可被执行为:

在接收到所述测试指令时,将所述应用列表中的相应应用分发至多个与所述待测试终端具有相同机型的终端,使得每个具有相同机型的终端收到所述应用列表中的不同应用。

在测试某个机型的终端时,由于在一个该机型的待测试终端上测试完应用列表中的全部应用会导致这个待测试终端的测试工作量相当的大且测试效率、测试准确率均会下降,因而,在测试时,可能会在多个该机型的待测试终端上同时进行兼容性测试,这种情况下,在接收到测试指令时,可以将应用列表中的相应应用分发至与该自动化测试平台相连接的多个与待测试终端具有相同机型的终端,使得该机型的不同终端收到应用列表中的不同应用,这样可以在该机型的多个终端上并发地进行兼容性测试,从而实现在减少该机型的各终端的测试工作量的基础上,提高兼容性测试的效率和准确率。

其次,应用列表中的相应应用就是与该机型的每个终端对应的应用,且该机型的每个终端对应的应用可以是事先预置好的;而在将应用列表中的与该机型的每个终端对应的应用分发至该机型的每个终端时,可以利用自动化测试平台中的jenkins平台(其中,jenkins是一个开源软件项目,旨在提供一个开放易用的软件平台),并使用分发的逻辑代码,将上述Top N列表中的相应APP分配至该机型的每个终端,以在该机型的每个终端上分别测试被分配的相应APP,从而通过该机型的多个终端共同完成对Top N列表中的所有应用的测试;

另外,在将应用列表中的相应应用分发至多个与该待测试终端具有相同机型的终端时,若相应应用包括多个应用,则可以一次性地将相应应用分发至该机型的相应终端上,也可以每次仅将相应应用中的一个应用发送至该机型的相应终端,并在该机型的相应终端上测试完该应用且接收到该机型的相应终端发送的测试报告/该应用测试完毕的通知时,依次将相应应用中的下一个应用发送至该相应待测试终端,依次类推,直至将该相应应用中的应用全部发送给该机型的相应终端,例如:当应用列表包括应用1至应用4,该机型的待测试终端分别是待测试终端A和待测试终端B时,在根据jenkins平台确定为待测试终端A分配的相应应用为应用1和应用3,为待测试终端B分配的相应应用为应用2和应用4时,可以将应用1和应用3所组成的部分应用列表一次性分发至待测试终端A,同时将应用2和应用4所组成的部分应用列表一次性分发至待测试终端B;或者先将应用1分发至待测试终端A,在待测试终端A上测试完应用1时,再将应用3分发至待测试终端A,同样地,可以先将应用2分发至待测试终端B,并在待测试终端B上测试完应用2时,再将应用4分发至待测试终端B。

在一个实施例中,上述图1所示的步骤S101可被执行为:

根据待测试终端的机型,获取与待测试终端的机型相应的应用列表。

在对不同机型的待测试终端进行测试时,由于不同机型的待测试终端的测试需求不同(例如:平板和手机这两种不同机型的待测试终端的测试需求就不同),使得不同机型的待测试终端上需要测试的应用不同,需要在不同机型的待测试终端上进行测试的应用列表也不同,因而,在获取应用列表时,可以根据该待测试终端的机型,获取与该待测试终端的机型相应的应用列表,从而通过该相应的应用列表对该测试终端进行有效的针对性测试。

在一个实施例中,上述图1所示的步骤S102可被执行为:

当待测试终端的机型包括至少两个且接收到测试指令时,将与各不同机型相应的应用列表发送至各不同机型的待测试终端。

当测试终端的机型包括多个时,若接收到测试指令,则可以将与各不同机型相应的应用列表发送至相应机型的待测试终端,使得不同机型的待测试终端分别接收到与其测试需求相匹配的不同应用列表,进而实现对不同机型的测试终端进行有效的针对性测试,满足对不同机型的待测试终端进行个性化测试的需求。

另外,通过将与各不同机型相应的应用列表发送至各不同机型的待测试终端,可以对不同机型的待测试终端进行并发测试,以进一步提高测试效率,降低测试时间。

在一个实施例中,测试报告包括:应用列表中测试结果为测试失败的预设应用的标识、预设应用的总数目、预设应用所属的测试失败类型和每种测试失败类型中的应用的数目中的至少一项记录,当然,该测试报告还可以包括应用列表中测试结果为测试失败的预设应用的测试时间、测试失败的原因等;

该测试报告可以是在待测试终端上测试失败的应用的测试报告,这样可以减少测试报告的发送次数,避免待测试终端每测试一个应用都需要向服务器反馈一个测试报告;

另外,如果待测试终端每测试失败一个应用均向服务器发送一份测试报告,则该测试报告可能就仅有该测试失败应用的标识和测试失败类型,而在这种情况下,自动化测试平台可以根据所有测试报告统计出预设应用的总数目,每种测试失败类型中的应用的数目等信息,以便于测试人员从整体上了解测试失败的应用的情况,进而准确地评估出该待测试终端的兼容性测试结果,从而对该待测试终端进行进一步改进。

当然,如果向该待测试终端发送的应用列表中有多个应用且待测试终端在测试完该应用列表中的所有应用后才发送该测试报告,则测试报告内容就比较丰富,可以包括上述所有记录;

方法还包括:

按照测试失败类型将测试报告进行显示,测试失败类型包括:应用安装失败、应用运行崩溃、应用运行速率缓慢和应用卸载失败中的至少一项。

在得到测试报告时,可以按照测试失败类型将该测试报告进行显示,以便于测试人员从整体上了解各种测试失败类型的应用的情况,准确地评估出该待测试终端的兼容性测试结果,从而有利于对该待测试终端进行进一步改进。

另外,在按照测试失败类型将测试报告进行显示时,可以以列表形式将测试报告进行显示。

在一个实施例中,方法还包括:

向待测试终端发送修改测试脚本的指令,以修改测试脚本中各测试事件的测试参数,其中,测试参数包括:各测试事件的比例、各测试事件对应用列表中的应用的控件的触发时长和各测试事件对应用列表中的应用的控件的触发时间间隔中的至少一项,且各测试事件包括:对应用列表中的应用进行点击、滑动、长按和输入预设轨迹的事件中的至少一个事件。

通过向待测试终端发送修改其测试脚本的指令,可以对测试脚本中各测试事件的测试参数进行修改,以调节测试强度和测试事件的所占比例等,从而实现可以根据不同测试需求对该待测试终端上安装的应用进行不同的测试。

另外,需要说明的是:上述实施例可以单独实施,也可以根据需求相互结合后实施。

如图3所示,本公开实施例还提供了另一种终端测试方法,用于待测试终端,包括:

在步骤S301中,接收服务器发送的应用列表;

在步骤S302中,根据应用列表,执行预存储的与待测试终端相应的测试脚本,并生成测试报告;

在步骤S303中,将测试报告发送至服务器。

在接收到服务器发送的应用列表时,可以根据该应用列表在待测试终端上安装需要进行测试的应用,进而执行预存储的与该待测试终端相应的测试脚本,并生成测试报告,从而实现对该待测试终端的兼容性进行自动化测试,避免使测试人员手动地对该待测试终端进行测试,极大地节省了测试人力,提高了测试效率和准确率。

如图4所示,在一个实施例中,上述图3所示的步骤S302可被执行为:

在步骤S401中,读取测试脚本中的安装命令;

安装命令可以是adb install命令。

在步骤S402中,根据安装命令安装应用列表中的各应用;

在步骤S403中,在各应用中执行测试脚本中各测试事件,得到各应用在待测试终端上的测试结果,各测试事件包括:对各应用进行点击、滑动、长按和输入预设轨迹的事件中的至少一个事件;

在步骤S404中,根据测试结果,生成测试报告,其中,测试报告包括:各应用的标识。

在接收到服务器发送的应用列表时,可以先读取测试脚本中的安装命令,然后根据安装命令在待测试终端上自动安装需要进行测试的应用,进而在各应用中执行各测试事件,并在得到各应用的测试结果之后生成测试报告,从而实现通过对待测试终端上安装的各应用进行测试来对该待测试终端的兼容性进行自动化测试,避免使测试人员手动地对该待测试终端进行测试,极大地节省了测试人力,提高了测试效率和准确率。

另外,测试脚本中的各测试事件可以是预先写入的测试事件(即该测试脚本可以是测试人员根据测试需求个性化设定的)或者是由测试脚本中的Monkey测试程序随机生成的,另外,该Monkey测试程序在随机生成各测试事件之后,还可以随机生成各测试事件需要触发各应用中的哪些控件,即Monkey测试程序会产生一定数量或一定时间内的随机模拟用户操作的事件,如点击,按键,手势、以及一些系统级别的事件等,以对各应用中的控件进行随机测试,从而得到各应用在待测试终端上的测试结果。

在一个实施例中,上述图4所示的步骤S404可被执行为:

当各应用中预设应用对应的测试结果为测试失败时,读取测试脚本中的报告生成指令,其中,预设应用包括:各应用中的任一应用;

报告生成指令可以是adb bugreport命令。

根据报告生成指令,生成测试报告,其中,测试报告包括:预设应用的标识、预设应用的总数目、预设应用所属的测试失败类型和每种测试失败类型中的应用的数目中的至少一项记录。

当各应用中预设应用对应的测试结果为测试失败时,可以读取测试脚本中的报告生成指令,进而根据该报告生成指令,自动生成测试报告,以便于测试平台可以及时得到各种测试失败的应用的情况,进而便于测试人员可以评估出该待测试终端的兼容性测试结果,这也有利于对该待测试终端进行进一步改进。

另外,在应用测试失败时,才生成测试报告,可以避免待测试终端每测试一个应用都需要向服务器反馈一个测试报告,减少了待测试终端生成和发送测试报告的频率。

如图5所示,在一个实施例中,上述方法还可包括:

在步骤S501中,接收服务器发送修改测试脚本的指令;

在步骤S502中,根据修改测试脚本的指令,修改测试脚本中各测试事件的测试参数,其中,测试参数包括:各测试事件的比例、各测试事件对各应用的控件的触发时长和各测试事件对各应用的控件的触发时间间隔中的至少一项,例如:当各测试事件分别是点击和滑动、点击和滑动事件的比例是40%:60%、且各应用仅是应用A时,则可以调整将点击和滑动事件的比例调整为50%:50%等各种比例;同样地,如果各测试事件对A应用中的某控件的触发时长原本是M毫秒、对该触控的触发时间间隔原本是为P毫秒,则可以将对该控件的触发时长调整至N毫秒、对该控件的触发时间间隔调整至Q毫秒。

在接收到服务器上所安装的自动化测试平台发送的修改其测试脚本的指令时,可以根据该指令对测试脚本中各测试事件的测试参数进行修改,以调节测试强度和测试事件的所占比例等,从而实现可以根据不同测试需求对该待测试终端上安装的应用进行不同的测试。

在一个实施例中,上述图3中的步骤S302可被执行为:

当测试脚本包括至少两种时,根据应用列表中的应用类型,从至少两种测试脚本中获取与应用列表中的应用类型相适配的目标测试脚本,其中,应用类型包括普通应用或者双开应用。

其中,双开应用就是在同一终端上可以显示两个图标使得用户在同一时刻可以在各图标中同时登录不同账号的应用。

而普通应用就是相关技术中的在同一终端上仅显示一个图标、同一时刻用户只能登录一个账号的应用。

根据应用列表,执行目标测试脚本,并生成测试报告。

由于不同类型的应用所适配的测试脚本不同,例如:对于普通应用,使用Monkey测试即可,而双开应用可能需要测试人员撰写适配的测试脚本,因而,当测试脚本包括至少两种时,可以根据应用列表中的应用类型,从至少两种测试脚本中自动获取与应用列表中的应用类型相适配的目标测试脚本,进而根据应用列表,执行目标测试脚本,并生成测试报告,从而实现使用与应用列表中的应用类型相适配的目标测试脚本对该待测试终端的兼容性进行自动化测试,避免使测试人员手动地对该待测试终端进行测试,极大地节省了测试人力,提高了测试效率和准确率。

另外,需要说明的是:上述实施例可以单独实施,也可以根据需求相互结合后实施。

对应本公开实施例提供的上述终端测试方法,本公开第三方面的实施例还提供一种终端测试装置,其执行主体为自动化测试平台所在的服务器,如图6所示,该装置包括:

第一获取模块601,被配置为获取需要在待测试终端上进行测试的应用列表;

发送模块602,被配置为在接收到测试指令时,将第一获取模块601获取的应用列表发送至待测试终端,其中,待测试终端在接收到应用列表后,根据应用列表,执行预存储的与待测试终端相应的测试脚本,并生成测试报告;

在接收到开始测试的测试指令时,通过发送模块602将应用列表发送至待测试终端,可以使待测试终端根据该应用列表在待测试终端上安装需要进行测试的应用,进而执行预存储的与该待测试终端相应的测试脚本,并生成测试报告,从而实现对该待测试终端与各应用的兼容性进行自动化测试,避免使测试人员手动地对该待测试终端进行测试,极大地节省了测试人力,提高了测试效率和准确率。

其次,接收到测试指令的触发操作可以是点击自动化测试平台中的开始测试的控件。

另外,应用列表中可以包括:各应用的编号、名称、版本号、下载地址、更新时间等各种信息,以便于待测试终端在接收到该应用列表之后,可以快速了解需要测试哪些应用以及各应用的下载地址等信息。

接收模块603,被配置为接收待测试终端根据发送模块602发送的测试报告。

通过接收模块603接收待测试终端发送的测试报告,便于从整体上了解应用列表中各应用在待测试终端上的测试结果,进而可以对该待测试终端的兼容性进行评估,获得该待测试终端的兼容性测试结果。

如图7所示,在一个实施例中,上述图6所示的装置还可包括:

第二获取模块701,被配置为在接收到测试指令之前,获取待测试终端的机型和应用列表的标识;

该应用列表的标识可以是该应用列表的名字,例如:应用列表可以是下载量排列前2000的应用所组成的列表,应用列表的标识可以是top2000等。

配置模块702,被配置为根据第二获取模块701获取的待测试终端的机型和应用列表的标识为待测试终端配置终端标识,

其中,测试报告包括:应用列表中各应用在待测试终端上的测试结果和应用列表中各应用的标识,各应用的标识可以是各应用的名称、安装包的名字、根据其安装包的名字得到的Hash值(即散列值)等;

存储模块703,被配置为将测试报告和配置模块702配置的终端标识进行对应存储。

由于自动化测试平台的测试工作量比较大,要测试的待测试终端也可能不同,因而,在接收到测试指令之前,配置模块702可以先根据该待测试终端的机型和应用列表的标识,为该待测试终端配置唯一的终端标识,以便于存储模块703将获得的该机型的待测试终端的测试报告与其终端标识进行对应存储,从而避免测试报告混乱。

如图8所示,在一个实施例中,上述图7所示的发送模块602可以包括:

分发子模块6021,被配置为在接收到测试指令时,将应用列表中的相应应用分发至多个与待测试终端具有相同机型的终端,使得每个具有相同机型的终端收到应用列表中的不同应用。

在测试某个机型的终端时,由于在一个该机型的待测试终端上测试完应用列表中的全部应用会导致这个待测试终端的测试工作量相当的大且测试效率、测试准确率均会下降,因而,在测试时,可能会在多个该机型的待测试终端上同时进行兼容性测试,这种情况下,在接收到测试指令时,可以通过分发子模块6021将应用列表中的相应应用分发至与该自动化测试平台相连接的多个与待测试终端具有相同机型的终端,使得该机型的不同终端收到应用列表中的不同应用,这样可以在该机型的多个终端上并发地进行兼容性测试,从而实现在减少该机型的各终端的测试工作量的基础上,提高兼容性测试的效率和准确率。

其次,应用列表中的相应应用就是与该机型的每个终端对应的应用,且该机型的每个终端对应的应用可以是事先预置好的;而在将应用列表中的与该机型的每个终端对应的应用分发至该机型的每个终端时,可以利用自动化测试平台中的jenkins平台(其中,jenkins是一个开源软件项目,旨在提供一个开放易用的软件平台),并使用分发的逻辑代码,将上述Top N列表中的相应APP分配至该机型的每个终端,以在该机型的每个终端上分别测试被分配的相应APP,从而通过该机型的多个终端共同完成对Top N列表中的所有应用的测试;

另外,在将应用列表中的相应应用分发至多个与该待测试终端具有相同机型的终端时,若相应应用包括多个应用,则可以一次性地将相应应用分发至该机型的相应终端上,也可以每次仅将相应应用中的一个应用发送至该机型的相应终端,并在该机型的相应终端上测试完该应用且接收到该机型的相应终端发送的测试报告/该应用测试完毕的通知时,依次将相应应用中的下一个应用发送至该相应待测试终端,依次类推,直至将该相应应用中的应用全部发送给该机型的相应终端,例如:当应用列表包括应用1至应用4,该机型的待测试终端分别是待测试终端A和待测试终端B时,在根据jenkins平台确定为待测试终端A分配的相应应用为应用1和应用3,为待测试终端B分配的相应应用为应用2和应用4时,可以将应用1和应用3所组成的部分应用列表一次性分发至待测试终端A,同时将应用2和应用4所组成的部分应用列表一次性分发至待测试终端B;或者先将应用1分发至待测试终端A,在待测试终端A上测试完应用1时,再将应用3分发至待测试终端A,同样地,可以先将应用2分发至待测试终端B,并在待测试终端B上测试完应用2时,再将应用4分发至待测试终端B。

在一个实施例中,第一获取模块601可以包括:

获取子模块,用于根据待测试终端的机型,获取与待测试终端的机型相应的应用列表。

在对不同机型的待测试终端进行测试时,由于不同机型的待测试终端的测试需求不同(例如:平板和手机这两种不同机型的待测试终端的测试需求就不同),使得不同机型的待测试终端上需要测试的应用不同,需要在不同机型的待测试终端上进行测试的应用列表也不同,因而,获取子模块在获取应用列表时,可以根据该待测试终端的机型,获取与该待测试终端的机型相应的应用列表,从而通过该相应的应用列表对该测试终端进行有效的针对性测试。

在一个实施例中,发送模块602可以包括:

发送子模块,被配置为当待测试终端的机型包括至少两个且接收到测试指令时,将与各不同机型相应的应用列表发送至各不同机型的待测试终端。

当测试终端的机型包括多个时,若接收到测试指令,则发送子模块可以将与各不同机型相应的应用列表发送至相应机型的待测试终端,使得不同机型的待测试终端分别接收到与其测试需求相匹配的不同应用列表,进而实现对不同机型的测试终端进行有效的针对性测试,满足对不同机型的待测试终端进行个性化测试的需求。

如图9所示,在一个实施例中,测试报告包括:应用列表中测试结果为测试失败的预设应用的标识、预设应用的总数目、预设应用所属的测试失败类型和每种测试失败类型中的应用的数目中的至少一项记录;

上述图7所示的装置还可包括:

显示模块901,被配置为按照测试失败类型将测试报告进行显示,测试失败类型包括:应用安装失败、应用运行崩溃、应用运行速率缓慢和应用卸载失败中的至少一项。

在得到测试报告时,显示模块901可以按照测试失败类型将该测试报告进行显示,以便于测试人员从整体上了解各种测试失败类型的应用的情况,准确地评估出该待测试终端的兼容性测试结果,从而有利于对该待测试终端进行进一步改进。

如图10所示,在一个实施例中,上述图7所示的装置还可包括:

修改模块1001,被配置为向待测试终端发送修改测试脚本的指令,以修改测试脚本中各测试事件的测试参数,其中,测试参数包括:各测试事件的比例、各测试事件对应用列表中的应用的控件的触发时长和各测试事件对应用列表中的应用的控件的触发时间间隔中的至少一项,且各测试事件包括:对应用列表中的应用进行点击、滑动、长按和输入预设轨迹的事件中的至少一个事件。

通过向待测试终端发送修改其测试脚本的指令,可以对测试脚本中各测试事件的测试参数进行修改,以调节测试强度和测试事件的所占比例等,从而实现可以根据不同测试需求对该待测试终端上安装的应用进行不同的测试。

对应本公开实施例提供的上述终端测试方法,本公开第四方面的实施例还提供另一种终端测试装置,其执行主体为待测试终端,如图11所示,该装置包括:

第一接收模块1101,被配置为接收服务器发送的应用列表;

处理模块1102,被配置为根据第一接收模块1101接收到的应用列表,执行预存储的与待测试终端相应的测试脚本,并生成测试报告;

发送模块1103,被配置为将处理模块1102生成的测试报告发送至服务器。

在第一接收模块1101接收到服务器发送的应用列表时,处理模块1102可以根据该应用列表在待测试终端上安装需要进行测试的应用,进而执行预存储的与该待测试终端相应的测试脚本,并生成测试报告,并通过发送模块1103将测试报告发送至服务器,从而实现对该待测试终端的兼容性进行自动化测试,避免使测试人员手动地对该待测试终端进行测试,极大地节省了测试人力,提高了测试效率和准确率。

如图12所示,在一个实施例中,上述图11所示的处理模块1102可以包括:

读取子模块11021,被配置为读取测试脚本中的安装命令;

安装子模块11022,被配置为根据读取子模块11021读取到的安装命令安装应用列表中的各应用;

执行子模块11023,被配置为在安装子模块11022安装的各应用中执行测试脚本中各测试事件,得到各应用在待测试终端上的测试结果,各测试事件包括:对各应用进行点击、滑动、长按和输入预设轨迹的事件中的至少一个事件;

生成子模块11024,被配置为根据执行子模块11023得到的测试结果,生成测试报告,其中,测试报告包括:各应用的标识。

在接收到服务器发送的应用列表时,读取子模块11021可以先读取测试脚本中的安装命令,然后通过安装子模块11022根据安装命令在待测试终端上自动安装需要进行测试的应用,进而通过执行子模块11023在各应用中执行各测试事件,并使得生成子模块11024在得到各应用的测试结果之后生成测试报告,从而实现通过对待测试终端上安装的各应用进行测试来对该待测试终端的兼容性进行自动化测试,避免使测试人员手动地对该待测试终端进行测试,极大地节省了测试人力,提高了测试效率和准确率。

在一个实施例中,生成子模块11024包括:

读取单元,被配置为当各应用中预设应用对应的测试结果为测试失败时,读取测试脚本中的报告生成指令,其中,预设应用包括:各应用中的任一应用;

生成单元,被配置为根据读取单元读取到的报告生成指令,生成测试报告,其中,测试报告包括:预设应用的标识、预设应用的总数目、预设应用所属的测试失败类型和每种测试失败类型中的应用的数目中的至少一项记录。

当各应用中预设应用对应的测试结果为测试失败时,读取单元可以读取测试脚本中的报告生成指令,进而生成单元根据该报告生成指令,自动生成测试报告,以便于测试平台可以及时得到各种测试失败的应用的情况,进而便于测试人员可以评估出该待测试终端的兼容性测试结果,这也有利于对该待测试终端进行进一步改进。

如图13所示,在一个实施例中,上述装置还可包括:

第二接收模块1301,被配置为接收服务器发送修改测试脚本的指令;

修改模块1302,被配置为根据第二接收模块1301接收到的修改测试脚本的指令,修改测试脚本中各测试事件的测试参数,其中,测试参数包括:各测试事件的比例、各测试事件对各应用的控件的触发时长和各测试事件对各应用的控件的触发时间间隔中的至少一项。

在第二接收模块1301接收到服务器上所安装的自动化测试平台发送的修改其测试脚本的指令时,修改模块1302可以根据该指令对测试脚本中各测试事件的测试参数进行修改,以调节测试强度和测试事件的所占比例等,从而实现可以根据不同测试需求对该待测试终端上安装的应用进行不同的测试。

在一个实施例中,上述图11所示的处理模块1102可以包括:

获取子模块,被配置为当测试脚本包括至少两种时,根据应用列表中的应用类型,从至少两种测试脚本中获取与应用列表中的应用类型相适配的目标测试脚本,其中,应用类型包括普通应用或者双开应用;

处理子模块,被配置为根据应用列表,执行获取子模块获取到的目标测试脚本,并生成测试报告。

由于不同类型的应用所适配的测试脚本不同,例如:对于普通应用,使用Monkey测试即可,而双开应用可能需要测试人员撰写适配的测试脚本,因而,当测试脚本包括至少两种时,获取子模块可以根据应用列表中的应用类型,从至少两种测试脚本中自动获取与应用列表中的应用类型相适配的目标测试脚本,进而处理子模块可以根据应用列表,执行目标测试脚本,并生成测试报告,从而实现使用与应用列表中的应用类型相适配的目标测试脚本对该待测试终端的兼容性进行自动化测试,避免使测试人员手动地对该待测试终端进行测试,极大地节省了测试人力,提高了测试效率和准确率。

对应本公开实施例提供的上述终端测试方法,本公开第五方面的实施例还提供一种终端测试系统,该系统包括:

如上述第三方面实施例中任一项所述的终端测试装置;和

如上述第四方面实施例中任一项所述的终端测试装置。

该系统中各项实施例的技术效果与上述第一方面和第二方面的实施例的技术效果相同,此处不再赘述。

根据本公开实施例的第六方面,提供一种终端测试装置,包括:

处理器;

用于存储处理器可执行指令的存储器;

其中,处理器被配置为:

获取需要在待测试终端上进行测试的应用列表;

在接收到测试指令时,将所述应用列表发送至所述待测试终端,其中,所述待测试终端在接收到所述应用列表后,根据所述应用列表,执行预存储的与所述待测试终端相应的测试脚本,并生成测试报告;

接收所述待测试终端发送的所述测试报告。

上述处理器还可被配置为:

在接收到测试指令之前,所述方法还包括:

获取所述待测试终端的机型和所述应用列表的标识;

根据所述待测试终端的机型和所述应用列表的标识为所述待测试终端配置终端标识,其中,所述测试报告包括:所述应用列表中各应用在所述待测试终端上的测试结果和所述应用列表中各应用的标识;

将所述测试报告和所述终端标识进行对应存储。

上述处理器还可被配置为:

所述在接收到所述测试指令时,将所述应用列表发送至所述待测试终端,包括:

在接收到所述测试指令时,将所述应用列表中的相应应用分发至多个与所述待测试终端具有相同机型的终端,使得每个具有相同机型的终端收到所述应用列表中的不同应用。

上述处理器还可被配置为:

所述获取需要在待测试终端上进行测试的应用列表,包括:

根据所述待测试终端的机型,获取与所述待测试终端的机型相应的应用列表。

上述处理器还可被配置为:

所述在接收到所述测试指令时,将所述应用列表发送至所述待测试终端,包括:

当所述待测试终端的机型包括至少两个且接收到所述测试指令时,将与各不同机型相应的应用列表发送至各不同机型的待测试终端。

上述处理器还可被配置为:

所述测试报告包括:所述应用列表中测试结果为测试失败的预设应用的标识、所述预设应用的总数目、所述预设应用所属的测试失败类型和每种测试失败类型中的应用的数目中的至少一项记录;

所述方法还包括:

按照所述测试失败类型将所述测试报告进行显示,所述测试失败类型包括:应用安装失败、应用运行崩溃、应用运行速率缓慢和应用卸载失败中的至少一项。

上述处理器还可被配置为:

所述方法还包括:

向所述待测试终端发送修改所述测试脚本的指令,以修改所述测试脚本中各测试事件的测试参数,其中,

所述测试参数包括:所述各测试事件的比例、所述各测试事件对所述应用列表中的应用的控件的触发时长和所述各测试事件对所述应用列表中的应用的控件的触发时间间隔中的至少一项,所述各测试事件包括:对所述应用列表中的应用进行点击、滑动、长按和输入预设轨迹的事件中的至少一个事件。

根据本公开实施例的第七方面,提供一种终端测试装置,包括:

处理器;

用于存储处理器可执行指令的存储器;

其中,处理器被配置为:

接收服务器发送的应用列表;

根据所述应用列表,执行预存储的与所述待测试终端相应的测试脚本,并生成测试报告;

将所述测试报告发送至所述服务器。

上述处理器还可被配置为:

所述根据所述应用列表,执行预存储的与所述待测试终端相应的测试脚本,并生成测试报告,包括:

读取所述测试脚本中的安装命令;

根据所述安装命令安装所述应用列表中的各应用;

在所述各应用中执行所述测试脚本中各测试事件,得到所述各应用在所述待测试终端上的测试结果,所述各测试事件包括:对所述各应用进行点击、滑动、长按和输入预设轨迹的事件中的至少一个事件;

根据所述测试结果,生成所述测试报告,其中,所述测试报告包括:所述各应用的标识。

上述处理器还可被配置为:

所述生成所述测试报告包括:

当所述各应用中预设应用对应的测试结果为测试失败时,读取所述测试脚本中的报告生成指令,其中,所述预设应用包括:所述各应用中的任一应用;

根据所述报告生成指令,生成所述测试报告,其中,所述测试报告包括:所述预设应用的标识、所述预设应用的总数目、所述预设应用所属的测试失败类型和每种测试失败类型中的应用的数目中的至少一项记录。

上述处理器还可被配置为:

所述方法还包括:

接收所述服务器发送修改所述测试脚本的指令;

根据所述修改所述测试脚本的指令,修改所述测试脚本中各测试事件的测试参数,其中,所述测试参数包括:所述各测试事件的比例、所述各测试事件对所述各应用的控件的触发时长和所述各测试事件对所述各应用的控件的触发时间间隔中的至少一项。

上述处理器还可被配置为:

所述根据所述应用列表,执行预存储的与所述待测试终端相应的测试脚本,并生成测试报告,包括:

当所述测试脚本包括至少两种时,根据所述应用列表中的应用类型,从至少两种所述测试脚本中获取与所述应用列表中的应用类型相适配的目标测试脚本,其中,所述应用类型包括普通应用或者双开应用;

所述根据所述应用列表,执行所述目标测试脚本,并生成测试报告。

图14是根据一示例性实施例示出的一种用于终端测试装置1400的框图。例如,装置1400可以被提供为一服务器。参照图14,装置1400包括处理组件1422,其进一步包括一个或多个处理器,以及由存储器1432所代表的存储器资源,用于存储可由处理组件1422的执行的指令,例如应用程序。存储器1432中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1422被配置为执行指令,以执行上述方法。

装置1400还可以包括一个电源组件1426被配置为执行装置1400的电源管理,一个有线或无线网络接口1450被配置为将装置1400连接到网络,和一个输入输出(I/O)接口1458。装置1400可以操作基于存储在存储器1432的操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。

一种非临时性计算机可读存储介质,当所述存储介质中的指令由上述装置1400的处理器执行时,使得上述装置1400能够执行一种终端测试方法,包括:

获取需要在待测试终端上进行测试的应用列表;

在接收到测试指令时,将所述应用列表发送至所述待测试终端,其中,所述待测试终端在接收到所述应用列表后,根据所述应用列表,执行预存储的与所述待测试终端相应的测试脚本,并生成测试报告;

接收所述待测试终端发送的所述测试报告。

在一个实施例中,在接收到测试指令之前,所述方法还包括:

获取所述待测试终端的机型和所述应用列表的标识;

根据所述待测试终端的机型和所述应用列表的标识为所述待测试终端配置终端标识,其中,

所述测试报告包括:所述应用列表中各应用在所述待测试终端上的测试结果和所述应用列表中各应用的标识;

将所述测试报告和所述终端标识进行对应存储。

在一个实施例中,所述在接收到所述测试指令时,将所述应用列表发送至所述待测试终端,包括:

在接收到所述测试指令时,将所述应用列表中的相应应用分发至多个与所述待测试终端具有相同机型的终端,使得每个具有相同机型的终端收到所述应用列表中的不同应用。

在一个实施例中,所述获取需要在待测试终端上进行测试的应用列表,包括:

根据所述待测试终端的机型,获取与所述待测试终端的机型相应的应用列表。

在一个实施例中,所述在接收到所述测试指令时,将所述应用列表发送至所述待测试终端,包括:

当所述待测试终端的机型包括至少两个且接收到所述测试指令时,将与各不同机型相应的应用列表发送至各不同机型的待测试终端。

在一个实施例中,所述测试报告包括:所述应用列表中测试结果为测试失败的预设应用的标识、所述预设应用的总数目、所述预设应用所属的测试失败类型和每种测试失败类型中的应用的数目中的至少一项记录;

所述方法还包括:

按照所述测试失败类型将所述测试报告进行显示,所述测试失败类型包括:应用安装失败、应用运行崩溃、应用运行速率缓慢和应用卸载失败中的至少一项。

在一个实施例中,所述方法还包括:

向所述待测试终端发送修改所述测试脚本的指令,以修改所述测试脚本中各测试事件的测试参数,其中,所述测试参数包括:所述各测试事件的比例、所述各测试事件对所述应用列表中的应用的控件的触发时长和所述各测试事件对所述应用列表中的应用的控件的触发时间间隔中的至少一项,所述各测试事件包括:对所述应用列表中的应用进行点击、滑动、长按和输入预设轨迹的事件中的至少一个事件。

图15是根据一示例性实施例示出的一种用于终端测试装置1500的框图,该装置适用于待测试终端设备。例如,装置1500可以是移动电话,计算机,数字广播待测试终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个用户数字助理等。

参照图15,装置1500可以包括以下一个或至少两个组件:处理组件1502,存储器1504,电源组件1506,多媒体组件1508,音频组件1510,输入/输出(I/O)接口1512,传感器组件1514,以及通信组件1516。

处理组件1502通常控制装置1500的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件1502可以包括一个或至少两个处理器1520来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件1502可以包括一个或至少两个模块,便于处理组件1502和其他组件之间的交互。

例如,处理组件1502可以包括多媒体模块,以方便多媒体组件1508和处理组件1502之间的交互。

存储器1504被配置为存储各种类型的数据以支持在装置1500的操作。这些数据的示例包括用于在装置1500上操作的任何存储对象或方法的指令,联系用户数据,电话簿数据,消息,图片,视频等。存储器1504可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。

电源组件1506为装置1500的各种组件提供电源。电源组件1506可以包括电源管理系统,一个或至少两个电源,及其他与为装置1500生成、管理和分配电源相关联的组件。

多媒体组件1508包括在所述装置1500和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或至少两个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。

在一些实施例中,多媒体组件1508包括一个前置摄像头和/或后置摄像头。当装置1500处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。

音频组件1510被配置为输出和/或输入音频信号。例如,音频组件1510包括一个麦克风(MIC),当装置1500处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器1504或经由通信组件1516发送。在一些实施例中,音频组件1510还包括一个扬声器,用于输出音频信号。

I/O接口1512为处理组件1502和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。

传感器组件1514包括一个或至少两个传感器,用于为装置1500提供各个方面的状态评估。例如,传感器组件1514可以检测到装置1500的打开/关闭状态,组件的相对定位,例如所述组件为装置1500的显示器和小键盘,传感器组件1514还可以检测装置1500或装置1500一个组件的位置改变,用户与装置1500接触的存在或不存在,装置1500方位或加速/减速和装置1500的温度变化。传感器组件1514可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件1514还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件1514还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。

通信组件1516被配置为便于装置1500和其他设备之间有线或无线方式的通信。装置1500可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件1516经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件1516还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。

在示例性实施例中,装置1500可以被一个或至少两个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子组件实现,用于执行上述方法。

在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器1504,上述指令可由装置1500的处理器1520执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。

一种非临时性计算机可读存储介质,当所述存储介质中的指令由上述装置1500的处理器执行时,使得上述装置1500能够执行一种终端测试方法,包括:

接收服务器发送的应用列表;

根据所述应用列表,执行预存储的与所述待测试终端相应的测试脚本,并生成测试报告;

将所述测试报告发送至所述服务器。

在一个实施例中,所述根据所述应用列表,执行预存储的与所述待测试终端相应的测试脚本,并生成测试报告,包括:

读取所述测试脚本中的安装命令;

根据所述安装命令安装所述应用列表中的各应用;

在所述各应用中执行所述测试脚本中各测试事件,得到所述各应用在所述待测试终端上的测试结果,所述各测试事件包括:对所述各应用进行点击、滑动、长按和输入预设轨迹的事件中的至少一个事件;

根据所述测试结果,生成所述测试报告,其中,所述测试报告包括:所述各应用的标识。

在一个实施例中,所述生成所述测试报告包括:

当所述各应用中预设应用对应的测试结果为测试失败时,读取所述测试脚本中的报告生成指令,其中,所述预设应用包括:所述各应用中的任一应用;

根据所述报告生成指令,生成所述测试报告,其中,

所述测试报告包括:所述预设应用的标识、所述预设应用的总数目、所述预设应用所属的测试失败类型和每种测试失败类型中的应用的数目中的至少一项记录。

在一个实施例中,所述方法还包括:

接收所述服务器发送修改所述测试脚本的指令;

根据所述修改所述测试脚本的指令,修改所述测试脚本中各测试事件的测试参数,其中,所述测试参数包括:所述各测试事件的比例、所述各测试事件对所述各应用的控件的触发时长和所述各测试事件对所述各应用的控件的触发时间间隔中的至少一项。

在一个实施例中,所述根据所述应用列表,执行预存储的与所述待测试终端相应的测试脚本,并生成测试报告,包括:

当所述测试脚本包括至少两种时,根据所述应用列表中的应用类型,从至少两种所述测试脚本中获取与所述应用列表中的应用类型相适配的目标测试脚本,其中,

所述应用类型包括普通应用或者双开应用;

所述根据所述应用列表,执行所述目标测试脚本,并生成测试报告。

本领域技术用户员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

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