一种内存抖动自动化测试方法及装置制造方法及图纸

技术编号:15863848 阅读:27 留言:0更新日期:2017-07-23 08:14
本发明专利技术提供一种内存抖动自动化测试方法及装置,所述的方法包括:S1,当检测到安卓设备与测试平台连接成功后,获取测试脚本参数;S2,根据所述测试脚本参数,使用测试平台上的命令行Monkey工具向安卓设备发送运行指令,以使待测试应用安装包在安卓设备上运行;S3,基于待测试应用安装包在安卓设备上运行后,收集安卓设备上的垃圾回收日志;S4,对所述垃圾回收日志进行分析,来确定安卓设备是否存在内存抖动。本发明专利技术采用python语言编写测试脚本,并结合Android自带的Monkey工具对安卓设备的内存抖动进行自动化测试,在保证测试的稳定性的同时,填补了安卓设备内存抖动检测的空白。

【技术实现步骤摘要】
一种内存抖动自动化测试方法及装置
本专利技术自动化测试领域,具体涉及一种内存抖动自动化测试方法及装置。
技术介绍
在当前的直播应用中,直播间内播放器、弹幕、礼物和各种消息都非常消耗安卓设备内存,内存负荷一直是一个很突出、严重的问题,这也导致了直播应用内存抖动的现象频发。对于内存抖动的频繁现象,在对安卓应用的当前测试方案中,都没有针对内存抖动方面进行测试的,内存抖动的问题一直还没有得到很好的重视。
技术实现思路
本专利技术提供一种克服上述问题或者至少部分地解决上述问题的内存抖动自动化测试方法及装置。根据本专利技术的一个方面,提供一种内存抖动自动化测试方法,包括:S1,当检测到安卓设备与测试平台连接成功后,获取测试脚本参数;S2,根据所述测试脚本参数,使用测试平台上的命令行Monkey工具向安卓设备发送运行指令,以使待测试应用安装包在安卓设备上运行;S3,基于待测试应用安装包在安卓设备上运行后,收集安卓设备上的垃圾回收日志;S4,对所述垃圾回收日志进行分析,来确定安卓设备是否存在内存抖动。本专利技术的有益效果为:采用Android自带的命令行Monkey工具对安卓设备的内存抖动进行自动化测试,在保证测试的稳定性的同时,填补了安卓设备内存抖动检测的空白。在上述技术方案的基础上,本专利技术还可以作如下改进。进一步的,所述步骤S1之前还包括:使用python语言在测试平台上编写测试脚本,并初始化测试脚本参数,所述测试脚本参数包括待测试应用安装包的名称和待测试应用安装包在安卓设备上的预设运行时长。进一步的,所述步骤S2具体包括:使用测试平台上的命令行Monkey工具向安卓设备发送运行指令,所述运行指令中包括测试脚本参数;根据所述测试脚本参数中的待测试应用安装包的名称,在安卓设备上找到待测试应用安装包,并根据测试脚本参数中的预设运行时长,在安卓设备上运行所述待测试应用安装包。进一步的,所述步骤S3具体包括:检测安卓设备的系统版本;当待测试应用安装包在安卓设备上运行后,根据安卓设备的不同系统版本,对与安卓设备的系统版本对应的虚拟机上的垃圾回收日志进行收集。进一步的,所述垃圾回收日志中包括生成垃圾回收日志的时间戳;所述步骤S4具体包括:S41,根据生成垃圾回收日志的时间戳,统计安卓设备回收垃圾的频率以及在预设时间内回收垃圾的次数;S42,根据安卓设备回收垃圾的频率和在预设时间内回收垃圾的次数,确定安卓设备中是否存在内存抖动。进一步的,所述步骤S42具体包括:当安卓设备回收垃圾的频率小于预设频率且安卓设备在预设时间内回收垃圾的次数小于预设次数时,安卓设备不存在内存抖动,否则,安卓设备存在内存抖动。所述进一步的有益效果为:通过分析安卓设备上垃圾回收的频率和在预定时间内的垃圾回收的次数,来确定安卓设备上是否存在内存抖动,定量进行分析,使得测试结果更加准确。进一步的,所述步骤S3之后还包括:根据收集的垃圾回收日志,绘制安卓设备的剩余内存与时间对应关系曲线图表。根据本专利技术的另一个方面,还提供了一种内存抖动自动化测试装置,包括:参数获取模块,用于当检测到安卓设备与测试平台连接成功后,获取测试脚本参数;指令发送模块,用于根据所述测试脚本参数,使用测试平台上的Monkey工具向安卓设备发送运行指令,以使待测试应用安装包在安卓设备上运行;日志收集模块,用于基于待测试应用安装包在安卓设备上运行后,收集安卓设备上的垃圾回收日志;分析模块,用于对所述垃圾回收日志进行分析,来确定安卓设备是否存在内存抖动。进一步的,还包括:脚本编写模块,用于使用python语言在测试平台上编写测试脚本,并初始化测试脚本参数,所述测试脚本参数包括待测试应用安装包的名称和待测试应用安装包在安卓设备上的预设运行时长。进一步的,所述垃圾回收日志中包括生成垃圾回收日志的时间戳,所述分析模块包括:统计子单元,用于根据生成垃圾回收日志的时间戳,统计安卓设备回收垃圾的频率以及在预设时间内回收垃圾的次数;确定子单元,用于根据安卓设备回收垃圾的频率和在预设时间内回收垃圾的次数,确定安卓设备中是否存在内存抖动。附图说明图1为本专利技术一个实施例的内存抖动自动化测试方法流程图;图2为本专利技术另一个实施例的内存抖动自动化测试装置连接框图;图3为本专利技术另一个实施例的内存抖动自动化测试装置的整个连接框图;图4为本专利技术另一个实施例的分析模块内部连接框图;图5为本专利技术又一个实施例的内存抖动自动化测试装置的测试设备连接框图。具体实施方式下面结合附图和实施例,对本专利技术的具体实施方式作进一步详细描述。以下实施例用于说明本专利技术,但不用来限制本专利技术的范围。参见图1,为本专利技术一个实施例的内存抖动自动化测试方法,适用于对安卓设备的内存抖动现象进行测试,该方法包括:S1,当检测到安卓设备与测试平台连接成功后,获取测试脚本参数;S2,根据所述测试脚本参数,使用测试平台上的命令行Monkey工具向安卓设备发送运行指令,以使待测试应用安装包在安卓设备上运行;S3,基于待测试应用安装包在安卓设备上运行后,收集安卓设备上的垃圾回收日志;S4,对所述垃圾回收日志进行分析,来确定安卓设备是否存在内存抖动。内存抖动是指在短时间内有大量的对象被创建或者被回收的现象,内存抖动出现的原因主要频繁在循环里创建对象,这样会导致大量的对象在短时间内被创建,由于新创建的对象是需要占用内存空间的,如果一次或者两次在循环里创建对象,对内存的影响不会太大,不会造成严重的内存抖动,但如果是频繁创建对象,那么内存的抖动就会很严重。如果内存抖动很频繁,会导致垃圾回收机制频繁运行,因为短时间内产生大量的对象,需要大量的内存,而且还是频繁抖动,就可能会需要回收内存用以产生对象,垃圾回收机制自然就频繁运行。本实施例由于是对安卓设备的内存抖动进行测试,因此,需要对在安卓设备上运行的应用安装包的运行数据进行测试。而需要对安卓设备进行测试,首先需要检测安卓设备与测试平台的连接状态,当安卓设备与测试平台成功连接后,测试平台才能对安卓设备进行测试。随后,测试平台获取预先编写好的测试脚本的参数,其中,测试脚本参数至少包括安卓设备上待测试应用安装包的名称。测试平台根据测试脚本参数,使用命令行Monkey工具向安卓设备发送运行指令,运行指令中包括测试参数,即安卓设备需要运行的待测试应用安装包的名称。安卓设备接收到测试平台发送的运行指令,根据运行指令中的待测试应用安装包的名称找到待测试应用安装包,并在安卓设备上运行该待测试应用安装包。在待测试应用安装包在安卓设备上运行的过程中,会产生大量的对象,需要对安卓设备中的内存进行垃圾回收。因此,当待测试应用安装包在安卓设备上运行结束后,测试平台对安卓设备上的垃圾回收日志进行收集。通过对垃圾回收日志的分析,来确定安卓设备是否存在内存抖动现象。在本专利技术的一个实施例中,所述步骤S1在测试平台对安卓设备进行测试之前还包括:使用python语言在测试平台上编写测试脚本,并初始化测试脚本参数,所述测试脚本参数包括待测试应用安装包的名称和待测试应用安装包在安卓设备上的预设运行时长。在测试平台对安卓设备进行测试之前,预先在测试平台上使用python语言来编写测试脚本,并且初始化测试脚本的参数,其中,测试脚本参数主要包括待测试应用安装包的名称和待测试应用安装包在安卓设本文档来自技高网...
一种内存抖动自动化测试方法及装置

【技术保护点】
一种内存抖动自动化测试方法,其特征在于,包括:S1,当检测到安卓设备与测试平台连接成功后,获取测试脚本参数;S2,根据所述测试脚本参数,使用测试平台上的命令行Monkey工具向安卓设备发送运行指令,以使待测试应用安装包在安卓设备上运行;S3,基于待测试应用安装包在安卓设备上运行后,收集安卓设备上的垃圾回收日志;S4,对所述垃圾回收日志进行分析,来确定安卓设备是否存在内存抖动。

【技术特征摘要】
1.一种内存抖动自动化测试方法,其特征在于,包括:S1,当检测到安卓设备与测试平台连接成功后,获取测试脚本参数;S2,根据所述测试脚本参数,使用测试平台上的命令行Monkey工具向安卓设备发送运行指令,以使待测试应用安装包在安卓设备上运行;S3,基于待测试应用安装包在安卓设备上运行后,收集安卓设备上的垃圾回收日志;S4,对所述垃圾回收日志进行分析,来确定安卓设备是否存在内存抖动。2.如权利要求1所述的内存抖动自动化测试方法,其特征在于,所述步骤S1之前还包括:使用python语言在测试平台上编写测试脚本,并初始化测试脚本参数,所述测试脚本参数包括待测试应用安装包的名称和待测试应用安装包在安卓设备上的预设运行时长。3.如权利要求2所述的内存抖动自动化测试方法,其特征在于,所述步骤S2具体包括:使用测试平台上的命令行Monkey工具向安卓设备发送运行指令,所述运行指令中包括测试脚本参数;根据所述测试脚本参数中的待测试应用安装包的名称,在安卓设备上找到待测试应用安装包,并根据测试脚本参数中的预设运行时长,在安卓设备上运行所述待测试应用安装包。4.如权利要求3所述的内存抖动自动化测试方法,其特征在于,所述所述步骤S3具体包括:当待测试应用安装包在安卓设备上运行后,根据安卓设备的不同系统版本,对与安卓设备的系统版本对应的虚拟机上的垃圾回收日志进行收集。5.如权利要求4所述的内存抖动自动化测试方法,其特征在于,所述垃圾回收日志中包括生成垃圾回收日志的时间戳;所述步骤S4具体包括:S41,根据生成垃圾回收日志的时间戳,统计安卓设备回收垃圾的频率以及在预设时间内回收垃圾的次数;S42,根据安卓设备回收垃圾的频率和在预设时...

【专利技术属性】
技术研发人员:刘明波陈少杰张文明
申请(专利权)人:武汉斗鱼网络科技有限公司
类型:发明
国别省市:湖北,42

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

1