应用测试、实现多终端中应用测试的方法、系统和装置与流程

文档序号:12747921阅读:276来源:国知局
应用测试、实现多终端中应用测试的方法、系统和装置与流程

本发明涉及互联网终端测试技术领域,特别涉及一种应用测试、实现多终端中应用测试的方法、系统和装置。



背景技术:

随着互联网应用技术的发展,智能手机、平板电脑之类的终端越来越受到欢迎而广泛使用,用户常常由互联网络所提供的海量应用中获取所需要的应用,以安装在其所使用的终端中,进而丰富终端的功能。

互联网络所提供的海量应用中,每一应用均是经过大量反复的测试之后发布的,以保证该应用的品质,避免在应用的使用过程中出错。

现有的应用测试的实现大都是通过测试人员不断进行的手动操作进行的,例如,测试人员首先通过来回拔插来实现终端中应用的安装,然后在应用所提供的界面中根据测试需要通过手动点击触发各种操作,以模拟应用中的用户操作,并在模拟的过程中手动保存当时的场景截图或者内存的信息,以便于对该应用的测试进行准确分析。

然而,现有的应用测试的实现由于需要测试人员不断进行手动操作,因此,存在着测试效率低下的局限性,对于测试人员而言,将不断把时间耗费于终端的来回拔插、应用的反复安装等繁琐的手动工作上,并且在存在多种需对应用进行测试的终端而言,测试效率将更为低下,严重阻碍着应用的发布和后续的版本迭代。



技术实现要素:

基于此,有必要提供一种能避免测试人员的手动操作,提高测试效率的应用测试方法和系统。

另外,还有必要提供一种能避免测试人员的手动操作,提高测试效率的实现多终端中应用测试的方法和装置。

一种应用测试方法,包括:

拉取与终端的运行环境相适配的测试脚本;

终端中通过所述测试脚本对相关的应用进行模拟操作;

所述测试脚本进行模拟操作时,捕捉与所述应用运行相关的数据;

上报所述捕捉得到的数据。

一种实现多终端中应用测试的方法,包括:

通过与多个终端之间的通讯分别为所述终端下发与其运行环境适配的测试脚本;

接收由所述终端在相应应用中执行所述测试脚本时捕捉并上报的数据;

保存所述终端执行所述测试脚本时捕捉并上报的数据。

一种应用测试系统,包括:

脚本拉取模块,用于拉取与终端的运行环境相适配的测试脚本;

模拟操作模块,用于在终端中通过所述测试脚本对相关的应用进行模拟操作;

数据捕捉模块,用于所述测试脚本进行模拟操作时,捕捉与所述应用运行相关的数据;

上报模块,用于上报所述捕捉得到的数据。

一种实现多终端中应用测试的装置,包括:

脚本下发模块,用于通过与多个终端之间的通讯分别为所述终端下发与其运行环境适配的测试脚本;

数据接收模块,用于接收由所述终端在相应应用中执行所述测试脚本时捕捉并上报的数据;

数据保存模块,用于保存所述终端执行所述测试脚本时捕捉并上报的数据。

由上述技术方案可知,实现应用测试的任一终端中,拉取与该终端的运行环境相适配的测试脚本,在拉取了测试脚本的终端中,执行该测试脚本,以对相应的应用进行各种模拟操作,并随着应用对模拟操作的响应捕捉与应用运行相关的数据,上报捕捉得到的数据,避免了测试人员的手动操作,有效提高了应用的测试效率,有助于应用的快速发布和后续的版本迭代,特别对于多个将进行应用测试的终端而言,由于不需要测试人员的手动操作,将得以不限制终端数量地进行应用测试,大为提高了应用可进行测试的终端适用范围,进而保证了应用在用户所使用的终端中运行的稳定性。

附图说明

图1是一个实施例中应用测试方法的流程图;

图2是另一个实施例中应用测试方法的流程图;

图3是图1中终端中通过测试脚本对相关的应用进行模拟操作的方法流程图;

图4是一个实施例中应用测试方法的应用场景示意图;

图5是图4中终端和服务器交互的时序图;

图6是一个实施例中实现多终端中应用测试的方法的流程图;

图7是图6中保存终端执行测试脚本时捕捉并上报的数据的方法流程图;

图8是一个实施例中应用测试系统的结构示意框图;

图9是另一个实施例中应用测试系统的结构示意框图;

图10是图8中模拟操作模块的结构示意框图;

图11是另一个实施例中应用测试系统的结构示意框图;

图12是一个实施例中实现多终端中应用测试的装置的结构示意框图;

图13是图12中数据保存模块的结构示意框图;

图14是本发明实施例提供的一种服务器结构示意图。

具体实施方式

体现本发明特征与优点的典型实施方式将在以下的说明中详细叙述。应理解的是本发明能够在不同的实施方式上具有各种的变化,其皆不脱离本发明的范围,且其中的说明及图示在本质上是当作说明之用,而非用以限制本发明。

如前所述,应用的发布都将经历各种测试,以尽可能避免其运行过程中出错状况的发生。现有应用测试的实现中,一方面,应用测试中需要触发各种用户操作,以触发运行应用的各种功能,进而实现应用所对应的各种测试任务,对于测试人员而言,所需要输入的用户操作较多,需要耗费较高的人工成本;另一方面的,由于应用可安装于智能手机、平板电脑等各种类型的终端中,并且每一类型的终端也存在着不同的运行环境,例如,对于智能手机而言,其机型与系统版本的不同也将对应用的运行造成差异化,进而使得即将发布的应用需要在各种运行环境不同的终端中进行测试,以确认应用可适用于指定运行环境的终端。

然而,这对于测试人员而言,实现这一应用测试所需要耗费的人工成本将呈现井喷式增长,其测试的准确性也无法得到保障和提高,进而对应用的开发和发布造成极大的压力,在各种互联网中应用飞速发展中,严重的影响了应用的发布和迭代更新。

因此,为避免应用测试中的各种人工因素的介入,特提出了一种应用测试方法。该方法可依赖于计算机程序,该计算机程序将运行于计算机系统之上,该计算机系统可以运行于智能手机、平板电脑、个人电脑和笔记本电脑等终端中。

在一个实施例中,具体的,该应用测试方法如图1所示,包括:

步骤S110,拉取与终端的运行环境相适配的测试脚本。

该终端为应用可适用的任一终端,其所对应的运行环境则包括了该终端所对应的硬件环境和软件环境,例如,终端所对应的机型、系统版本等。

以智能手机为例,其所对应的机型和系统版本确定了该智能手机的运行环境,其中,系统版本可为Android平台等。

测试脚本将用于实现应用所对应的测试任务,具体的,测试脚本用于触发运行安装在终端中的应用,以获取得到应用的运行状况,进而实现应用的测试过程。例如,该测试脚本可为shell脚本。

任一应用均有对应的运行环境要求,根据该运行环境要求即可确定该应用所适用的终端。因此,对于应用所适用的任一终端而言,均可拉取与运行环境相适配的测试脚本。

步骤S130,终端中通过测试脚本对相关的应用进行模拟操作。

终端在拉取得到与其运行环境相适配的测试脚本之后,将读取该测试脚本,以通过该测试脚本实现应用的模拟操作和对应用的运行进行监控。

其中,相关的应用即为当前待测试的应用,其安装于终端中,测试脚本则是服务器将预先配置的,通过测试脚本在应用中进行的模拟操作触发应用对该模拟操作进行响应,此时,即可对应用的运行状况进行监控。

步骤S150,测试脚本进行模拟操作时,捕捉与应用运行相关的数据。

随着测试脚本对应用所进行的模拟操作,该测试脚本也将作为一个后台监控程序,以捕捉与应用运行相关的数据,进而由捕捉得到的数据反映应用的运行状况。

其中,与应用运行相关的数据可以是内存的消耗、终端的cpu(Central Processing Unit,中央处理器)占用情况等,其可为应用测试中任一需要关注的数据,在此不一一进行列表。

步骤S170,上报捕捉得到的数据。

在捕捉得到与应用运行相关的数据之后,将向后台的服务器上报该数据,以为测试人员所进行的应用测试提供相关数据。

通过如上所述的应用测试方法,将使得终端中任一应用的测试均不需要测试人员的手动操作,避免了手动操作的介入,提高了应用测试的效率,此外,由于进行应用测试过程中所需要关注的数据均是以测试脚本为作后台监控所捕捉得到的,因此,将大为提供了应用测试的准确性。

通过如上所述的应用测试方法,终端将自动进行测试脚本的拉取、执行和应用运行的监控,自动化程度高,可迅速完成应用的在各种终端中的测试,加速了应用的开发和迭代更新。

进一步的,在本实施例中,如图2所示,步骤S110之前,如上所述的方法还包括:

步骤S210,获取终端的运行环境。

任一进行应用测试所适用的终端中,将获取其所对应的运行环境,该运行环境将包括了终端所对应的机型和系统版本等信息。

步骤S230,根据终端的运行环境请求拉取对应用进行测试的测试脚本。

由于每一运行环境配置了对应的测试脚本,以保证应用在每一运行环境中进行顺畅准确的测试。基于此,将根据终端的运行环境发起应用的测试脚本拉取请求,服务器在接收得到终端所发起的测试脚本拉取请求之后,将按照其所对应的运行环境下发测试脚本。

在一个实施例中,如图3所示,如上所述的步骤S130包括:

步骤S131,在终端中准备执行测试脚本的环境。

终端接收得到对应用进行测试的测试脚本之后,将首先进行应用的安装,以为拉取的测试脚本提供可供其执行的环境。

进一步的,终端中执行测试脚本的环境准备还包括了系统最高权限的获取,以便于后续在终端中进行应用的安装以及测试脚本的执行。

步骤S133,准备的环境中触发执行拉取得到的测试脚本。

在安装了应用的终端中,触发执行拉取得到的测试脚本,以触发该应用中的各种用户模拟操作。

步骤S135,通过测试脚本的执行进行相关的应用中的界面模拟操作。

测试脚本的执行中,将实现了应用的界面中各种操作的自动触发,进而自动触发应用中的各种功能。

通过如上所述的测试脚本的执行,将使得待测试的应用中界面自动触发了各种操作,进而得以模拟用户对应用的使用来实现该应用的测试,以便于准备获知用户在该应用的使用过程中可能出现的问题,从而得以不断完美该应用。

在一个实施例中,如图3所示,上述步骤S170之后,该方法还包括如下步骤:

步骤S310,接收终端上报的数据,并将数据转发至测试展示平台。

测试展示平台是运行于服务器的应用,将用于为测试人员提供可对终端中进行的应用测试实现各种后续处理的入口,例如,测试人员可通过服务器中所提供的测试展示平台实现上报的数据的保存、分析以及显示等,以便于对应用测试所得到的数据进行充分利用,在测试展示平台的辅助之下提高应用测试的精准性。

与终端进行通信的服务器中,将接收得到进行了应用测试的终端上报的数据,并将该数据转发至测试展示平台。

也就是说,在服务器的具体实现中,上报数据的接收和转发将由服务器程序组执行,而测试展示平台则作为服务器的一个web应用,将通过提供web界面的方式为测试人员对上报的数据所进行的后续处理提供服务。

进一步的,服务器程序组和测试展示平台可部署于同一服务器中,该服务器即为与终端进行通信的服务器。

步骤S330,通过测试展示平台触发保存数据。

测试展示平台在接收到转发的数据之后,将该数据保存至数据库中,以便于后续使用该数据实现各种处理过程,为测试人员在服务器对应用测试所进行的分析奠定数据基础,保证应用测试的准确性。

在一个实施例中,上述步骤S330之后,该方法还包括:

通过测试展示平台调用相应的测试分析程序,以对数据进行处理得到测试脚本对应的测试结果,并保存。

测试展示平台中配置了相应的测试分析程序,该测试分析程序用于对终端上报的数据进行自动化分析,以得到测试人员所关注的测试结果,并保存该测试结果。例如,测试分析程序对终端上报的数据所进行的分析可为统计图表的生成、机型测试数据的对比图表的生成等,在此不一一进行列举,其可根据实际的应用测试需要进行调整。

与之相对应的,在本实施例中,在通过相应的测试分析程序生成对应的测试结果并保存之后,该方法还包括了通过测试展示平台中触发的测试查询操作展示测试结果的步骤。

如上所述的,测试展示平台是向测试人员提供的web应用,对于测试人员而言,将是以web界面的方式存在的,因此,测试人员可在测试展示平台的web界面中触发测试查询操作,以获取测试结果并显示于测试展示平台的web界面中。

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

通过测试脚本平台中触发的脚本编写操作得到测试脚本以及测试脚本适配的运行环境,并保存。

与测试展示平台相类似的,测试脚本平台也是运行于服务器的应用,以用于为测试人员提供可对需要进行测试的应用配置相应测试脚本的入口,测试人员将通过测试脚本平台所提供的界面进行测试脚本的编写,并测试当前编写的测试脚本所适配的运行环境,该适配的运行环境即指定了测试脚本下发的终端范围。

通过如上所述的过程,将使得测试人员可通过测试脚本平台根据应用的测试需要编写测试脚本和指定该测试脚本下发的终端范围,进而使得与该终端范围相符的终端可直接由服务器拉取测试脚本,以自动进行应用的测试。

下面结合一个具体的应用场景来阐述如上所述的应用测试方法。该应用测试方法将在终端与服务器的配合下实现。该实施例中,以某一终端中进行的应用测试为例,如上所述的应用测试方法在终端中将一自动测试程序的形式存在并执行如上所述的实施例中步骤S110~S170和步骤S210~S230的过程,以在终端中实现应用的测试,并所得到的数据上报至服务器中。

以图4为例,该终端410对应的系统版本为Android平台,该自动测试程序411便运行于该终端410的Android平台中。而服务器430则配置了测试脚本平台431、服务器程序组433和测试展示平台435。

请结合参阅图5中终端410和服务器430之间步骤执行的详细的时序过程。测试人员通过测试脚本平台431执行S410,配置了测试脚本以及该测试脚本适配的运行环境,此时,若需要在终端410中进行应用的测试,则终端410使执行S420,向服务器430请求测试脚本。

服务器430中,服务器程序组433在接收到终端410的请求之后,服务器程序组433将由测试脚本平台431拉取测试脚本,即执行S430,并在得到测试脚本之后向终端410下发,即执行S440。

拉取得到测试脚本的终端410中,将执行该测试脚本,以捕捉得到该测试脚本执行过程中与应用运行相关的各种数据,并执行S450,上报捕捉得到的数据。

服务器程序组433在接收得到上报的数据之后,执行S460,将上报的数据推送至测试展示平台435,由测试展示平台435生成测试结果报表,即执行S470,并提供给测试人员查看。

在如上所述的实现过程,将使得终端410可自动实现应用的测试,对于测试人员而言,其只需要配置相应的测试脚本即可,而不需要触发任何手动操作,保证了应用测试的一致性和持久化的同时,使得应用的测试可应用于各种不同的终端410。

在一个实施例中,为解决上述问题,还提出了一种实现多终端中应用测试的方法,其运行于与终端相对的服务器。如图6所示,包括如下步骤:

步骤S610,通过与多个终端之间的通讯分别为终端下发其运行环境适配的测试脚本。

服务器将与多个终端进行通讯,以为每一终端下发与该终端的运行环境相适配的测试脚本。与服务器进行通讯的多个终端可为拥有相同运行环境的终端,也可为运行环境不同的终端,其可根据实际应用测试的需要进行确定和调整。

由于服务器向即将进行应用测试的多个终端分别下发与其运行环境相适配的测试脚本,因此,对于当前所进行的应用测试而言,可随意实现多个终端中的应用测试,而不再需要大量测试人员分别对多个终端进行逐一手动操控,提高了应用测试的操控性,进而大为拓宽了进行应用测试的范围。

步骤S630,接收由终端在相应应用中执行测试脚本时捕捉并上报的数据。

服务器在向多个终端下发测试脚本之后,随着终端中测试脚本的执行,服务器将接收由每一终端上报的数据,该数据是在终端中监控测试脚本在相应应用中触发各种模拟操作所捕捉得到的,将反映了应用在终端中的运行状态。

服务器自动接收到了多个终端分别自动捕捉并上报的数据,因此,对于当前所进行的应用测试而言,由于不存在手动操作,大为提高了应用测试的准确性和效率,避免了数据的遗漏和丢失,保证了数据的完整性。

步骤S650,保存终端执行测试脚本时捕捉并上报的数据。

服务器保存终端所上报的数据,以便于后续随时查看或者进行其它分析处理。

通过如上所述的过程,形成了由多个终端以及多个终端围绕的服务器所构成的应用测试实现拓扑,应用所需要进行的测试将在服务器的辅助下在多个终端中执行,并得到相应的数据,测试人员不需要对每一终端中的应用逐一进行来回拔插、触发操作等各种手动操作,提高了终端中应用测试的自动化程度。

通过服务器,对于测试人员而言,其将是操控多个终端进行应用测试的统一入口,因此,在服务器的作用下能够更快速地进行应用的发布和后续版本的迭代优化。

进一步的,如图7所示,在本实施例中,上述步骤650包括:

步骤651,将终端执行测试脚本时捕捉并上报的数据转发至测试展示平台。

步骤653,通过测试展示平台触发保存数据。

服务器中,通过测试展示平台为测试人员提供入口,以进行应用测试过程中数据的查看和后续的处理,从而方便测试人员获取应用进行测试的相关结果。

进一步的,上述步骤650之前,如上的方法还包括:

通过测试展示平台调用相应的测试分析程序,以对数据进行处理得到测试脚本对应的测试结果,并保存。

根据应用测试中数据的分析需要,将相应配置一个或者多个测试分析程序,在测试展示平台得到终端所上报的数据之后,将调用相应的测试分析程序,该测试分析程序将对数据进行处理以得到相应的测试结果,并保存。

进一步的,如上所述的方法还包括:

通过测试脚本平台触发的脚本编写操作得到测试脚本以及测试脚本适配的运行环境,并保存。

服务器中,测试人员通过测试脚本平台为用于进行应用测试的多个终端分别编写与其运行环境相适配的测试脚本,以便于服务器驱使多个终端进行应用的自动化测试。

在一个实施例中,还相应地提供了一种应用测试系统,如图8所示,包括脚本拉取模块110、模拟操作模块130、数据捕捉模块150和上报模块170,其中:

脚本拉取模块110,用于拉取与终端的运行环境相适配的测试脚本。

模拟操作模块130,用于在终端中通过测试脚本对相关的应用进行模拟操作。

数据捕捉模块150,用于测试脚本进行模拟操作时,捕捉与应用运行相关的数据。

上报模块170,用于上报捕捉得到的数据。

在一个实施例中,如图9所示,如上所述的系统还包括环境获取模块210和拉取请求模块230,其中:

环境获取模块210,用于获取终端的运行环境。

拉取请求模块230,用于根据终端的运行环境请求拉取对应用进行测试的测试脚本。

进一步的,在本实施例中,如图10所示,该模拟操作模块130包括环境准备单元131、脚本执行单元133和操作触发单元135,其中:

环境准备单元131,用于在终端中准备执行测试脚本的环境。

脚本执行单元133,用于在准备的环境中触发执行拉取得到的测试脚本。

操作触发单元135,用于通过测试脚本的执行进行相关的应用中界面的模拟操作。

在一个实施例中,如图11所示,如上所述的系统还包括服务器程序模块310和展示平台实现模块330,其中:

服务器程序模块310,用于接收终端上报的数据,并将数据转发至测试展示平台。

展示平台实现模块330,用于触发测试展示平台保存数据。

进一步的,如上的展示平台实现模块330还用于触发测试展示平台调用相应的测试分析程序,以对数据进行处理得到测试脚本对应的测试结果,并保存。

在一个实施例中,如上所述的系统还包括脚本平台实现模块,该脚本平台实现模块用于由测试脚本平台中触发的脚本编写操作得到测试脚本以及测试脚本适配的运行环境,并保存。

在一个实施例中,如图12所示,还相应地提供了一种实现多终端中应用测试的装置,包括脚本下发模块610、数据接收模块630和数据保存模块650,其中:

脚本下发模块610,用于通过与多个终端之间的通讯分别为终端下发与其运行环境相适配的测试脚本。

数据接收模块630,用于接收由终端在相应应用中执行测试脚本时捕捉并上报的数据。

数据保存模块650,用于保存终端执行测试脚本时捕捉并上报的数据。

进一步的,如图13所示,该数据保存模块650包括了数据通信单元651和展示平台实现单元653,其中:

数据通信单元651,用于转发终端执行测试脚本时捕捉并上报的数据。

展示平台实现单元653,用于触发测试展示平台保存数据。

进一步的,该展示平台实现单元653还用于触发测试展示平台调用相应的测试分析程序,以对数据进行处理得到测试脚本对应的测试结果,并保存。

在另一个实施例中,如上所述的装置还包括了脚本平台实现模块,该脚本平台实现模块用于由测试脚本平台中触发的脚本编写操作得到测试脚本以及测试脚本适配的运行环境,并保存。

图14是本发明实施例提供的一种服务器结构示意图。该服务器2000可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,CPU)2010(例如,一个或一个以上处理器)和存储器2020,一个或一个以上存储应用程序2031或数据2033的存储介质2030(例如一个或一个以上海量存储设备)。其中,存储器2020和存储介质2030可以是短暂存储或持久存储。存储在存储介质2030的程序可以包括一个或一个以上模块(图示未示出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器2010可以设置为与存储介质2030通信,在服务器2000上执行存储介质2030中的一系列指令操作。服务器2000还可以包括一个或一个以上电源2050,一个或一个以上有线或无线网络接口2070,一个或一个以上输入输出接口2080,和/或,一个或一个以上操作系统2035,例如Windows ServerTM,Mac OS XTM,UnixTM, LinuxTM,FreeBSDTM等等。本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

虽然已参照几个典型实施方式描述了本发明,但应当理解,所用的术语是说明和示例性、而非限制性的术语。由于本发明能够以多种形式具体实施而不脱离发明的精神或实质,所以应当理解,上述实施方式不限于任何前述的细节,而应在随附权利要求所限定的精神和范围内广泛地解释,因此落入权利要求或其等效范围内的全部变化和改型都应为随附权利要求所涵盖。

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