一种应用程序的测试方法及装置制造方法及图纸

技术编号:22363898 阅读:39 留言:0更新日期:2019-10-23 04:37
本申请公开了一种应用程序的测试方法及装置,该方法包括确定待测应用程序,为待测应用程序分配统一资源定位符信息;向服务器发送携带统一资源定位符信息和待测应用程序的应用标识的重打包请求,接收所述服务器发送的目标安装包并进行安装;在所述待测应用程序的应用进程中加载安装后的目标安装包中的可执行文件和动态链接库文件;利用加载的动态链接库文件中的监测函数,监测可执行文件在运行过程的性能数据。可实现免越狱iOS系统的应用性能的自动化测试,依赖较少的测试设备,可降低测试成本,支持8.0以上的iOS系统的应用程序的性能测试。

A test method and device of application program

【技术实现步骤摘要】
一种应用程序的测试方法及装置
本申请涉及通信
,尤其涉及一种应用程序的测试方法及装置。
技术介绍
在一款移动应用的正式发布之前,通常需要对该移动应用进行诸如CPU、内存、流量、启动耗时、电量和电流等性能测试,以验证该移动应用是否符合上线质量要求。由于iOS系统是采用沙盒安全保护策略的封闭系统,从而安装在iOS设备上的应用程序之间是相互独立的,因此增加了对运行在iOS设备上应用的性能测试的测试难度。现有技术,对于iOS设备的应用测试方法主要包括:其一为先对iOS设备进行越狱操作来获取iOS系统的底层权限,再对越狱后的设备上的应用进行应用性能测试;其二为通过建立iOS设备和PC设备之间的数据线连接,再利用特定的程序库来实现PC设备与iOS设备的通信,之后通过PC设备对iOS设备进行应用性能测试。然而,这两种应用测试方法至少存在以下不足:前者由于需要对iOS设备进行越狱操作,测试操作复杂且带来设备安全问题,且不适用于无法进行越狱操作的iOS设备。后者由于在测试过程中需要保持PC和iOS设备的一直处于数据线连接状态,测试过程麻烦且由于数据线连接可能会影响测试数据,且仅支持iOS10.0以上的系统版本的设备。
技术实现思路
本申请提供了一种应用程序的测试方法及装置,可以解决现有技术中至少一种技术问题。一方面,本申请提供了一种应用程序的测试方法,包括:确定待测应用程序,为所述待测应用程序分配统一资源定位符信息;所述待测应用程序为iOS应用程序;向服务器发送携带所述统一资源定位符信息和所述待测应用程序的应用标识的重打包请求,以使所述服务器将所述统一资源定位符信息、动态链接库文件和所述待测应用程序的安装包进行重打包,得到所述待测应用程序对应的目标安装包;所述动态链接库文件包括用于监测性能的监测函数;接收所述服务器发送的所述目标安装包并进行安装;运行安装后的所述待测应用程序,并在所述待测应用程序的应用进程中加载安装后的所述目标安装包中的可执行文件和动态链接库文件;利用加载的动态链接库文件中的监测函数,监测所述可执行文件在运行过程的性能数据;所述性能数据包括至少一项待测应用性能的性能统计信息和对应的时间信息。另一方面,本申请还提供一种应用程序的测试方法,包括:接收终端发送的统一资源定位符信息和待测应用程序的应用标识的重打包请求;所述待测应用程序为iOS应用程序;将所述统一资源定位符信息、动态链接库文件和所述待测应用程序的安装包进行重打包,得到所述待测应用程序对应的目标安装包;所述动态链接库文件包括用于监测性能的监测函数;将所述目标安装包发生至所述终端,以使所述终端运行安装后的所述待测应用程序,并在所述待测应用程序的应用进程中加载安装后的所述目标安装包中的可执行文件和动态链接库文件;利用加载的动态链接库文件中的监测函数,监测所述可执行文件在运行过程的性能数据;所述性能数据包括至少一项待测应用性能的性能统计信息和对应的时间信息。另一方面,本申请还提供一种应用程序的测试装置,包括:分配模块,用于确定待测应用程序,为所述待测应用程序分配统一资源定位符信息;所述待测应用程序为iOS应用程序;请求发送模块,用于向服务器发送携带所述统一资源定位符信息和所述待测应用程序的应用标识的重打包请求,以使所述服务器将所述统一资源定位符信息、动态链接库文件和所述待测应用程序的安装包进行重打包,得到所述待测应用程序对应的目标安装包;所述动态链接库文件包括用于监测性能的监测函数;安装模块,用于接收所述服务器发送的所述目标安装包并进行安装;加载模块,用于运行安装后的所述待测应用程序,并在所述待测应用程序的应用进程中加载安装后的所述目标安装包中的可执行文件和动态链接库文件;监测模块,用于利用加载的动态链接库文件中的监测函数,监测所述可执行文件在运行过程的性能数据;所述性能数据包括至少一项待测应用性能的性能统计信息和对应的时间信息。另一方面还提供了一种终端,该企业组织架构数据的更新客户端包括处理器和存储器,该存储器中存储有至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、该至少一段程序、该代码集或指令集由该处理器加载并执行以实现如上述方法实施例所提供的应用程序的测试方法。另一方面还还提供了一种存储介质,所述存储介质可设置于客户端之中以保存用于实现方法实施例中一种应用程序的测试方法相关的至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、该至少一段程序、该代码集或指令集由该处理器加载并执行以实现上述方法实施例提供的应用程序的测试方法。另一方面,本申请还提供一种应用程序的测试装置,包括:请求接收模块,用于接收终端发送的统一资源定位符信息和待测应用程序的应用标识的重打包请求;所述待测应用程序为iOS应用程序;打包模块,用于将所述统一资源定位符信息、动态链接库文件和所述待测应用程序的安装包进行重打包,得到所述待测应用程序对应的目标安装包;所述动态链接库文件包括用于监测性能的监测函数;发送模块,用于将所述目标安装包发生至所述终端,以使所述终端运行安装后的所述待测应用程序,并在所述待测应用程序的应用进程中加载安装后的所述目标安装包中的可执行文件和动态链接库文件;利用加载的动态链接库文件中的监测函数,监测所述可执行文件在运行过程的性能数据;所述性能数据包括至少一项待测应用性能的性能统计信息和对应的时间信息。另一方面还提供了一种服务器,该企业组织架构数据的更新客户端包括处理器和存储器,该存储器中存储有至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、该至少一段程序、该代码集或指令集由该处理器加载并执行以实现如上述方法实施例所提供的应用程序的测试方法。另一方面还提供了一种存储介质,所述存储介质可设置于客户端之中以保存用于实现方法实施例中一种应用程序的测试方法相关的至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、该至少一段程序、该代码集或指令集由该处理器加载并执行以实现上述方法实施例提供的应用程序的测试方法。本申请提供的应用程序的测试方法及装置,具有如下技术效果:本申请通过确定待测应用程序,为所述待测应用程序分配统一资源定位符信息;所述待测应用程序为iOS应用程序;向服务器发送携带统一资源定位符信息和待测应用程序的应用标识的重打包请求,接收所述服务器发送的所述目标安装包并进行安装;在所述待测应用程序的应用进程中加载安装后的所述目标安装包中的可执行文件和动态链接库文件;利用加载的动态链接库文件中的监测函数,监测所述可执行文件在运行过程的性能数据;所述性能数据包括至少一项待测应用性能的性能统计信息和对应的时间信息。可实现免越狱iOS系统的应用性能的自动化测试,依赖较少的测试设备,可降低测试成本,支持8.0以上的iOS系统的应用程序的性能测试,可覆盖更多的iOS设备,适用性广。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。图1是本申请实施例提供的一种实施环境的示意图;图2是本申请实施例提供的一种应用程序的测试本文档来自技高网...

【技术保护点】
1.一种应用程序的测试方法,其特征在于,包括:确定待测应用程序,为所述待测应用程序分配统一资源定位符信息;所述待测应用程序为iOS应用程序;向服务器发送携带所述统一资源定位符信息和所述待测应用程序的应用标识的重打包请求,以使所述服务器将所述统一资源定位符信息、动态链接库文件和所述待测应用程序的安装包进行重打包,得到所述待测应用程序对应的目标安装包;所述动态链接库文件包括用于监测性能的监测函数;接收所述服务器发送的所述目标安装包并进行安装;运行安装后的所述待测应用程序,并在所述待测应用程序的应用进程中加载安装后的所述目标安装包中的可执行文件和动态链接库文件;利用加载的动态链接库文件中的监测函数,监测所述可执行文件在运行过程的性能数据;所述性能数据包括至少一项待测应用性能的性能统计信息和对应的时间信息。

【技术特征摘要】
1.一种应用程序的测试方法,其特征在于,包括:确定待测应用程序,为所述待测应用程序分配统一资源定位符信息;所述待测应用程序为iOS应用程序;向服务器发送携带所述统一资源定位符信息和所述待测应用程序的应用标识的重打包请求,以使所述服务器将所述统一资源定位符信息、动态链接库文件和所述待测应用程序的安装包进行重打包,得到所述待测应用程序对应的目标安装包;所述动态链接库文件包括用于监测性能的监测函数;接收所述服务器发送的所述目标安装包并进行安装;运行安装后的所述待测应用程序,并在所述待测应用程序的应用进程中加载安装后的所述目标安装包中的可执行文件和动态链接库文件;利用加载的动态链接库文件中的监测函数,监测所述可执行文件在运行过程的性能数据;所述性能数据包括至少一项待测应用性能的性能统计信息和对应的时间信息。2.根据权利要求1所述的方法,其特征在于,所述监测函数包括钩子函数;相应的,所述利用加载的动态链接库文件中的监测函数,监测所述可执行文件在运行过程的性能数据,包括:利用加载的动态链接库文件中的钩子函数,挂钩所述可执行文件中至少一个用于描述待测应用性能的目标对象;在所述待测应用程序的应用进程中,创建用于监测每个目标对象的监测线程;执行所述监测线程,并监测每个目标对象在所述可执行文件运行的时间段内的性能参数数据;所述性能参数数据包括执行状态数据和/或属性数据;记录每个目标对象的性能参数数据及其对应的时间信息,得到所述性能数据。3.根据权利要求2所述的方法,其特征在于,所述利用加载的动态链接库文件中的钩子函数,挂钩所述可执行文件中至少一个用于描述待测应用性能的目标对象,包括:检测所述待测应用程序的应用类型和/或所述待测应用性能的性能类型;若所述应用类型为基于Unity引擎的iOS游戏应用程序且所述性能类型为帧率,则利用加载的动态链接库文件中相匹配的钩子函数,挂钩所述可执行文件中UnityAppController的repaint函数;若所述应用类型为基于UE4引擎的iOS游戏应用程序且所述性能类型为帧率,则利用加载的动态链接库文件中相匹配的钩子函数,挂钩所述可执行文件中IOSAppDelegate的bIsSuspended属性。4.根据权利要求1所述的方法,其特征在于,所述为所述待测应用程序分配统一资源定位符信息,包括:所述终端上的监测应用程序按照预设规则配置多个不同的统一资源定位符信息并存储在自身配置文件的对应字段中;所述终端上的监测应用程序根据所述待测应用程序的应用类型,为其分配指定的统一资源定位符信息;相应的,所述运行安装后的所述待测应用程序,包括:创建针对所述待测应用的拉起线程,所述拉起线程用于所述监测应用程序拉起所述安装后的所述待测应用程序;响应于所述拉起线程,自动运行安装后的所述待测应用程序。5.根据权利要求1-4任一所述的方法,其特征在于,所述方法还包括:获取通过剪切板回传的所述性能数据;向服务器上传所述性能数据,以使所述服务器根据所述性能数据计算每个待测应用性能的性能测试结果,并按预设规则展示所述性能测试结果。6.一种应用程序的测试方法,其特征在于,包括:接收终端发送的统一资源定位符信息和待测应用程序的应用标识的重打包请求;所述待...

【专利技术属性】
技术研发人员:袁明凯杨伟王建行王枭罗章龙
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1