一种应用程序的测试方法及系统与流程

文档序号:16781319发布日期:2019-02-01 19:09阅读:170来源:国知局
一种应用程序的测试方法及系统与流程

本发明属于信息处理技术领域,尤其涉及一种应用程序的测试方法及系统。



背景技术:

随着终端技术的不断发展,为了满足用户使用过程中的各种需求,应用程序的数量以及更新速度也不断增长,因此,如何高效地对应用程序进行测试,则直接影响应用程序的更新速度。由于测试应用程序的过程中,往往需要安装于测试机上进行压力测试,现有的应用程序的测试方法,需要为应用程序的开发部门配置不同型号的测试机,以确定不同应用程序在各个型号的测试机上是否能够正常运行,当开发的应用程序的部门较多时,则需要购买大量的测试机,从而导致了测试成本过高;或者,多个部门公用同一套测试机,但该方法则需要将测试机在多个部门之间流转,容易导致测试机容易损坏以及丢失,并且流转的过程也较为消耗时间,降低了测试效率。由此可见,现有的应用程序的测试方法,无法很好地在测试成本以及测试效率之间取得较好的平衡。



技术实现要素:

有鉴于此,本发明实施例提供了一种应用程序的测试方法及系统,以解决现有的应用程序的测试方法,无法很好地在测试成本以及测试效率之间取得较好的平衡的问题。

本发明实施例的第一方面提供了一种应用程序的测试方法,应用于应用程序的测试系统,所述应用程序的测试系统包括:测试控制终端以及部署于远端测试机房的至少一个测试机,所述应用程序的测试方法包括:

所述测试控制终端接收应用程序测试请求;所述应用程序测试请求包括:待测试的目标应用程序的应用标识以及用于安装所述目标应用程序的测试机的设备型号;

根据所述应用标识从应用程序库中下载目标应用程序,并获取部署于远端测试机房中所述设备型号对应的测试机的运行状态

向运行状态处于空闲状态的任意目标测试机发送测试指令以及所述目标应用程序的程序文件;

所述目标测试机安装所述目标应用程序,并根据所述测试指令对应的测试流程对所述目标应用程序进行测试。

本发明实施例的第二方面提供了一种应用程序的测试系统,所述应用程序的测试系统包括:测试控制终端以及部署于远端测试机房的至少一个测试机;

所述测试控制终端,用于接收应用程序测试请求;所述应用程序测试请求包括:待测试的目标应用程序的应用标识以及用于安装所述目标应用程序的测试机的设备型号;

所述测试控制终端,用于根据所述应用标识从应用程序库中下载目标应用程序,并获取部署于远端测试机房中所述设备型号对应的测试机的运行状态

所述测试控制终端,用于向运行状态处于空闲状态的任意目标测试机发送测试指令以及所述目标应用程序的程序文件;

所述目标测试机,用于安装所述目标应用程序,并根据所述测试指令对应的测试流程对所述目标应用程序进行测试。

实施本发明实施例提供的一种应用程序的测试方法及系统具有以下有益效果:

本发明实施例通过在接收到应用程序测试请求时,确定用户所需测试的目标应用程序以及测试该目标应用程序的测试机的设备型号,通过与部署于远端测试机房中的各个测试机的运行状态,确定是否存在与该设备型号对应的测试机是空闲,可用于测试目标应用程序的;若存在与该设备型号且空闲的测试机,则将目标应用程序发送给该测试机,并控制该目标测试机安装该目标应用程序,完成相应的测试操作,实现远距离进行应用程序测试的目的。与现有的应用程序的测试方法相比,由于不同型号的测试机均部署于远端测试机房内,某一应用程序的开发部门需要测试时,只需与该远端测试机房中的测试机进行通信连接即可实现远程测试,不同部门可以通过时分复用的方式共享同一套测试机,降低了测试成本,并且避免了测试机在各个部门之间流转,而导致的效率降低的问题。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本发明第一实施例提供的一种应用程序的测试方法的交互流程图;

图2a是本发明第二实施例提供的一种应用程序的测试方法s104具体实现流程图;

图2b是本发明一实时例提供的应用程序的测试系统的结构框图;

图3是本发明第三实施例提供的一种应用程序的测试方法s104具体实现流程图;

图4是本发明第四实施例提供的一种应用程序的测试方法s104具体实现流程图;

图5是本发明第五实施例提供的一种应用程序的测试方法s102具体实现流程图;

图6是本发明另一实施例提供的一种应用程序的测试系统的结构框图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明实施例通过在接收到应用程序测试请求时,确定用户所需测试的目标应用程序以及测试该目标应用程序的测试机的设备型号,通过与部署于远端测试机房中的各个测试机的运行状态,确定是否存在与该设备型号对应的测试机是空闲,可用于测试目标应用程序的;若存在与该设备型号且空闲的测试机,则将目标应用程序发送给该测试机,并控制该目标测试机安装该目标应用程序,完成相应的测试操作,实现远距离进行应用程序测试的目的,解决了现有的应用程序的测试方法,无法很好地在测试成本以及测试效率之间取得较好的平衡的问题。

在本发明实施例中,流程的执行主体为应用程序的测试系统。该应用程序的测试系统包括有至少一个测试控制终端以及至少一个部署于远端测试机房的测试机,其中,该测试控制终端包括但不限于:服务器、计算机、智能手机以及平板电脑等智能设备,可以通过通信接口或无线网络与测试机相连,并对测试机根据测试流程对测试机进行测试;应用程序的测试系统中的测试机包括但不限于:个人电脑、智能手机以及平板电脑等可安装并运行应用程序的设备。图1示出了本发明第一实施例提供的应用程序的测试方法的交互流程图,详述如下:

在s101中,所述测试控制终端接收应用程序测试请求;所述应用程序测试请求包括:待测试的目标应用程序的应用标识以及用于安装所述目标应用程序的测试机的设备型号。

在本实施例中,测试控制终端与测试机部署于不同的机房之中,其中,测试机部署于远端测试机房,而测试控制终端部署于用户侧,两者通过通信链路进行数据交互,从而用户可通过操作测试控制终端控制位于远端测试机房的测试机,完成对应的测试操作。需要说明的是,远端测试机房内可以安装有多个测试机,不同的测试机之间的设备型号可以相同也可以不同,即同一个设备型号的测试机可以有多个,避免多个用户对同一设备型号的测试机发起应用程序测试请求时,需要等待较长的时间,从而进一步提高了测试的效率。

在本实施例中,远端测试机房可以与不同用户的测试控制终端进行通信链接,即远端测试机房中的测试机可以响应多个不同测试控制终端所发起的应用程序测试请求。不同的测试控制终端同一时间内可以通过远端测试机房中不同的测试机进行对应的应用程序的测试操作,实现同步测试的目的。

在本实施例中,用户可以向测试控制终端发送一个应用程序测试请求,在该应用程序测试请求中添加所需进行测试的应用程序的应用标识,以便测试系统通过该应用标识获取该应用程序的程序文件,还可以将安装该应用程序的测试机的设备型号一并添加到该应用程序测试请求内,由于远端机房中包含了不同设备型号的测试机,例如有以安卓系统为框架的移动终端,有以微软系统为框架的计算机,还有以linux系统为框架的服务器,因此,用户可以从选取一个或多个特定设备型号的测试机,作为所需测试应用程序的测试载体设备。需要说明的是,所选择的应用程序可以为多个,在该情况下,需要为每个应用程序指定对应的安装的测试机的设备型号;所选择的测试机的设备型号也可以为多个,在该情况下,则表示该应用程序需要安装于多个设备型号的测试机内,以测试在不同设备型号的测试机的兼容性。

可选地,在本实施例中,应用程序可以基于可测试的应用程序生成一个应用程序选择页面,通过该应用程序选择页面,用户可以选择所需进行测试的应用程序,测试系统自动根据用户的选择确定各个应用程序的应用标识;基于此,用户可以将所需进行测试的应用程序预先上传至该测试控制终端内,测试控制终端根据用户上传的应用程序更新该应用程序选择页面,从而保证应用程序选择页面的实时性。当然,对于测试机的选择也可以参考上述的方式,生成一个测试机选择页面,在该情况下,测试控制终端获取远端机房包含的测试机的个数以及各个测试机对应的设备信息,在测试机选择页面中显示各个可测试的测试机的设备信息,便于用户选取应用程序的测试载体设备。

在s102中,所述测试控制终端根据所述应用标识从应用程序库中下载目标应用程序,并获取部署于远端测试机房中所述设备型号对应的测试机的运行状态。

在本实施例中,测试控制终端在接收到应用程序测试请求后,会对该测试请求进行解析,获取设备标识以及应用标识。测试控制终端与远端测试机房进行通信连接,并向该远端测试机房的上位机发送运行状态获取指令,远端测试机房通过串行接口获取各个测试机的运行状态,并汇总得到运行状态列表返回给测试控制终端,该测试控制终端根据该运行状态列表查询用户所选的设备型号对应的测试机的状态是否为空闲状态,若是,则执行s103的相关操作。可选地,若该运行状态列表中该设备型号对应的测试机均为占用状态,则向用户返回一个设备占用信息,以提示用户等待其他测试控制终端测试完成后,再重新发起测试请求。

可选地,在本实施例中,若运行状态为空的测试机的个数为多个,则获取各个测试机的运行时间以及资源占用率,基于上述两个参数计算各个测试机的优先级,选取优先级最高的一个测试机作为目标测试机,并执行s103的相关操作。由于运行时间较短的测试机,其缓存中的冗余数据量较小,因此在进行应用程序的测试过程中,可能存在的数据冲突的情况发生概率也会较少,从而提高了应用程序的测试准确率;同样地,资源占用率越低,则因缓存数据溢出而导致的测试机宕机的概率也较低,也能够进一步提高应用程序测试的准确性。基于上述两个理由,测试控制终端会在选取测试机之前确定各个测试机的优先级,并选取优先级最高的测试机作为应用程序的目标测试机。

在本实施例中,测试控制终端在确定测试机运行状态的同时,还可以根据应用标识从应用程序库中下载目标应用程序。其中,该应用程序库可以存储于测试控制终端的本地存储单元内,在该情况下,用户可以预先将所需要测试的目标应用程序发送给测试控制终端,以便测试控制终端予以存储。该应用程序库还可以为一数据库服务器,用于存储各个发开人员开发的应用程序,在该情况下,用户可以先将所需测试的目标应用程序上传至该数据库服务器,在上传完毕后,则向测试控制终端发送应用程序测试指令,继而测试控制终端可以从数据库服务器处获取应用标识对应的目标应用程序。

在s103中,所述测试控制终端向运行状态处于空闲状态的任意目标测试机发送测试指令以及所述目标应用程序的程序文件。

在本实施例中,若远端测试机房中存在状态为空且设备型号与应用程序测试请求匹配的测试机,则测试控制终端会锁定该测试机为目标测试机,并将该目标测试机的运行状态调整为占用状态,以使其他的测试控制终端无法同时请求通过该测试机进行应用程序进行测试,避免重复请求的情况发生。

在本实施例中,测试控制终端为了将待测试的应用程序的程序文件发送给远端测试机房的目标测试机,会先与远端测试机房的上位机建立一条通信链路,并通过该上位机中的桥接器,将上述通信链路以及上位机与测试机之间的串行链路进行桥接,从而建立了测试控制终端与测试机之间的通信链接,并将在s102中获取得到的应用程序通过该通信链接发送给测试机。

在本实施例中,测试控制终端还可以通过该通信链路向目标测试机发送测试指令,以便目标测试机可以基于该测试指令完成对应的测试流程,输出对应的测试结果。需要说明的是,测试指令以及目标应用程序可以同时进行发送,也可以根据用户的测试需求,分别发送给目标测试机。

在s104中,所述目标测试机安装所述目标应用程序,并根据所述测试指令对应的测试流程对所述目标应用程序进行测试。

在本实施例中,测试控制终端可以通过通信链接向测试机发送应用程序安装指令,以实现控制测试机安装目标应用程序,待应用程序安装完毕后,测试控制终端可以通过激活指令,启动安装于测试机上的目标应用程序,并执行后续的测试操作。具体地,测试控制终端存储有一运行参数采集模板,该运行参数采集模板中每个运行参数项均对应有一个测试脚本,测试控制终端会基于该测试脚本分别在测试机上运行,以获取该测试脚本所需采集的运行参数,并将测试后的数据导入到该运行参数采集模板中,并在采集完毕后,生成一个测试参数采集结果,并将该测试参数采集结果输出给用户,以便用户查阅相关的测试结果,判断应用程序是否异常。

可选地,在本实施例中,测试控制终端对目标应用程序执行测试操作的具体过程可以为:当需要对应用程序进行压力测试时,即测试应用程序在测试机的资源占用率较高时运行的稳定情况,测试控制终端会激活安装于测试机上的其他应用程序,并将多个应用程序循环激活至前台运行,以判断目标应用程序是否出现崩溃退出的情况。

可选地,在本实施例中,测试完成后,测试控制终端会通过通信链接控制测试机,卸载目标应用程序,以避免测试机在多次测试后应用程序过多而影响后续的测试操作。

以上可以看出,本发明实施例提供的一种应用程序的测试方法通过在接收到应用程序测试请求时,确定用户所需测试的目标应用程序以及测试该目标应用程序的测试机的设备型号,通过与部署于远端测试机房中的各个测试机的运行状态,确定是否存在与该设备型号对应的测试机是空闲,可用于测试目标应用程序的;若存在与该设备型号且空闲的测试机,则将目标应用程序发送给该测试机,并控制该测试机安装该目标应用程序,完成相应的测试操作,实现远距离进行应用程序测试的目的。与现有的应用程序的测试方法相比,由于不同型号的测试机均部署于远端测试机房内,某一应用程序的开发部门需要测试时,只需与该远端测试机房中的测试机进行通信连接即可实现远程测试,不同部门可以通过时分复用的方式共享同一套测试机,降低了测试成本,并且避免了测试机在各个部门之间流转,而导致的效率降低的问题。

图2a示出了本发明第二实施例提供的一种应用程序的测试方法s104的具体实现流程图。参见图2a所示,相对于图1述实施例,本实施例提供的一种应用程序的测试方法中s104包括:s201~s206,具体详述如下:

进一步地,所述应用程序的测试系统还包括继电装置以及模拟用户终端,所述继电装置部署于所述目标测试机与所述模拟用户终端之间的串行链路,以改变所述串行链路的通断状态,根据所述测试指令对应的测试流程对所述目标应用程序进行测试,包括:

在s201中,所述测试控制终端向所述模拟用户终端发送调试启动指令。

在本实施例中,对目标应用程序的测试过程中,为了确定应用程序是否能够接收并响应调试指令,可以通过建立模拟用户终端与目标测试机之间的串行链路,通过模拟用户终端对目标测试机进行串口调试操作,例如,若目标测试机为搭载安卓系统的终端设备,则该调试指令可以为调试桥(androiddebugbridge,adb)指令,通过adb指令检测目标测试机在运行该应用程序的过程中,各个端口是否能够与模拟用户终端进行数据交互。

图2b为本发明一实施例提供的应用程序的测试系统的结构框图。参见图2b所示,该应用程序的测试系统包括有部署于用户机房的测试控制终端21以及部署于远端测试机房的目标测试机22、模拟用户终端23以及继电装置24。其中,测试控制终端21通过通信链路分别与目标测试机22、模拟用户终端23以及继电装置24相连,可实现对上述三类设备进行控制。目标测试机22以及模拟用户终端23之间通过串行接口相连,上述两者的串行链路上配置有继电装置24,该继电装置可以根据测试控制终端发送的开关指令,控制该串行链路的通断状态,即相当于该串行链路的开关装置。

在本实施例中,当该应用程序需要进行调试测试流程,则终端控制装置会向模拟用户终端发送一个调试启动指令,模拟用户终端在接收到该调试启动指令后,会激活该模拟用户终端与目标测试机之间的串行链路,并执行调试测试流程。

在s202中,所述模拟用户终端通过所述串行链路向所述目标测试机发送调试实例。

在s203中,所述目标测试机基于接收到的所述调试实例对所述目标应用程序进行测试,并向所述模拟用户终端返回所述关于所述调试实例的调试结果。

在本实施例中,模拟用户终端在接收到调试启动指令后,会检测该调试启动指令中包含的目标应用程序的应用标识以及目标测试机的设备标识,继而通过设备标识确定与该目标测试机之间的串行链路,并激活该串行链路,例如通过该串行链路发送一个调试启动指令给目标测试机,在串行链路建立完毕后,模拟用户终端会检测该目标测试机上是否已经安装有目标应用程序,若已经安装完毕,则将该目标应用程序激活至前台运行,至此,应用程序的调试准备操作则完毕,可以执行s202的相关操作。

在本实施例中,模拟用户终端可以从预设的测试用例库内提取调试实例,并通过该串行链路向目标测试机发送调试实例。目标测试机在接收到该调试实例后,会根据调试实例中的调试内容,获取目标应用程序关于各个调试内容的调试数据,并在所有调试内容均执行完毕后,生成该调试实例的调试结果,并将该调试结果返回给用户终端。

在本实施例中,由于调试实例的数据可以为多个,且执行调试操作的过程需要保持模拟用户终端与目标测试机之间的串行链路处于连通状态,以便接收关于调试实例的调试结果。目标测试机在完成一个调试实例后,可以直接返回一个测试结果给模拟用户终端,还可以将所有调试实例均运行完毕后,将各个调试实例对应的调试结果一并封装为数据包,通过串行链路返回给模拟用户终端。优选地,模拟用户终端可以通过串行链路直接获取目标测试机输出的运行调试数据,并基于调试数据在模拟用户终端侧生成调试结果。

在s204中,若所述测试控制终端接收到所述模拟用户终端反馈的链路异常信息,则向所述继电装置发送重上电指令。

在本实施例中,若模拟用户终端与目标测试机在进行调试的过程中,模拟用户终端检测到该串行链路异常,例如数据中断或请求无应答,则可以向测试终端返回一个链路异常信息,以便测试控制终端对该串行链路进行异常响应操作。该链路异常信息包含有目标测试终端的设备标识,基于该设备标识测试控制终端可以确定该串行链路对应的继电装置。

可选地,该继电装置可以部署于多个模拟用户终端与测试机之间的串行链路上,在该情况下,该继电装置包含多对连通端口,每对连通端口配置有一个通断状态开关,继电装置可以通过控制该通断状态开关,来实现对该连通端口所在的串行链路的通断控制。在该情况下,测试控制终端除了需要确定继电装置的设备编号外,还需要确定继电装置的开关编号,基于开关编号以及设备编号生成重上电指令。

在本实施例中,测试控制装置可以存储有测试机与继电装置的对应关系表,根据该对应关系表以及链路异常信息中包含的设备标识,确定该目标测试机对应的继电装置,并生成重上电指令,并发送给继电装置。可选地,测试控制终端可以通过互联网服务器与继电装置的上位机进行通信,并向该上位机发送重上电指令,该上位机驱动继电装置的下位机,从而改变继电装置对应开关的通断状态,以响应该重上电指令。

在s205中,所述继电装置响应所述重上电指令执行重上电操作,并重新建立所述模拟用户终端与所述目标测试机的串行链路。

在本实施例中,继电装置在接收到重上带你指令后,则改变该串行链路的通断状态,具体地,该重上电操作可以为:继电装置将串行链路的开关打开,以中断整条串行链路的物理链路,并在预设时间后重新闭合该串行链路的开关,以重新是的串行链路的物理链路连通。通过上述重上电操作,则可以模拟串行接口在目标测试机进行插拔操作,从而使得串行链路可以重新建立。

由于本实施例提供的是一种远程测试方案,即远端测试机房并不一定存在配合测试的实体用户,而现有的串行接口调试过程,在遇到串行链路异常需要重新建立链路时,现有技术中往往需要安排管理员执行现场的插拔操作,这也需要浪费较大的人力成本以及不便于远程测试的实现,基于上述原因,本实施例通过在目标测试机与模拟用户终端之间配置继电装置,以通过控制链路通断模拟插拔操作,解决了现有技术中存在的问题,提高了测试效率。

在s206中,所述模拟用户终端通过重新建立的所述串行链路向所述目标测试机发送应用调试请求,并重新执行所述向所述目标测试机发送调试实例。

在本实施例中,在物理链路重新建立后,为了再次执行调试流程,还需要重新发送应用调试请求,以实现软件层面上对该串行链路进行激活。在该串行链路在物理层面以及软件层面上均已连通后,模拟用户终端可以重新执行对目标测试机内的目标应用程序进行调试流程,因此会返回执行向所述目标测试机发送调试实例,需要说明的是,若部分调试实例已测试完毕,则无需重复发送,只需发送未完成的调试实例即可。

在本发明实施例中,通过在模拟用户终端以及目标测试机的串行链路上配置继电装置,可以模拟用户对串行接口进行插拔的操作,从而解决在通过串行链路对应用程序进行调试时因链路异常,而需要开发人员手动插拔串行接口,降低测试效率的问题,提高了远程测试的可测试内容。

图3示出了本发明第三实施例提供的一种应用程序的测试方法的具体实现流程图。参见图3所示,相对于图1所述实施例,本实施例提供的一种应用程序的测试方法中s104包括:s301~s303,具体详述如下:

进一步地,若所述测试指令包括人脸测试指令,则所述根据所述测试指令对应的测试流程对所述目标应用程序进行测试,包括:

在s301中,所述测试控制终端获取所述目标测试机内置摄像模块的分辨率信息。

在本实施例中,若目标测试机需要响应人脸测试指令时,则需要获取人脸图像,以便通过该人脸图像响应该人脸测试指令的测试内容。例如,进行人脸识别判断当前用户是否为合法用户,或者进行人脸采集,录入合法用户的人脸信息等相关功能的测试时,则需要采集人脸图像,对于上述需要通过人脸图像进行测试的功能项目,则会生成对应的人脸测试指令给目标测试机,以判定上述功能是否正常。

在本实施例中,测试控制终端在检测到目标测试机需要响应人脸测试指令时,会采集该目标测试机内置摄像模块的分辨率信息。由于目标测试机所在的远端机房并不一定存在实体用户,因此需要借助其他设备来获取人脸图像,基于此,需要通过分辨率信息来调整其他设备的人脸图像的分辨率,以使得传输过来的人脸图像与该目标测试机的摄像模块相匹配。

在s302中,所述测试控制终端通过本地摄像模块获取当前操作用户的人脸图像,并基于所述分辨率信息调整所述人脸图像的分辨率,并将调整后的所述人脸图像发送给所述目标测试机。

在本实施例中,测试控制终端在确定了目标测试机的分辨率信息后,可以通过测试控制终端在本地部署的摄像模块获取当前操作用户的人脸图像,由于测试控制终端放置于用户机房,即该用户机房内存在发起应用程序的测试操作的操作用户,基于此,测试控制终端可以通过本地摄像模块采集当前操作用户的人脸图像,并通过该人脸图像进行转换后,发送给目标测试机以完成人脸测试指令。

可选地,该测试控制终端以及目标测试机之间的通信链路可以为实时数据传输链路,通过实时传输协议等将测试控制终端本地摄像模块获取到的图像数据即时传输给目标测试机,以响应如视频通话测试、直播功能测试等需要实时图像数据的测试请求。

在本实施例中,测试控制终端在获取了人脸图像后,会根据目标测试机的分辨率信息调整该人脸图像的分辨率,以使调整后的人脸图像与目标测试机的摄像模块相匹配。

在s303中,所述目标测试机基于调整后的所述人脸图像响应所述人脸测试指令。

在本实施例中,目标测试机接收到调整后的人脸图像后,可以将该调整后的人脸图像作为人脸测试指令的输入信号,并执行该人脸测试指令对应测试流程的测试操作。

在本发明实施例中,通过测试控制终端采集人脸图像,并根据目标测试机的分辨率调整人脸图像的分辨率,以响应人脸测试指令,从而即便远端测试机房内不存在实体用户,也能够完成人脸相关的测试操作,从而提高了可测试内容的范围,提高了测试效率。

图4示出了本发明第四实施例提供的一种应用程序的测试方法s104的具体实现流程图。参见图4所示,相对于图1-图3所述实施例,本实施例提供的一种应用程序的测试方法中s104包括:s401~s402,具体详述如下:

进一步地,所述根据所述测试指令对应的测试流程对所述目标应用程序进行测试,包括:

在s401中,所述测试控制终端向所述目标测试机发送触控模拟程序,并控制所述目标测试机安装所述触控模拟程序。

在本实施例中,由于远端测试的过程中,大部分的点击操作可以通过发送对应的指令完成,但对于需要进行滑动操作的测试项目则无法通过控制指令来进行模拟。基于此,测试控制终端会向目标测试机发送一个触控模拟程序,例如monkey测试程序,并控制测试机安装该触控模拟程序,以使目标测试机上能够模拟滑动轨迹的功能,完成所需进行滑动轨迹的测试操作。

在s402中,所述目标测试机在所述目标应用程序的界面中激活所述触控模拟程序,生成随机触控指令,并获取所述目标应用程序在所述随机触控指令下的运行参数。

在本实施例中,测试控制终端控制测试机显示目标应用程序的操作界面,并在该操作界面的基础上激活在s1041中安装的触控模拟程序,并通过该触控模拟程序在应用程序的界面上模拟触控操作,并记录下模拟触控操作下目标应用程序的运行参数,基于该运行参数识别该目标应用程序的性能指标是否达到预设的测试目的,判断目标应用程序的测试是否通过。

在本发明实施例中,通过安装触控模拟程序,以实现在远端测试的过程中依然可以进行需要滑动轨迹的测试项目,提高了应用程序的测试方法的适应领域以及适用范围。

图5示出了本发明第五实施例提供的一种应用程序的测试方法s102的具体实现流程图。参见图5所示,相对于图1-图3所述实施例,本实施例提供的一种应用程序的测试方法中s102包括:s1021~s1022,具体详述如下:

在s1021中,所述测试控制终端向远端测试机房中的各个所述测试机发送占用探测帧。

在本实施例中,测试机若在进行测试的过程中,其串行接口会处于占用状态,且与其他应用程序的测试控制终端的接口相连,即处于占用状态的测试机无法应答其他设备发送的数据。基于此,为了获取各个测试机的运行状态,应用程序的测试控制终端会向远端机房发送一个占用探测帧,测试机若接收到该占用探测帧会向应用程序的测试控制终端返回一个应答帧,从而根据测试机是否返回应答帧则可以确定该测试机是否处于测试状态。

在s1022中,所述测试控制终端基于各个所述测试机返回的占用状态帧,确定各个所述测试机的运行状态。

在本实施例中,若测试机能够根据占用探测帧返回占用状态帧,则表示该测试机处于空闲状态,反之,若该测试机无法应答测试探测帧,则表示该测试机处于占用状态,从而应用程序的测试控制终端可以识别得到各个测试机的运行状态。

在本发明实施例中,通过向测试机发送占用探测帧,检测各个测试机的运行状态,实现方式简单,提高了测试机运行状态的确定效率。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

图6示出了本发明一实施例提供的一种应用程序的测试控制终端的结构框图,该应用程序的测试系统包括的各设备用于执行图1对应的实施例中的各步骤。具体请参阅图1与图1所对应的实施例中的相关描述。为了便于说明,仅示出了与本实施例相关的部分。

参见图6,所述应用程序的测试系统60包括:测试控制终端61以及部署于远端测试机房的至少一个测试机620;

所述测试控制终端61,用于接收应用程序测试请求;所述应用程序测试请求包括:待测试的目标应用程序的应用标识以及用于安装所述目标应用程序的测试机的设备型号;

所述测试控制终端61,用于根据所述应用标识从应用程序库中下载目标应用程序,并获取部署于远端测试机房中所述设备型号对应的测试机620的运行状态;

所述测试控制终端61,用于向运行状态处于空闲状态的任意目标测试机621发送测试指令以及所述目标应用程序的程序文件;

所述目标测试机621,用于安装所述目标应用程序,并根据所述测试指令对应的测试流程对所述目标应用程序进行测试。

可选地,所述应用程序的测试系统还包括继电装置以及模拟用户终端,所述继电装置部署于所述目标测试机621与所述模拟用户终端61之间的串行链路,以改变所述串行链路的通断状态;所述目标测试机621,用于执行所述测试指令的测试操作,包括:

所述测试控制终端61,用于向所述模拟用户终端发送调试启动指令;

所述模拟用户终端,用于通过所述串行链路向所述目标测试机621发送调试实例;

所述目标测试机621基于接收到的所述调试实例对所述目标应用程序进行测试,并向所述模拟用户终端返回所述关于所述调试实例的调试结果;

所述测试控制终端61,用于若接收到所述模拟用户终端反馈的链路异常信息,则向所述继电装置发送重上电指令;

所述继电装置,用于响应所述重上电指令执行重上电操作,并重新建立所述模拟用户终端与所述目标测试机621的串行链路;

所述模拟用户终端,用于通过重新建立的所述串行链路向所述目标测试机621发送应用调试请求,并重新执行所述向所述目标测试机621发送调试实例。

可选地,若所述测试指令包括人脸测试指令,则所述目标测试机621,用于根据所述测试指令对应的测试流程对所述目标应用程序进行测试,包括:

所述测试控制终端61,用于获取所述目标测试机621内置摄像模块的分辨率信息;

所述测试控制终端61,用于通过本地摄像模块获取当前操作用户的人脸图像,并基于所述分辨率信息调整所述人脸图像的分辨率,并将调整后的所述人脸图像发送给所述目标测试机621;

所述目标测试机621,用于基于调整后的所述人脸图像响应所述人脸测试指令。

可选地,所述目标测试机621,用于执行所述测试指令的测试操作,包括:

所述测试控制终端61,用于向所述目标测试机621发送触控模拟程序,并控制所述目标测试机621安装所述触控模拟程序;

所述目标测试机621,用于在所述目标应用程序的界面中激活所述触控模拟程序,生成随机触控指令,并获取所述目标应用程序在所述随机触控指令下的运行参数。

可选地,所述测试控制终端61,用于获取部署于远端测试机房中所述设备型号对应的测试机620的运行状态,包括:

所述测试控制终端61,用于向远端测试机房中的各个所述测试机620发送占用探测帧;

所述测试控制终端61,用于基于各个所述测试机620返回的占用状态帧,确定各个所述测试机的运行状态。

因此,本发明实施例提供的应用程序的测试控制终端同样可以只需与该远端测试机房中的测试机进行通信连接即可实现远程测试,不同部门可以通过时分复用的方式共享同一套测试机,降低了测试成本,并且避免了测试机在各个部门之间流转,而导致的效率降低的问题。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

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