智能终端软件的压力测试方法、装置和系统的制作方法

文档序号:6500809阅读:201来源:国知局
智能终端软件的压力测试方法、装置和系统的制作方法
【专利摘要】本申请公开了一种智能终端软件的压力测试方法、装置和系统,包括:接收智能终端软件及其测试脚本和测试机型列表;根据所述测试机型列表选定连接在云端的对应机型的智能终端;将所述智能终端软件及其测试脚本发送给所选定的智能终端;对所选定的智能终端进行测试控制,该测试控制包括:安装运行所述智能终端软件,并针对该智能终端软件,按照指定的次数重复回放所述测试脚本以实现压力测试。利用本发明,可以提高压力测试所能覆盖的智能机型数量,提高测试速度和测试效率。
【专利说明】智能终端软件的压力测试方法、装置和系统

【技术领域】
[0001] 本申请涉及信息处理【技术领域】,尤其涉及一种智能终端软件的压力测试方法、装 置和系统。

【背景技术】
[0002] 目前具有数据计算处理功能的智能终端被应用得越来越广泛,包括但不限于智能 手机、掌上电脑、平板电脑、智能电视(Smart TV)等。通常,这些智能终端上都安装有操作 系统,例如常见的便携操作系统有:安卓(Android)操作系统、塞班(Symbian)操作系统、 Windows mobile操作系统、以及苹果iPhone 0S操作系统等等。基于智能终端的操作系统, 可以加载运行各种应用程序(APP,Application),这些应用程序有操作系统自带的,但大部 分应用程序都是独立于操作系统的第三方应用程序。
[0003] 为了测试智能终端软件(包括操作系统和应用程序)在特定场景下耐受力,目前需 要对智能终端软件进行特定场景下的压力测试。所谓特定场景下的压力测试,就是在特定 的硬件软件场景下对智能终端软件反复多次执行同一个或同几个动作,从而查看智能终端 软件对这一个或几个动作的耐受力。所述特定的硬件软件场景包括但不限于智能终端的机 型(不同的机型其硬件分辨率、性能以及操作系统版本都有可能不同)、需要执行的软件测 试动作等。例如,对于手机相机APP软件,需要测试在各种不同智能终端机型的情况下快速 重复执行多次拍照动作,从而查看该相机APP是否会出现异常以及何种异常等;再例如,对 于手机操作系统软件,需要测试在各种不同智能终端机型上快速重复执行多次拨打电话的 动作,从而查看手机操作系统是否会出现异常以及何种异常等等。
[0004] 现有技术中,对智能终端软件进行压力测试的方式主要是由开发人员手工进行, 即针对某个智能终端软件,开发人员选定需要测试的智能终端的机型,然后在该智能终端 上录制特定场景下的测试脚本,即录制一个或一个以上的操作动作,然后在该智能终端上 多次执行该测试脚本,从而查看该软件在该种机型的智能终端上多次执行所述操作动作时 的耐受力。当需要对该软件在另一种机型的智能终端上进行压力测试时,需要由开发人员 人工重新选定需要测试的智能终端机型,重复执行上述过程。
[0005] 但是,由于目前智能终端的机型众多,开发人员手边可供测试的智能终端机型往 往很少,因此,这种压力测试方式覆盖的智能终端的机型较少,开发人员往往很难提供对智 能终端软件进行压力测试的特定的硬件软件场景。同时,即使开发人员手边有众多智能终 端机型,但是针对每种机型都要人工重复上述测试过程,因此存在测试时间长、测试效率低 下、人力成本高的缺点。


【发明内容】

[0006] 有鉴于此,本发明的主要目的在于提供一种智能终端软件的压力测试方法,以提 高压力测试所能覆盖的智能机型数量,提高测试速度和测试效率。
[0007] 本发明的又一主要目的在于提供一种智能终端软件的压力测试装置,以提高压力 测试所能覆盖的智能机型数量,提高测试速度和测试效率。
[0008] 本发明的再一主要目的在于提供一种智能终端软件的压力测试系统,以提高压力 测试所能覆盖的智能机型数量,提高测试速度和测试效率。
[0009] 本发明的技术方案是这样实现的:
[0010] 一种智能终端软件的压力测试方法,包括:
[0011] 接收智能终端软件及其测试脚本和测试机型列表;
[0012] 根据所述测试机型列表选定连接在云端的对应机型的智能终端;
[0013] 将所述智能终端软件及其测试脚本发送给所选定的智能终端;
[0014] 对所选定的智能终端进行测试控制,该测试控制包括:安装运行所述智能终端软 件,并针对该智能终端软件,按照指定的次数重复回放所述测试脚本以实现压力测试。
[0015] 一种智能终端软件的压力测试装置,包括:
[0016] 接收模块,用于接收智能终端软件及其测试脚本和测试机型列表;
[0017] 选择模块,用于根据所述测试机型列表选定连接在云端的对应机型的智能终端;
[0018] 传送模块,用于将所述智能终端软件及其测试脚本发送给所选定的智能终端;
[0019] 控制模块,用于对所选定的智能终端进行测试控制,该测试控制包括:安装运行所 述智能终端软件,并针对该智能终端软件,按照指定的次数重复回放所述测试脚本以实现 压力测试。
[0020] 一种智能终端软件的压力测试系统,包括:
[0021] 用户端装置,用于录制智能终端软件的测试脚本,确定测试机型列表,并向测试服 务器上传智能终端软件及其测试脚本和测试机型列表;
[0022] 测试服务器,用于接收智能终端软件及其测试脚本和测试机型列表,根据所述测 试机型列表选定连接在云端的对应机型的智能终端,以及选定连接所述智能终端机型的云 端测试设备,向所选定的云端测试设备发送测试任务信息,所述测试任务信息包括所述智 能终端软件及其测试脚本以及连接该云端测试设备的测试机型列表;
[0023] -个以上云端测试设备,用于连接一个以上不同机型的智能终端,在收到所述测 试任务信息后,选定所述测试机型列表中列出的与本设备连接的智能终端,将所述智能终 端软件及其测试脚本发送到所述选定的智能终端,对所选定的智能终端进行测试控制,该 测试控制包括:安装运行所述智能终端软件,并针对该智能终端软件,按照指定的次数重复 回放所述测试脚本以实现压力测试。
[0024] 与现有技术相比,本发明接收开发人员上传的智能终端软件及其测试脚本和测试 机型列表,再根据所述测试机型列表选定连接在云端的对应机型的智能终端,将所述智能 终端软件及其测试脚本发送给所选定的智能终端;最后对所选定的智能终端进行测试控 制,该测试控制包括:安装运行所述智能终端软件,并针对该智能终端软件,按照指定的次 数重复回放所述测试脚本以实现压力测试。由于本发明的用于测试的智能终端都连接在云 端,而云端的特点是可供测试的机型广泛,数量众多,因此本发明可以提高压力测试所能覆 盖的智能机型数量,方便向开发人员提供对智能终端软件进行压力测试的特定的硬件软件 场景。而且,本发明在开发人员上传智能终端软件及其测试脚本和测试机型列表后,在云端 自动按照指定的次数重复回放所述测试脚本,从而实现压力测试,压力测试的过程不需要 开发人员人工干预,因此提高了测试速度和测试效率,降低相关的人力成本。

【专利附图】

【附图说明】
[0025] 图1为本发明所述智能终端软件的压力测试方法的一种流程图;
[0026] 图2为本发明所述一种智能终端软件的压力测试装置的组成示意图;
[0027] 图3为本发明所述智能终端软件的压力测试装置的又一组成示意图;
[0028] 图4为本发明所述智能终端软件的压力测试系统的一种组成示意图;
[0029] 图5为本发明所述智能终端软件的压力测试系统的又一种组成示意图。

【具体实施方式】
[0030] 下面结合附图及具体实施例对本发明再作进一步详细的说明
[0031] 图1为本发明所述智能终端软件的压力测试方法的一种流程图;参见图1,该方法 具体包括:
[0032] 步骤101、接收智能终端软件及其测试脚本和测试机型列表。
[0033] 本发明中,所述智能终端是指具有数据计算处理功能的智能终端,包括但不限于 智能手机、掌上电脑、平板电脑、智能电视(Smart TV)等。这些智能终端上都安装有操作系 统,包括但不限于:Android操作系统、Symbian操作系统、Windows mobile操作系统、以及 苹果iPhone 0S操作系统等等。所述的被测的智能终端软件可以是操作系统,也可以是基 于所述操作系统可以在所述智能终端中运行的应用程序(APP)。本文所述的实施例中,具体 以所述被测智能终端软件为基于andriod操作系统的APP为例说明具体的技术细节。
[0034] 本发明所述的压力测试,是为了测试智能终端软件在特定场景下耐受力,所谓特 定场景下的压力测试,就是在特定的硬件软件场景下对智能终端软件反复多次执行同一个 或同几个动作,从而查看智能终端软件对这一个或几个动作的耐受力。所述特定的硬件软 件场景包括但不限于智能终端的机型(不同的机型其硬件分辨率、性能以及操作系统版本 都有可能不同)、需要执行的软件测试动作等。例如,对于手机相机APP软件,需要测试在各 种不同智能终端机型的情况下快速重复执行多次拍照动作,从而查看该相机APP是否会出 现异常以及何种异常等;再例如,对于手机操作系统软件,需要测试在各种不同智能终端机 型上快速重复执行多次拨打电话的动作,从而查看手机操作系统是否会出现异常以及何种 异常等等。
[0035] 在步骤101中,所述智能终端软件是开发人员所开发的需要测试的被测智能终端 软件,所述测试脚本是开发人员自行录制的一段测试脚本。所述测试脚本是一种程序代码, 该程序代码可以被智能终端自动运行,用于自动测试被测软件的各项功能。例如对于基于 android操作系统的被测APP,与该被测APP关联的自动测试APP的自动测试脚本可以利用 Instrumentation框架进行编写。所述Instrumentation是google官方为android操作系 统测试提供的一种技术,该技术是一系列对android操作系统进行控制的方法的集合,可 以在基于android的APP的正常生命周期之外独立地控制android应用的各个组件。因此 利用Instrumentation可以方便地编写出对被测APP的自动测试脚本,而且自动测试脚本 运行后可以由Instrumentation框架提供测试结果。至于所述测试脚本的具体内容,需要 根据被测智能终端软件的功能和测试人员的测试需求确定。
[0036] 另外,所述测试机型列表也是由开发人员选定的希望进行压力测试的智能终端机 型列表,可以预先将云端所支持的所有智能终端机型信息提供给开发人员,开发人员可以 从中选择任意机型上传以进行压力测试。所述开发人员可以将智能终端软件及其测试脚本 和测试机型列表上传给测试服务器,由该测试服务器接收智能终端软件及其测试脚本和测 试机型列表。
[0037] 步骤102、根据所述测试机型列表选定连接在云端的对应机型的智能终端。
[0038] 本发明所述用于测试的一个以上的不同机型的智能终端连接在云端,所述云端具 体包括云端测试设备。所述云端测试设备通常可以是设置在云端的一台或多台计算机,每 台计算机通过多条数据线连接多个不同机型的智能终端,这些智能终端中预先安装有驱动 程序,该驱动程序用于与所述云端测试设备进行通信,并可驱动智能终端执行云端测试设 备的控制指令。由于云端需要具备的智能终端型号众多,一台计算机可能没有足够的接口 无法连接所有型号的智能终端,因此通常所述作为云端测试设备的计算机可能会有多台, 通常采用集群计算机设置,每一台计算机都连接有多种型号的智能终端。每台云端测试设 备都连接哪些型号的智能终端的信息可以都汇总在一个记录表中,存储在测试服务器中, 步骤102可以由测试服务器执行。通过该记录表,测试服务器可以选定所述测试机型列表 中包括的对应机型的智能终端连接在哪个云端测试设备上。
[0039] 步骤103、将所述智能终端软件及其测试脚本发送给所选定的智能终端。
[0040] 本步骤中,具体包括:根据所述测试机型列表所选定的对应机型的智能终端,查找 这些智能终端都连接在哪台云端测试设备上,即选定连接有所选定的智能终端的云端测试 设备,向所选定的云端测试设备发送测试任务信息,所述测试任务信息包括:所述被测的智 能终端软件及其测试脚本以及连接该云端测试设备的测试机型列表。所述测试任务信息中 可以直接包括所述智能终端软件,也可以是包括该智能终端软件的下载地址,由云端测试 设备可以根据该下载地址下载该智能终端软件。例如接收到的开发人员所选的测试机型列 表中包括机型1、机型2、机型5、机型6、机型7,如果机型1和机型2与云端测试设备1连 接,机型5、机型6、机型7与云端测试设备2连接,那么选定云端测试设备1和云端测试设 备2 ;分别向这两个云端测试设备发送测试任务,其中给云端测试设备1发送的测试任务信 息中包括连接该云端测试设备1的机型列表即机型1和机型2,给云端测试设备2发送的测 试任务信息中包括连接该云端测试设备2的机型列表即机型5、机型6和机型7。所述云端 测试设备1接收到测试任务后,与所述机型1和机型2的智能终端建立通信,将所述智能终 端软件和测试脚本发送给该机型1和机型2的智能终端,所述云端测试设备2接收到测试 任务后,与所述机型5、机型6和机型7的智能终端建立通信,将所述智能终端软件和测试脚 本发送给该机型5、机型6和机型7的智能终端。
[0041] 步骤104、对所选定的智能终端进行测试控制,该测试控制包括:安装运行所述智 能终端软件,并针对该智能终端软件,按照指定的次数重复回放所述测试脚本以实现压力 测试。所述指定的次数可以是默认设置的,也可以由开发人员设置并上传到测试服务器,并 由测试服务器连同所述测试任务信息发送给对应的云端测试设备。
[0042] 此处需要预先在所述需要进行测试控制的智能终端上安装驱动程序,可以给该驱 动程序发出控制指令,从而控制该智能终端。
[0043] 例如上述例子中,所述云端测试设备1分别对该机型1和机型2的智能终端进行 所述测试控制。所述云端测试设备2分别对该机型5、机型6和机型7的智能终端进行所述 测试控制。也就是说针对所述测试机型列表中所列出的每一种机型的智能终端,都要对该 智能终端进行所述测试控制,即:安装运行所述智能终端软件,并针对该智能终端软件,按 照指定的次数重复回放所述测试脚本以实现压力测试。
[0044] 在一种具体实施例中,步骤104中所述针对所述智能终端软件,按照指定的次数 重复回放所述测试脚本以实现压力测试,具体包括:分析所述测试脚本的内容,根据该测试 脚本的内容部署所述智能终端的测试场景,例如如果测试脚本要测试图片浏览软件的图片 播放功能,则需要在所述智能终端上部署被播放的图片样本;如果要测试手机的拨号功能, 则在手机上部署指定的测试电话号码,供测试脚本拨打所述测试电话号码等等,然后在所 述测试场景中,按照指定的次数重复回放所述测试脚本,从而完成在指定的智能终端机型 中,在特定场景下对被测智能终端软件进行压力测试。
[0045] 在另一种具体实施例中,步骤104中所述针对所述智能终端软件,在按照指定的 次数重复回访所述测试脚本时,还可以进一步包括:控制所述智能终端监听该智能终端软 件在该智能终端中的运行状态,例如该智能终端软件是否发生错误、是否崩溃等信息,并记 录所监听到的运行状态信息;从所述运行状态信息中分析出所述压力测试的结果。通常,所 述监听到的运行状态信息会记录在该智能终端的日志(如手机日志)中;因此,所述从运行 状态信息中分析出所述压力测试的结果的具体方法包括:读取并分析所述智能终端日志, 从中找到所述智能终端软件标识(通常是软件包的包名)对应的日志信息,该日志信息中包 括该智能终端软件在该智能终端中的运行状态信息,根据该运行状态信息分析出压力测试 正常或异常的信息。
[0046] 在进一步的实施例中,所述针对所述智能终端软件,在按照指定的次数重复回访 所述测试脚本时,还可以进一步包括:监听所述智能终端的运行状态,例如该监听该智能终 端本身是否发生中断、死机、重启等故障状态,将监听到的该智能终端的运行状态信息作为 所述压力测试的一部分测试结果。
[0047] 进一步的,该方法还可以进一步包括:将所述智能终端软件在所选定的智能终端 的压力测试结果保存在指定存储模块,根据查看请求,从所述存储模块中读取所请求的压 力测试结果并输出显示。也就是说,对于每种选中的智能终端机型所进行的针对被测智能 终端软件的压力测试结果,都存储在指定的存储模块(如数据库)中,其中每条记录可以包 括:被测的智能终端软件、被测机型、测试脚本的编号或内容、以及对应的压力测试结果,从 而可以供后续随时访问这些压力测试结果。
[0048] 通过本发明,可以接收开发人员上传的智能终端软件及其测试脚本和测试机型列 表,再根据所述测试机型列表选定连接在云端的对应机型的智能终端,将所述智能终端软 件及其测试脚本发送给所选定的智能终端;最后对所选定的智能终端进行测试控制,该测 试控制包括:安装运行所述智能终端软件,并针对该智能终端软件,按照指定的次数重复回 放所述测试脚本以实现压力测试。由于本发明的用于测试的智能终端都连接在云端,而云 端的特点是可供测试的机型广泛,数量众多,因此本发明可以提高压力测试所能覆盖的智 能机型数量,方便向开发人员提供对智能终端软件进行压力测试的特定的硬件软件场景。 而且,本发明在开发人员上传智能终端软件及其测试脚本和测试机型列表后,在云端自动 按照指定的次数重复回放所述测试脚本,从而实现压力测试,压力测试的过程不需要开发 人员人工干预,因此提高了测试速度和测试效率,降低相关的人力成本。
[0049] 与本发明所述的方法对应,本发明还公开了一种智能终端软件的压力测试装置, 用于执行本发明所述的方法。图2为本发明所述一种智能终端软件的压力测试装置的组成 示意图。参见图2,该装置包括:
[0050] 接收模块201,用于接收智能终端软件及其测试脚本和测试机型列表。
[0051] 所述智能终端软件是开发人员所开发的需要测试的被测智能终端软件,所述测试 脚本是开发人员自行录制的一段测试脚本。所述测试机型列表也是由开发人员选定的希望 进行压力测试的智能终端机型列表,可以预先将云端所支持的所有智能终端机型信息提供 给开发人员,开发人员可以从中选择任意机型上传以进行压力测试。所述智能终端软件及 其测试脚本和测试机型列表由开发人员上传。
[0052] 选择模块202,用于根据所述测试机型列表选定连接在云端的对应机型的智能终 端。
[0053] 传送模块203,用于将所述智能终端软件及其测试脚本发送给所选定的智能终端。
[0054] 控制模块204,用于对所选定的智能终端进行测试控制,该测试控制包括:安装运 行所述智能终端软件,并针对该智能终端软件,按照指定的次数重复回放所述测试脚本以 实现压力测试。为了对所选定的智能终端进行控制,需要预先在该智能终端上安装驱动程 序,可以给该驱动程序发出控制指令,从而控制该智能终端。
[0055] 本发明所述用于测试的一个以上的不同机型的智能终端连接在云端,所述云端具 体包括云端测试设备。所述云端测试设备通常可以是设置在云端的一台或多台计算机,每 台计算机通过多条数据线连接多个不同机型的智能终端,这些智能终端中预先安装有驱动 程序,该驱动程序用于与所述云端测试设备进行通信,并可驱动智能终端执行云端测试设 备的控制指令。如果云端测试设备的计算能力足够强大,而且可以连接智能终端的接口也 足够多,所述接收模块201、选择模块202、传送模块203和控制模块204可以设置在一台云 端测试设备中。但是在计算机能力有限的情况下,由于云端需要具备的智能终端型号众多, 一台计算机可能没有足够的接口无法连接所有型号的智能终端,计算能力也有限,因此通 常所述作为云端测试设备的计算机可能会有多台,通常采用集群计算机设置,每一台计算 机都连接有多种型号的智能终端。每台云端测试设备都连接哪些型号的智能终端的信息可 以都汇总在一个记录表中,存储在测试服务器中,由测试服务器集中管理所述云端测试设 备。所述接收模块201、选择模块202可以设置在测试服务器中,所述传送模块203和控制 模块204可以设置在每台云端测试设备中。通过所述记录表,测试服务器可以选定所述测 试机型列表中包括的对应机型的智能终端连接在哪个云端测试设备上。
[0056] 在一种具体的实施例中,所述传送模块203具体包括任务分解模块和软件发送模 块:
[0057] 任务分解模块,可以设置在测试服务器中,用于选定连接有所选定的智能终端机 型的云端测试设备,向所选定的云端测试设备发送测试任务信息,所述测试任务信息包括 所述智能终端软件及其测试脚本以及连接该云端测试设备的测试机型列表。例如接收到的 开发人员所选的测试机型列表中包括机型1、机型2、机型5、机型6、机型7,如果机型1和机 型2与云端测试设备1连接,机型5、机型6、机型7与云端测试设备2连接,那么选定云端 测试设备1和云端测试设备2 ;分别向这两个云端测试设备发送测试任务,其中给云端测试 设备1发送的测试任务信息中包括连接该云端测试设备1的机型列表即机型1和机型2,给 云端测试设备2发送的测试任务信息中包括连接该云端测试设备2的机型列表即机型5、机 型6和机型7。
[0058] 软件发送模块,用于设置在云端测试设备上,用于在云端测试设备收到所述测试 任务信息后,选定所述测试机型列表中列出的且与本设备连接的智能终端,将所述智能终 端软件及其测试脚本发送到所述选定的智能终端,触发控制模块对所选定的智能终端进行 所述测试控制。如上述例子中,所述云端测试设备1接收到测试任务后,与所述机型1和机 型2的智能终端建立通信,将所述智能终端软件和测试脚本发送给该机型1和机型2的智 能终端,然后分别对该机型1和机型2的智能终端进行所述测试控制。所述云端测试设备 2接收到测试任务后,与所述机型5、机型6和机型7的智能终端建立通信,将所述智能终 端软件和测试脚本发送给该机型5、机型6和机型7的智能终端,然后分别对该机型5、机型 6和机型7的智能终端进行所述测试控制。也就是说针对所述测试机型列表中所列出的每 一种机型的智能终端,都要对该智能终端进行所述测试控制,即:安装运行所述智能终端软 件,并针对该智能终端软件,按照指定的次数重复回放所述测试脚本以实现压力测试。
[0059] 在一种具体实施例中,所述控制模块204针对所述智能终端软件,按照指定的次 数重复回放所述测试脚本以实现压力测试,具体包括:分析所述测试脚本的内容,根据该测 试脚本的内容部署所述智能终端的测试场景,例如如果测试脚本要测试图片浏览软件的图 片播放功能,则需要在所述智能终端上部署被播放的图片样本;如果要测试手机的拨号功 能,则在手机上部署指定的测试电话号码,供测试脚本拨打所述测试电话号码等等,然后控 制所述智能终端在所述测试场景中,按照指定的次数重复回放所述测试脚本,从而完成在 指定的智能终端机型中,在特定场景下对被测智能终端软件进行压力测试。
[0060] 在一种具体实施例中,所述控制模块204进一步用于:针对所述智能终端软件,在 智能终端按照指定的次数重复回访所述测试脚本时,控制所述智能终端监听该智能终端软 件的运行状态,例如该智能终端软件是否发生错误、是否崩溃等信息,并记录所监听到的运 行状态信息;从所述运行状态信息中分析出所述压力测试的结果。通常,所述监听到的运行 状态信息会记录在该智能终端的日志(如手机日志)中;因此,所述控制模块204从运行状 态信息中分析出所述压力测试的结果,具体包括:读取并分析所述智能终端日志,从中找到 所述智能终端软件标识(通常是软件包的包名)对应的日志信息,该日志信息中包括该智能 终端软件的运行状态信息,根据该运行状态信息分析出压力测试正常或异常的信息。
[0061] 图3为本发明所述智能终端软件的压力测试装置的又一组成示意图。参见图3,该 装置进一步包括终端监听模块205,用于在控制模块进行测试控制时,监听所述智能终端的 运行状态,例如该监听该智能终端本身是否发生中断、死机、重启等故障状态,将监听到的 该智能终端的运行状态信息作为所述压力测试的一部分测试结果。
[0062] 在上述任一项所述的压力测试装置的实施例中,该装置还可以进一步包括存储控 制模块和显示控制模块,参见图3 :
[0063] 存储控制模块206,用于将所述智能终端软件在所选定的智能终端的压力测试结 果保存在指定存储模块;
[0064] 显示控制模块207,用于根据查看请求,从所述存储模块中读取所请求的压力测试 结果并输出显不。
[0065] 对应的,本发明还公开了一种智能终端软件的压力测试系统。图4为本发明所述 智能终端软件的压力测试系统的一种组成示意图。参见图4,该压力测试系统包括:
[0066] 用户端装置401,用于录制智能终端软件的测试脚本,确定测试机型列表,并向测 试服务器上传智能终端软件及其测试脚本和测试机型列表。
[0067] 该用户端装置401可以安装在开发人员侧的计算机上,也可以是网页版,由开发 人员利用浏览器访问该网页版的用户端装置。所述智能终端软件是开发人员所开发的需要 测试的被测智能终端软件,所述测试脚本是开发人员通过所述用户端装置101自行录制的 一段测试脚本。所述测试机型列表也是由开发人员选定的希望进行压力测试的智能终端机 型列表,可以预先通过用户端装置101将云端所支持的所有智能终端机型信息提供给开发 人员,开发人员可以从中选择任意机型上传以进行压力测试。所述智能终端软件及其测试 脚本和测试机型列表由开发人员通过用户端装置401上传到测试服务器402。
[0068] 测试服务器402,用于接收智能终端软件及其测试脚本和测试机型列表,根据所述 测试机型列表选定连接在云端的对应机型的智能终端,以及选定连接所述智能终端机型的 云端测试设备,向所选定的云端测试设备发送测试任务信息,所述测试任务信息包括所述 智能终端软件及其测试脚本以及连接该云端测试设备的测试机型列表。所述测试任务信息 中可以直接包括所述智能终端软件,也可以是包括该智能终端软件的下载地址,由云端测 试设备可以根据该下载地址下载该智能终端软件。
[0069] 一个以上云端测试设备403,用于连接一个以上不同机型的智能终端,在收到所述 测试任务信息后,选定所述测试机型列表中列出的与本设备连接的智能终端,将所述智能 终端软件及其测试脚本发送到所述选定的智能终端,对所选定的智能终端进行测试控制, 为了进行测试控制,需要预先在智能终端上安装驱动程序,可以给该驱动程序发出控制指 令,从而控制该智能终端。所述测试控制包括:安装运行所述智能终端软件,并针对该智能 终端软件,按照指定的次数重复回放所述测试脚本以实现压力测试。
[0070] 例如,如果测试服务器402接收到的开发人员所选的测试机型列表中包括机型1、 机型2、机型5、机型6、机型7,如果机型1和机型2与云端测试设备1连接,机型5、机型6、 机型7与云端测试设备2连接,那么测试服务器402会分解任务,S卩:选定云端测试设备1 和云端测试设备2,分别向这两个云端测试设备发送测试任务,其中给云端测试设备1发送 的测试任务信息中包括连接该云端测试设备1的机型列表即机型1和机型2,给云端测试设 备2发送的测试任务信息中包括连接该云端测试设备2的机型列表即机型5、机型6和机 型7。所述云端测试设备1接收到测试任务后,与所述机型1和机型2的智能终端建立通 信,将所述智能终端软件和测试脚本发送给该机型1和机型2的智能终端,然后分别对该机 型1和机型2的智能终端进行所述测试控制。所述云端测试设备2接收到测试任务后,与 所述机型5、机型6和机型7的智能终端建立通信,将所述智能终端软件和测试脚本发送给 该机型5、机型6和机型7的智能终端,然后分别对该机型5、机型6和机型7的智能终端进 行所述测试控制。也就是说针对所述测试机型列表中所列出的每一种机型的智能终端,都 要对该智能终端进行所述测试控制,即:安装运行所述智能终端软件,并针对该智能终端软 件,按照指定的次数重复回放所述测试脚本以实现压力测试。
[0071] 下面针对某一种机型的智能终端为例,说明所述测试过程。
[0072] 在一种具体实施例中,所述云端测试设备403针对所述智能终端软件,按照指定 的次数重复回放所述测试脚本以实现压力测试,具体包括:云端测试设备403分析所述测 试脚本的内容,根据该测试脚本的内容部署所述智能终端的测试场景,例如如果测试脚本 要测试图片浏览软件的图片播放功能,则需要在所述智能终端上部署被播放的图片样本; 如果要测试手机的拨号功能,则在手机上部署指定的测试电话号码,供测试脚本拨打所述 测试电话号码等等,然后控制所述智能终端在所述测试场景中,按照指定的次数重复回放 所述测试脚本,从而完成在指定的智能终端机型中,在特定场景下对被测智能终端软件进 行压力测试。
[0073] 在一种具体的实施例中,所述云端测试设备403进一步用于:针对所述智能终端 软件,在智能终端按照指定的次数重复回访所述测试脚本时,控制所述智能终端监听该智 能终端软件的运行状态,例如该智能终端软件是否发生错误、是否崩溃等信息,并记录所监 听到的运行状态信息;从所述运行状态信息中分析出所述压力测试的结果。通常,所述监听 至IJ的运行状态信息会记录在该智能终端的日志(如手机日志)中;因此,所述云端测试设备 403从运行状态信息中分析出所述压力测试的结果的具体方式包括:读取并分析所述智能 终端日志,从中找到所述智能终端软件标识(通常是软件包的包名)对应的日志信息,该日 志信息中包括该智能终端软件的运行状态信息,根据该运行状态信息分析出压力测试正常 或异常的信息。
[0074] 在一种具体的实施例中,所述云端测试设备403进一步用于:在智能终端针对所 述智能终端软件,按照指定的次数重复回访所述测试脚本时,监听所述智能终端的运行状 态,例如该监听该智能终端本身是否发生CPU过忙、中断、死机、重启等故障状态,将监听到 的该智能终端的运行状态信息作为所述压力测试的一部分测试结果。
[0075] 在一种具体的实施例中,所述测试服务器402还可以进一步监听每个云端测试设 备的运行状态,例如该云端测试设备的CPU使用率、中断、死机等异常状态,所述云端测试 设备403所监听到的所述智能终端的运行状态信息也上报给测试服务器402,测试服务器 将所述云端测试设备的运行状态信息及其所连的智能终端的运行状态信息实时更新到指 定的存储模块(如数据库中),参见图5 ;当测试服务器接收到接收智能终端软件及其测试脚 本和测试机型列表,根据所述测试机型列表选定连接在云端的对应机型的智能终端时,会 根据存储模块中的实时的云端测试设备及其所连的智能终端的运行状态来选定所述测试 机型,如果某一智能终端或云端测试设备异常(如CPU过忙、发生以外中断、死机等情况),则 会针对该智能终端或云端测试设备暂时本发明所述的压力测试,直到该智能终端或云端测 试设备恢复正常后再继续对其进行本发明所述的压力测试。
[0076] 在一种具体的实施例中,所述云端测试设备403还可以进一步用于:将所述智能 终端软件在所选定的智能终端的压力测试结果上传到测试服务器402或者直接上传到指 定的存储模块,如数据库,参见图5 ;所述测试服务器402进一步用于,将所述压力测试结果 保存在指定存储模块,并根据查看请求,从所述存储模块中读取所请求的压力测试结果并 输出显示。
[0077] 另外,本发明的每一个实施例可以通过由数据处理设备如计算机执行的数据处理 程序来实现。显然,数据处理程序构成了本发明。此外,通常存储在一个存储介质中的数据 处理程序通过直接将程序读取出存储介质或者通过将程序安装或复制到数据处理设备的 存储设备(如硬盘和或内存)中执行。因此,这样的存储介质也构成了本发明。存储介质可 以使用任何类型的记录方式,例如纸张存储介质(如纸带等)、磁存储介质(如软盘、硬盘、闪 存等)、光存储介质(如CD-ROM等)、磁光存储介质(如MO等)等。
[0078] 因此本发明还公开了一种存储介质,其中存储有数据处理程序,该数据处理程序 用于执行本发明上述方法的任何一种实施例。
[0079] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精 神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
【权利要求】
1. 一种智能终端软件的压力测试方法,其特征在于,包括: 接收智能终端软件及其测试脚本和测试机型列表; 根据所述测试机型列表选定连接在云端的对应机型的智能终端; 将所述智能终端软件及其测试脚本发送给所选定的智能终端; 对所选定的智能终端进行测试控制,该测试控制包括:安装运行所述智能终端软件,并 针对该智能终端软件,按照指定的次数重复回放所述测试脚本以实现压力测试。
2. 根据权利要求1所述的方法,其特征在于,所述针对所述智能终端软件,按照指定的 次数重复回放所述测试脚本以实现压力测试,具体包括:分析所述测试脚本的内容,根据该 测试脚本的内容部署所述智能终端的测试场景,在所述测试场景中,按照指定的次数重复 回放所述测试脚本。
3. 根据权利要求1所述的方法,其特征在于,所述针对所述智能终端软件,在按照指定 的次数重复回访所述测试脚本时,进一步包括:控制所述智能终端监听该智能终端软件的 运行状态,并记录所监听到的运行状态信息;从所述运行状态信息中分析出所述压力测试 的结果。
4. 根据权利要求3所述的方法,其特征在于,所述监听到的运行状态信息记录在智能 终端的日志中;所述从运行状态信息中分析出所述压力测试的结果,具体包括:读取并分 析所述智能终端日志,从中找到所述智能终端软件标识对应的日志信息,该日志信息中包 括该智能终端软件的运行状态信息,根据该运行状态信息分析出压力测试正常或异常的信 肩、。
5. 根据权利要求3所述的方法,其特征在于,所述针对所述智能终端软件,在按照指定 的次数重复回访所述测试脚本时,进一步包括:监听所述智能终端的运行状态,将监听到的 该智能终端的运行状态信息作为所述压力测试的一部分测试结果。
6. 根据权利要求1至5任一项所述的方法,其特征在于,该方法进一步包括:将所述智 能终端软件在所选定的智能终端的压力测试结果保存在指定存储模块,根据查看请求,从 所述存储模块中读取所请求的压力测试结果并输出显示。
7. 根据权利要求1所述的方法,其特征在于,所述将智能终端软件及其测试脚本发送 给所选定的智能终端,并对所选定的智能终端进行测试控制,具体包括: 选定连接有所选定的智能终端的云端测试设备,向所选定的云端测试设备发送测试任 务信息,所述测试任务信息包括所述智能终端软件及其测试脚本以及连接该云端测试设备 的测试机型列表;所述云端测试设备在收到所述测试任务信息后,选定所述测试机型列表 中列出的且与本设备连接的智能终端,将所述智能终端软件及其测试脚本发送到所述选定 的智能终端,对所选定的智能终端进行所述测试控制。
8. -种智能终端软件的压力测试装置,其特征在于,包括: 接收模块,用于接收智能终端软件及其测试脚本和测试机型列表; 选择模块,用于根据所述测试机型列表选定连接在云端的对应机型的智能终端; 传送模块,用于将所述智能终端软件及其测试脚本发送给所选定的智能终端; 控制模块,用于对所选定的智能终端进行测试控制,该测试控制包括:安装运行所述智 能终端软件,并针对该智能终端软件,按照指定的次数重复回放所述测试脚本以实现压力 测试。
9. 根据权利要求8所述的压力测试装置,其特征在于,所述控制模块针对所述智能终 端软件,按照指定的次数重复回放所述测试脚本以实现压力测试,具体包括:分析所述测试 脚本的内容,根据该测试脚本的内容部署所述智能终端的测试场景,在所述测试场景中,按 照指定的次数重复回放所述测试脚本。
10. 根据权利要求8所述的压力测试装置,其特征在于,所述控制模块进一步用于:针 对所述智能终端软件,在按照指定的次数重复回访所述测试脚本时,控制所述智能终端监 听该智能终端软件的运行状态,并记录所监听到的运行状态信息;从所述运行状态信息中 分析出所述压力测试的结果。
11. 根据权利要求10所述的压力测试装置,其特征在于, 所述智能终端将监听到的运行状态信息记录在智能终端的日志中; 所述控制模块从运行状态信息中分析出所述压力测试的结果,具体包括:读取并分析 所述智能终端日志,从中找到所述智能终端软件标识对应的日志信息,该日志信息中包括 该智能终端软件的运行状态信息,根据该运行状态信息分析出压力测试正常或异常的信 肩、。
12. 根据权利要求8所述的压力测试装置,其特征在于,该装置进一步包括终端监听模 块模块,用于在控制模块进行测试控制时,监听所述智能终端的运行状态,将监听到的该智 能终端的运行状态信息作为所述压力测试的一部分测试结果。
13. 根据权利要求8至12任一项所述的压力测试装置,其特征在于,该装置进一步包 括: 存储控制模块,用于将所述智能终端软件在所选定的智能终端的压力测试结果保存在 指定存储模块; 显示控制模块,用于根据查看请求,从所述存储模块中读取所请求的压力测试结果并 输出显示。
14. 根据权利要求8所述的压力测试装置,其特征在于, 所述控制模块设置在云端测试设备上; 所述传送模块具体包括: 任务分解模块,用于选定连接有所选定的智能终端机型的云端测试设备,向所选定的 云端测试设备发送测试任务信息,所述测试任务信息包括所述智能终端软件及其测试脚本 以及连接该云端测试设备的测试机型列表; 软件发送模块,设置在云端测试设备上,用于在云端测试设备收到所述测试任务信息 后,选定所述测试机型列表中列出的且与本设备连接的智能终端,将所述智能终端软件及 其测试脚本发送到所述选定的智能终端,触发控制模块对所选定的智能终端进行所述测试 控制。
15. -种智能终端软件的压力测试系统,其特征在于,包括: 用户端装置,用于录制智能终端软件的测试脚本,确定测试机型列表,并向测试服务器 上传智能终端软件及其测试脚本和测试机型列表; 测试服务器,用于接收智能终端软件及其测试脚本和测试机型列表,根据所述测试机 型列表选定连接在云端的对应机型的智能终端,以及选定连接所述智能终端机型的云端测 试设备,向所选定的云端测试设备发送测试任务信息,所述测试任务信息包括所述智能终 端软件及其测试脚本以及连接该云端测试设备的测试机型列表; 一个以上云端测试设备,用于连接一个以上不同机型的智能终端,在收到所述测试任 务信息后,选定所述测试机型列表中列出的与本设备连接的智能终端,将所述智能终端软 件及其测试脚本发送到所述选定的智能终端,对所选定的智能终端进行测试控制,该测试 控制包括:安装运行所述智能终端软件,并针对该智能终端软件,按照指定的次数重复回放 所述测试脚本以实现压力测试。
16. 根据权利要求15所述的压力测试系统,其特征在于,所述云端测试设备进一步用 于:针对所述智能终端软件,在按照指定的次数重复回访所述测试脚本时,控制所述智能终 端监听该智能终端软件的运行状态,并记录所监听到的运行状态信息;从所述运行状态信 息中分析出所述压力测试的结果。
17. 根据权利要求15所述的压力测试系统,其特征在于,所述云端测试设备进一步用 于:在针对所述智能终端软件,按照指定的次数重复回访所述测试脚本时,监听所述智能终 端的运行状态,将监听到的该智能终端的运行状态信息作为所述压力测试的一部分测试结 果。
18. 根据权利要求17所述的压力测试系统,其特征在于,所述云端测试设备进一步将 所监听到的所述智能终端的运行状态信息上报给测试服务器;所述测试服务器进一步用于 监听每个云端测试设备的运行状态,并将所述云端测试设备的运行状态信息及其所连的智 能终端的运行状态信息实时更新到指定的存储模块;当测试服务器接收到接收智能终端软 件及其测试脚本和测试机型列表,根据所述测试机型列表选定连接在云端的对应机型的智 能终端时,根据存储模块中的实时的云端测试设备及其所连的智能终端的运行状态来选定 所述测试机型,如果某一智能终端或云端测试设备异常,则针对该智能终端或云端测试设 备暂时所述的压力测试,直到该智能终端或云端测试设备恢复正常后再继续对其进行所述 压力测试。
19. 根据权利要求15至18任一项所述的压力测试系统,其特征在于, 所述云端测试设备进一步用于:将所述智能终端软件在所选定的智能终端的压力测试 结果上传到测试服务器; 所述测试服务器进一步用于,将所述压力测试结果保存在指定存储模块,并根据查看 请求,从所述存储模块中读取所请求的压力测试结果并输出显示。
【文档编号】G06F11/36GK104063305SQ201310085346
【公开日】2014年9月24日 申请日期:2013年3月18日 优先权日:2013年3月18日
【发明者】徐铮 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1