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

技术编号:30239434 阅读:15 留言:0更新日期:2021-10-09 20:15
本发明专利技术提供了一种应用程序的性能测试方法、装置、电子设备及计算机可读存储介质;方法包括:基于应用程序的安装包运行所述应用程序,并向运行中的所述应用程序注入对应于性能测试场景的测试代码;通过所述测试代码运行所述应用程序的模拟服务,并通过所述模拟服务向所述应用程序发送伪随机的用户事件流,以触发所述应用程序根据所述伪随机的用户事件流运行;在所述应用程序根据所述伪随机的用户事件流运行的过程中,实时采集所述应用程序所生成的数据;对所述数据进行分析处理,以获得性能测试结果。通过本发明专利技术,能够高效且准确的测试应用程序的性能。应用程序的性能。应用程序的性能。

【技术实现步骤摘要】
一种应用程序的性能测试方法和装置


[0001]本专利技术涉及互联网
,尤其涉及一种应用程序的性能测试方法、装置、电子设备及计算机可读存储介质。

技术介绍

[0002]性能测试对应用程序(APP,Application)的质量保证具有重要作用。APP的性能测试包括客户端的性能测试、APP在网络上的性能测试以及服务器端的性能测试。性能测试主要在APP运行过程中测试各种指标,例如,中央处理器(CPU,Central Processing Unit)的占用率等。
[0003]目前,相关技术对于APP的性能测试主要包括两种方式,第一种是基于人工进行测试,例如,通过测试人员手动触发性能测试,并且不同的指标需要逐一分别进行性能测试来获得,人工测试耗费时间长,效率低;第二种是通过改变待检测APP的底层代码以实现APP的性能测试,但是改变待检测APP的底层代码可能会对待检测APP的原始性能数据造成影响,导致性能测试准确性较低。

技术实现思路

[0004]本专利技术实施例提供一种应用程序的性能测试方法、装置、电子设备及计算机可读存储介质,能够高效且准确的测试应用程序的性能。
[0005]本专利技术实施例的技术方案是这样实现的:
[0006]本专利技术实施例提供一种应用程序的性能测试方法,所述方法包括:
[0007]基于应用程序的安装包运行所述应用程序,并向运行中的所述应用程序注入对应于性能测试场景的测试代码;
[0008]通过所述测试代码运行所述应用程序的模拟服务,并通过所述模拟服务向所述应用程序发送伪随机的用户事件流,以
[0009]触发所述应用程序根据所述伪随机的用户事件流运行;
[0010]在所述应用程序根据所述伪随机的用户事件流运行的过程中,实时采集所述应用程序所生成的数据;
[0011]对所述数据进行分析处理,以获得性能测试结果。
[0012]本专利技术实施例提供一种应用程序的性能测试装置,包括:
[0013]注入模块,用于基于应用程序的安装包运行所述应用程序,并向运行中的所述应用程序注入对应于性能测试场景的测试代码;
[0014]发送模块,用于通过所述测试代码运行所述应用程序的模拟服务,并通过所述模拟服务向所述应用程序发送伪随机的用户事件流,以触发所述应用程序根据所述伪随机的用户事件流运行;
[0015]采集模块,用于在所述应用程序根据所述伪随机的用户事件流运行的过程中,实时采集所述应用程序所生成的数据;
[0016]分析模块,用于对所述数据进行分析处理,以获得性能测试结果。
[0017]上述方案中,所述注入模块,还用于通过执行性能测试脚本,向运行中的所述应用程序注入对应于所述性能测试场景的测试代码,以获取所述应用程序的控件树信息;基于所述应用程序的控件树信息,将所述模拟服务与所述应用程序之间建立通信通道,以使所述模拟服务通过所述通信通道向所述应用程序发送所述伪随机的用户事件流;其中,所述性能测试场景包括以下至少之一:启动测试场景;首页滑动测试场景;进入直播间测试场景;内存占用测试场景;中央处理器占用测试场景;图形处理器占用测试场景;流畅度测试场景;耗电量测试场景。
[0018]上述方案中,所述发送模块,还用于通过所述模拟服务、并经由所述通信通道,向所述应用程序发送所述伪随机的用户事件流,以使所述伪随机的用户事件流在所述应用程序的控件树中进行传递,所述应用程序响应所述控件树中传递的所述伪随机的用户事件流。
[0019]上述方案中,所述采集模块,还用于在所述应用程序根据所述伪随机的用户事件流运行的过程中,实时记录所述应用程序的运行日志;针对所述性能测试场景的类型创建数据采集任务;根据对应于所述性能测试场景的数据采集任务,在所述运行日志中提取相应的数据;其中,所述数据包括以下信息至少之一:启动耗时信息;内存占用信息;中央处理器占用信息;图形处理器占用信息;流畅度信息;耗电量信息。
[0020]上述方案中,所述分析模块,还用于在所述数据中提取对应于各个时间点的数据值,并将所述对应于各个时间点的数据值写入至数据库表;调用所述数据库表的接口,以获得所述应用程序在各个时间点的数据值;以时间点为横坐标、并以所述应用程序在各个时间点的数据值为纵坐标,以坐标系的形式确定所述应用程序的性能测试结果。
[0021]上述方案中,所述应用程序的性能测试装置还包括:安装包获取模块,用于通过执行安装包获取脚本,从应用程序构建平台中对应所述应用程序的分支中拉取所述应用程序的安装包;或者,通过执行所述安装包获取脚本,从应用程序商店获取所述应用程序的安装包。
[0022]上述方案中,所述应用程序的性能测试装置还包括:展示模块,用于调用数据库表的接口,获得多个应用程序在各个时间点的数据值;其中,所述多个应用程序是应用程序类型相同、且应用程序不同的多个应用程序,或者,应用程序相同、且应用程序版本不同的多个应用程序;根据所述多个应用程序在各个时间点的数据值,确定所述多个应用程序的性能对比图表,并进行展示。
[0023]上述方案中,所述应用程序的性能测试装置还包括:提醒模块,用于通过执行提醒脚本,定时发送所述性能测试结果和/或性能测试链接;其中,所述性能测试链接是用于获取所述性能测试结果的网络链接。
[0024]上述方案中,所述应用程序的性能测试装置还包括:上链模块,用于将所述性能测试结果存储到区块链网络中,以使所述区块链网络根据存储的性能测试结果响应针对所述应用程序的性能测试数据请求。
[0025]本专利技术实施例提供一种电子设备,包括:
[0026]存储器,用于存储可执行指令;
[0027]处理器,用于执行所述存储器中存储的可执行指令时,实现本专利技术实施例提供的
应用程序的性能测试方法。
[0028]本专利技术实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行时,实现本专利技术实施例提供的应用程序的性能测试方法。
[0029]本专利技术实施例具有以下有益效果:
[0030]通过向运行中的应用程序注入对应于性能测试场景的测试代码,能够无需修改应用程序的底层代码即可实现对应用程序的性能测试,从而可以提高性能测试的准确性;通过实时采集性能测试过程中应用程序所生成的数据,并对采集的数据进行分析处理获得性能测试结果,能够无需人工介入即可完成性能测试,提高了性能测试的效率。
附图说明
[0031]图1是本专利技术实施例提供的应用程序的性能测试系统100的架构示意图;
[0032]图2是本专利技术实施例提供的电子设备500的结构示意图;
[0033]图3是本专利技术实施例提供的应用程序的性能测试方法的流程示意图;
[0034]图4是本专利技术实施例提供的应用程序的性能测试方法的流程示意图;
[0035]图5是本专利技术实施例提供的应用程序的性能测试方法的流程示意图;
[0036]图6是本专利技术实施例提供的应用程序的性能测试方法的应用示意图;
[本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种应用程序的性能测试方法,其特征在于,所述方法包括:基于应用程序的安装包运行所述应用程序,并向运行中的所述应用程序注入对应于性能测试场景的测试代码;通过所述测试代码运行所述应用程序的模拟服务,并通过所述模拟服务向所述应用程序发送伪随机的用户事件流,以触发所述应用程序根据所述伪随机的用户事件流运行;在所述应用程序根据所述伪随机的用户事件流运行的过程中,实时采集所述应用程序所生成的数据;对所述数据进行分析处理,以获得性能测试结果。2.根据权利要求1所述的方法,其特征在于,所述向运行中的所述应用程序注入对应于性能测试场景的测试代码,包括:通过执行性能测试脚本,向运行中的所述应用程序注入对应于所述性能测试场景的测试代码,以获取所述应用程序的控件树信息;基于所述应用程序的控件树信息,将所述模拟服务与所述应用程序之间建立通信通道,以使所述模拟服务通过所述通信通道向所述应用程序发送所述伪随机的用户事件流;其中,所述性能测试场景包括以下至少之一:启动测试场景;内存占用测试场景;中央处理器占用测试场景;图形处理器占用测试场景;流畅度测试场景;耗电量测试场景。3.根据权利要求2所述的方法,其特征在于,所述通过所述模拟服务向所述应用程序发送伪随机的用户事件流,以触发所述应用程序根据所述伪随机的用户事件流运行,包括:通过所述模拟服务、并经由所述通信通道,向所述应用程序发送所述伪随机的用户事件流,以使所述伪随机的用户事件流在所述应用程序的控件树中进行传递,所述应用程序响应所述控件树中传递的所述伪随机的用户事件流。4.根据权利要求1所述的方法,其特征在于,所述在所述应用程序根据所述伪随机的用户事件流运行的过程中,实时采集所述应用程序所生成的数据,包括:在所述应用程序根据所述伪随机的用户事件流运行的过程中,实时记录所述应用程序的运行日志;针对所述性能测试场景的类型创建数据采集任务;根据对应于所述性能测试场景的数据采集任务,在所述运行日志中提取相应的数据;其中,所述数据包括以下信息至少之一:启动耗时信息;内存占用信息;中央处理器占用信息;图形处理器占用信息;流畅度信息;耗电量信息。5.根据权利要求1所述的方法,其特征在于,所述对所述数据进行分析处理,以获得性能测试结果,包括:在所述数据中提取对应于各个时间点的数据...

【专利技术属性】
技术研发人员:陈维燃蒋政胜郭晓彬
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

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

1