CN104317702A - 一种智能移动终端内存自动化测试方法与装置 - Google Patents
一种智能移动终端内存自动化测试方法与装置 Download PDFInfo
- Publication number
- CN104317702A CN104317702A CN201410519757.1A CN201410519757A CN104317702A CN 104317702 A CN104317702 A CN 104317702A CN 201410519757 A CN201410519757 A CN 201410519757A CN 104317702 A CN104317702 A CN 104317702A
- Authority
- CN
- China
- Prior art keywords
- memory
- mobile terminal
- intelligent mobile
- resident service
- leaks
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种智能移动终端内存自动化测试方法,应用于使用Android操作系统的智能移动终端,包括智能移动终端常驻服务的内存泄露问题自动测试判定和单独应用的内存泄露问题自动测试判定两部分,保证了内存泄露测试的全面性,而且可以设置每次测试次数和记录内存值的频率,可以进行更大强度的内存测试,更大程度的保证了使用Android操作系统的智能移动终端的内存相关的质量。整个测试过程为全自动过程,测试过程中无需人员参与,测试结束后自动生成测试结果报告,极大的提高了内存测试的效率。
Description
技术领域
本发明涉及智能移动终端的应用技术领域,特别涉及一种智能移动终端内存自动化测试方法与装置。
背景技术
现在支持Android操作系统的智能移动终端软件功能越来越强大,更新速度更快更频繁,对智能移动终端内存的占用和消耗也是越来越大。经常出现由于智能移动终端内存问题直接导致智能移动终端卡顿、RAM占用居高不下,或者明明已经卸载了很多软件了还是没办法降低RAM占用率,甚至直接导致智能移动终端重启,诸如以上现象都严重的影响了智能移动终端的用户体验,给智能移动终端的品牌和信誉带来非常消极的负面影响,所以现在智能移动终端内存测试是智能移动终端测试项中必不可少的一项。
现有的智能移动终端内存测试技术往往都是通过人工手动的主动去进行一些内存相关的自由测试,由于人工的精力有限,进行的内存测试往往都不是很全面,而且测试深度也不是很深,只是做到最基本的内存测试,这很难全面彻底的解决由于智能移动终端内存问题而导致的卡顿和重启等等问题,目前亟待一种能够自动化和智能化测试智能移动终端内存的方法出现。
发明内容
本发明的第一个目的在于克服现有技术的缺点与不足,提供一种智能移动终端内存自动化测试方法,该发明公开了一种自动测试使用Android操作系统的智能移动终端是否存在内存泄露问题的系统化方法,主要通过测试使用Android操作系统的智能移动终端的常驻内存和单个应用是否存在内存泄露来判断智能移动终端是否存在内存泄露问题,保证使用Android操作系统的智能移动终端在内存方面的质量问题,而且极大的提高了内存测试的效率。
本发明的另一个目的在于克服现有技术的缺点与不足,提供一种智能移动终端内存自动化测试装置。
本发明的第一个目的通过下述技术方案实现:
一种智能移动终端内存自动化测试方法,应用于使用Android操作系统的智能移动终端,包括下列步骤:
S1、智能移动终端常驻服务的内存泄露问题自动测试判定,该步骤针对Android操作系统移动终端的后台常驻服务,通过调用Android操作系统自带的随机模拟用户操作工具,对智能移动终端进行特定t次数模拟用户随机操作以达到内存泄露问题出现的操作条件,然后根据Android操作系统后台常驻服务内存占用记录的趋势对比,判定智能移动终端中Android操作系统后台常驻服务的内存是否存在泄露问题;
S2、智能移动终端单独应用的内存泄露问题自动测试判定,该步骤针对Android操作系统移动终端的各个常规应用采用遍历检测的方法,通过调用Android操作系统自带的随机模拟用户操作工具,对智能移动终端各个应用进行特定t次数模拟用户随机操作以达到内存泄露问题出现的操作条件,然后将经过n次测试完并进行优化清理后记录的单独应用占用的内存值和之前记录的n次智能移动终端单独应用的内存泄露问题自动测试获取的单独应用占用的内存值进行对比,逐个依次判定智能移动终端中Android操作系统各个常规应用的内存是否存在泄露问题。
优选的,所述步骤S1具体为:
S11、进入常驻服务的内存泄露问题自动测试判定,对智能移动终端系统进行优化清理,只保留系统后台常驻服务;
S12、调用Android操作系统自带的随机模拟用户操作工具,对智能移动终端进行特定m次数模拟用户随机操作以达到内存泄露问题出现的操作条件;
S13、模拟用户对智能移动终端进行特定m次数随机操作结束后,对智能移动终端系统进行优化清理,然后通过调用adb shell dumpsys meminfo命令来获取智能移动终端的常驻服务占用的内存值,完成一次常驻服务的内存泄露问题自动测试的同时并且记录内存的占用值;
S14、设置智能移动终端常驻服务的内存泄露问题自动测试次数m,重复步骤S11至步骤S13,进行m次智能移动终端常驻服务的内存泄露问题自动测试并记录常驻服务占用的内存值;
S15、根据m次常驻服务内存泄露问题自动测试记录的内存占用值绘制常驻服务内存占用总体趋势图,然后根据常驻服务内存占用总体趋势图结合常驻服务内存泄露判定规则来判断智能移动终端常驻内存是否存在内存泄露问题。
优选的,所述步骤S2具体为:
S21、进入单独应用的内存泄露问题自动测试判定,对智能移动终端系统进行优化清理,关闭系统的非常驻服务,保证智能移动终端系统达到测试要求的最佳状态;
S22、调用Android操作系统自带的随机模拟用户操作工具,对智能移动终端进行特定t次数模拟用户随机操作以达到内存泄露问题出现的操作条件;
S23、模拟用户对智能移动终端进行特定t次数随机操作结束后,然后通过调用adb shell dumpsys meminfo命令来获取智能移动终端的单独应用占用的内存值,完成一次单独应用的内存泄露问题自动测试的同时并且记录内存的占用值;
S24、设置智能移动终端单独应用的内存泄露问题自动测试次数n,重复步骤S21至步骤S23,进行n次智能移动终端单独应用的内存泄露问题自动测试并记录单独应用占用的内存值;
S25、对智能移动终端系统进行优化清理,然后通过调用adb shell dumpsysmeminfo命令来获取智能移动终端的单独应用占用的内存值并记录;
S26、将经过n次测试完并进行优化清理后记录的单独应用占用的内存值和之前记录的n次智能移动终端单独应用的内存泄露问题自动测试获取的单独应用占用的内存值进行对比,根据单独应用内存泄露判定规则判断智能移动终端单独应用是否存在内存泄露问题。
优选的,
所述步骤S1中Android操作系统移动终端的后台常驻服务包括:system、com.android.systemui、com.android.phone、android.process.contacts、android.process.safer、com.oppo.preventmode、com.oppo.exserviceui、android.process.TrafficMonitor、com.android.dialer。
优选的,
所述步骤S2中Android操作系统自带的随机模拟用户操作工具为Monkey,该工具能驱动智能移动终端进行包括点击、长按、滑动操作在内的模拟人为操作智能移动终端的动作。
优选的,所述步骤S15中常驻服务内存泄露判定规则规定为如果常驻服务内存占用总体趋势图中存在某项后台常驻服务的内存占用是一直增长状态则判定存在常驻内存泄露问题,如果所有后台常驻服务只是起伏但总体持水平则判定后台常驻服务不存在内存泄露问题。
优选的,所述步骤S26中单独应用内存泄露判定规则规定为如果经过n次测试完并进行优化清理后记录的单独应用占用的内存值比之前记录的n次智能移动终端单独应用的内存泄露问题自动测试获取的单独应用占用的内存值中任何一次大则判定测试的单独应用存在内存泄露问题。
优选的,所述对智能移动终端进行模拟用户随机操作的特定次数t必须大于等于5000次,以满足达到内存泄露问题出现的操作条件。
优选的,所述对智能移动终端常驻服务的内存泄露问题自动测试次数m必须大于等于20次。
优选的,所述对智能移动终端单独应用的内存泄露问题自动测试次数n必须大于等于3次。
本发明的另一个目的通过以下技术方案实现:
一种智能移动终端内存自动化测试装置,应用于使用Android操作系统的智能移动终端,包括下列模块:
常驻服务的内存泄露问题自动测试判定模块,该模块针对Android操作系统智能移动终端的后台常驻服务,通过调用Android操作系统自带的随机模拟用户操作工具,对智能移动终端进行特定t次数模拟用户随机操作以达到内存泄露问题出现的操作条件,然后根据Android操作系统后台常驻服务内存占用记录的趋势对比,判定智能移动终端中Android操作系统后台常驻服务的内存是否存在泄露问题;
单独应用的内存泄露问题自动测试判定模块,该模块针对Android操作系统智能移动终端的各个常规应用采用遍历检测的方法,通过调用Android操作系统自带的随机模拟用户操作工具,对智能移动终端各个应用进行特定t次数模拟用户随机操作以达到内存泄露问题出现的操作条件,然后将经过n次测试完并进行优化清理后记录的单独应用占用的内存值和之前记录的n次智能移动终端单独应用的内存泄露问题自动测试获取的单独应用占用的内存值进行对比,逐个依次判定智能移动终端中Android操作系统各个常规应用的内存是否存在泄露问题。
优选的,所述常驻服务的内存泄露问题自动测试判定模块包括下列单元:
常驻服务的内存泄露问题测试初始化单元,该单元用于进入常驻服务的内存泄露问题自动测试判定,对智能移动终端系统进行优化清理,只保留系统后台常驻服务;
随机模拟操作单元,该单元用于调用Android操作系统自带的随机模拟用户操作工具,对智能移动终端进行特定m次数模拟用户随机操作以达到内存泄露问题出现的操作条件;
第一占用内存值测试记录单元,该单元用于模拟用户对智能移动终端进行特定m次数随机操作结束后,对智能移动终端系统进行优化清理,然后通过调用adb shell dumpsys meminfo命令来获取智能移动终端的常驻服务占用的内存值,完成一次常驻服务的内存泄露问题自动测试的同时并且记录内存的占用值;
常驻服务内存占用测试次数设置单元,该单元用于设置智能移动终端常驻服务的内存泄露问题自动测试次数m,并依次调用常驻服务的内存泄露问题测试初始化单元、随机模拟操作单元、第一占用内存值测试记录单元进行m次智能移动终端常驻服务的内存泄露问题自动测试并记录常驻服务占用的内存值;
常驻服务内存泄露判定单元,该单元根据m次常驻服务内存泄露问题自动测试记录的内存占用值绘制常驻内存总体趋势图,然后根据常驻服务内存占用总体趋势图结合常驻服务内存泄露判定规则来判断智能移动终端常驻内存是否存在内存泄露问题。
优选的,所述单独应用的内存泄露问题自动测试判定模块包括下列单元:
单独应用的内存泄露问题测试初始化单元,该单元用于进入单独应用的内存泄露问题自动测试判定,对智能移动终端系统进行优化清理,关闭系统的非常驻服务,保证智能移动终端系统达到测试要求的最佳状态;
随机模拟操作单元,该单元用于调用Android操作系统自带的随机模拟用户操作工具,对智能移动终端进行特定t次数模拟用户随机操作以达到内存泄露问题出现的操作条件;
第二占用内存值测试记录单元,该单元用于模拟用户对智能移动终端进行特定t次数随机操作结束后,然后通过调用adb shell dumpsys meminfo命令来获取智能移动终端的单独应用占用的内存值,完成一次单独应用的内存泄露问题自动测试的同时并且记录内存的占用值;
单独应用内存占用测试次数设置单元,该单元用于设置智能移动终端单独应用的内存泄露问题自动测试次数n,并依次调用单独应用的内存泄露问题测试初始化单元、随机模拟操作单元、第二占用内存值测试记录单元进行n次智能移动终端单独应用的内存泄露问题自动测试并记录单独应用占用的内存值;
优化清理后单独应用占用内存获取单元,该单元用于对智能移动终端系统进行优化清理,然后通过调用adb shell dumpsys meminfo命令来获取智能移动终端的单独应用占用的内存值并记录;
单独应用内存泄露判定单元,该单元将经过n次测试完并进行优化清理后记录的单独应用占用的内存值和之前记录的n次智能移动终端单独应用的内存泄露问题自动测试获取的单独应用占用的内存值进行对比,根据单独应用内存泄露判定规则判断智能移动终端单独应用是否存在内存泄露问题。
优选的,
所述常驻服务的内存泄露问题自动测试判定模块中Android操作系统移动终端的后台常驻服务包括:system、android.process.TrafficMonitor、com.android.systemui、com.android.phone、android.process.contacts、android.process.safer、com.oppo.preventmode、com.oppo.exserviceui、com.android.dialer。
优选的,所述单独应用的内存泄露问题自动测试判定模块中Android操作系统自带的随机模拟用户操作工具为Monkey,该工具能驱动智能移动终端进行包括点击、长按、滑动操作在内的模拟人为操作智能移动终端的动作。
优选的,所述常驻服务内存泄露判定单元中常驻服务内存泄露判定规则规定为如果常驻服务内存占用总体趋势图中存在某项后台常驻服务的内存占用是一直增长状态则判定存在常驻内存泄露问题,如果所有后台常驻服务只是起伏但总体持水平则判定后台常驻服务不存在内存泄露问题。
优选的,所述单独应用内存泄露判定单元中单独应用内存泄露判定规则规定为如果经过n次测试完并进行优化清理后记录的单独应用占用的内存值比之前记录的n次智能移动终端单独应用的内存泄露问题自动测试获取的单独应用占用的内存值中任何一次大则判定测试的单独应用存在内存泄露问题。
本发明相对于现有技术具有如下的优点及效果:
(1)本发明中智能移动终端内存自动化测试包括常驻服务的内存泄露问题自动测试判定和单独应用的内存泄露问题自动测试判定两部分,保证了内存泄露测试的全面性。
(2)而且可以设置每次测试次数和记录内存值的频率,可以进行更大强度的内存测试,更大程度的保证了使用Android操作系统的智能移动终端的内存相关的质量。
(3)整个内存泄露测试过程为全自动过程,测试过程中无需人员参与,测试结束后自动生成测试结果报告,极大的提高了内存测试的效率。
附图说明
图1是本发明中一种智能移动终端内存自动化测试方法流程图;
图2是本发明实施例一中智能移动终端常驻服务的内存泄露问题自动测试判定的步骤流程图;
图3是本发明实施例一中智能移动终端单独应用的内存泄露问题自动测试判定的步骤流程图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
实施例一
内存泄漏也称作“存储渗漏”,用动态存储分配函数动态开辟的空间,在使用完毕后未释放,结果导致一直占据该内存单元。直到程序结束。(其实说白了就是该内存空间使用完毕之后未回收)即所谓内存泄漏。
内存泄漏形象的比喻是“操作系统可提供给所有进程的存储空间正在被某个进程榨干”,最终结果是程序运行时间越长,占用存储空间越来越多,最终用尽全部存储空间,整个系统崩溃。所以“内存泄漏”是从操作系统的角度来看的。这里的存储空间并不是指物理内存,而是指虚拟内存大小,这个虚拟内存大小取决于磁盘交换区设定的大小。由程序申请的一块内存,如果没有任何一个指针指向它,那么这块内存就泄露了。
从用户使用程序的角度来看,内存泄漏本身不会产生什么危害,作为一般的用户,根本感觉不到内存泄漏的存在。真正有危害的是内存泄漏的堆积,这会最终消耗尽系统所有的内存。从这个角度来说,一次性内存泄漏并没有什么危害,因为它不会堆积,而隐式内存泄漏危害性则非常大,因为较之于常发性和偶发性内存泄漏它更难被检测到。
请参见图1,图1是本发明中公开的智能移动终端内存自动化测试方法流程图。图1所示的智能移动终端内存自动化测试方法,应用于使用Android操作系统的智能移动终端,具体包括下列步骤:
步骤S1、智能移动终端常驻服务的内存泄露问题自动测试判定,该步骤针对Android操作系统移动终端的后台常驻服务,通过调用Android操作系统自带的随机模拟用户操作工具,对智能移动终端进行特定t次数模拟用户随机操作以达到内存泄露问题出现的操作条件,然后根据Android操作系统后台常驻服务内存占用记录的趋势对比,判定智能移动终端中Android操作系统后台常驻服务的内存是否存在泄露问题。
本实施例中针对的后台常驻服务包括(但不局限于以下的列举):
system、android.process.safer、android.process.TrafficMonitor、com.android.phone、com.android.systemui、android.process.contacts、com.oppo.preventmode、com.oppo.exserviceui、com.android.dialer。
如图2中智能移动终端常驻服务的内存泄露问题自动测试判定的步骤流程图所示,将该步骤S1再做具体细化,又包括如下步骤:
S11、进入常驻服务的内存泄露问题自动测试判定,对智能移动终端系统进行优化清理,只保留系统后台常驻服务。
S12、调用Android操作系统自带的随机模拟用户操作工具,对智能移动终端进行特定m次数模拟用户随机操作以达到内存泄露问题出现的操作条件。
S13、模拟用户对智能移动终端进行特定m次数随机操作结束后,对智能移动终端系统进行优化清理,然后通过调用adb shell dumpsys meminfo命令来获取智能移动终端的常驻服务占用的内存值,完成一次常驻服务的内存泄露问题自动测试的同时并且记录内存的占用值。
S14、设置智能移动终端常驻服务的内存泄露问题自动测试次数m,重复步骤S11至步骤S13,进行m次智能移动终端常驻服务的内存泄露问题自动测试并记录常驻服务占用的内存值。
S15、根据m次常驻服务内存泄露问题自动测试记录的内存占用值绘制常驻服务内存占用总体趋势图,然后根据常驻服务内存占用总体趋势图结合常驻服务内存泄露判定规则来判断智能移动终端常驻内存是否存在内存泄露问题。
上述的常驻服务内存泄露判定规则规定为:如果常驻服务内存占用总体趋势图中存在某项后台常驻服务的内存占用是一直增长状态则判定存在常驻内存泄露问题,如果所有后台常驻服务只是起伏但总体持水平则判定后台常驻服务不存在内存泄露问题。
其中,对智能移动终端进行模拟用户随机操作的特定次数t必须大于等于5000次,以满足达到内存泄露问题出现的操作条件。在该实施例中,选取t等于5000次。
对智能移动终端常驻服务的内存泄露问题自动测试次数m必须大于等于20次,以满足达到反应常驻服务内存占用总体趋势的基本要求。在该实施例中,选取m等于20次。
步骤S2、智能移动终端单独应用的内存泄露问题自动测试判定,该步骤针对Android操作系统移动终端的各个常规应用采用遍历检测的方法,通过调用Android操作系统自带的随机模拟用户操作工具(其中Android操作系统自带的随机模拟用户操作工具为Monkey,该工具能驱动智能移动终端进行包括点击、长按、滑动等操作在内的模拟人为操作智能移动终端的动作),对智能移动终端各个应用进行特定t次数模拟用户随机操作以达到内存泄露问题出现的操作条件,然后将经过n次测试完并进行优化清理后记录的单独应用占用的内存值和之前记录的n次智能移动终端单独应用的内存泄露问题自动测试获取的单独应用占用的内存值进行对比,逐个依次判定智能移动终端中Android操作系统各个常规应用的内存是否存在泄露问题。
如图3中智能移动终端单独应用的内存泄露问题自动测试判定的步骤流程图所示,将该步骤S2再做具体细化,又包括如下步骤:
S21、进入单独应用的内存泄露问题自动测试判定,对智能移动终端系统进行优化清理,关闭系统的非常驻服务,保证智能移动终端系统达到测试要求的最佳状态。
S22、调用Android操作系统自带的随机模拟用户操作工具,对智能移动终端进行特定t次数模拟用户随机操作以达到内存泄露问题出现的操作条件。
S23、模拟用户对智能移动终端进行特定t次数随机操作结束后,然后通过调用adb shell dumpsys meminfo命令来获取智能移动终端的单独应用占用的内存值,完成一次单独应用的内存泄露问题自动测试的同时并且记录内存的占用值。
S24、设置智能移动终端单独应用的内存泄露问题自动测试次数n,重复步骤S21至步骤S23,进行n次智能移动终端单独应用的内存泄露问题自动测试并记录单独应用占用的内存值。
其中,对智能移动终端单独应用的内存泄露问题自动测试次数n必须大于等于3次,在本实施例一中选取n等于3次。
S25、对智能移动终端系统进行优化清理,然后通过调用adb shell dumpsysmeminfo命令来获取智能移动终端的单独应用占用的内存值并记录。
S26、将经过n次测试完并进行优化清理后记录的单独应用占用的内存值和之前记录的n次智能移动终端单独应用的内存泄露问题自动测试获取的单独应用占用的内存值进行对比,根据单独应用内存泄露判定规则判断智能移动终端单独应用是否存在内存泄露问题。
上述的单独应用内存泄露判定规则规定为:如果经过n次测试完并进行优化清理后记录的单独应用占用的内存值比之前记录的n次智能移动终端单独应用的内存泄露问题自动测试获取的单独应用占用的内存值中任何一次大则判定测试的单独应用存在内存泄露问题。
实施例二
本实施例公开了一种智能移动终端内存自动化测试装置,应用于使用Android操作系统的智能移动终端,包括下列模块:
一、常驻服务的内存泄露问题自动测试判定模块,
该模块针对Android操作系统智能移动终端的后台常驻服务,通过调用Android操作系统自带的随机模拟用户操作工具,对智能移动终端进行特定t次数模拟用户随机操作以达到内存泄露问题出现的操作条件,然后根据Android操作系统后台常驻服务内存占用记录的趋势对比,判定智能移动终端中Android操作系统后台常驻服务的内存是否存在泄露问题。
所述常驻服务的内存泄露问题自动测试判定模块中Android操作系统移动终端的后台常驻服务包括:system、android.process.TrafficMonitor、com.android.systemui、com.android.phone、android.process.contacts、android.process.safer、com.oppo.preventmode、com.oppo.exserviceui、com.android.dialer。
其中,所述常驻服务的内存泄露问题自动测试判定模块包括下列单元:
A1、常驻服务的内存泄露问题测试初始化单元,
该单元用于进入常驻服务的内存泄露问题自动测试判定,对智能移动终端系统进行优化清理,只保留系统后台常驻服务。
A2、随机模拟操作单元,
该单元用于调用Android操作系统自带的随机模拟用户操作工具,对智能移动终端进行特定m次数模拟用户随机操作以达到内存泄露问题出现的操作条件。
A3、第一占用内存值测试记录单元,
该单元用于模拟用户对智能移动终端进行特定m次数随机操作结束后,对智能移动终端系统进行优化清理,然后通过调用adb shell dumpsys meminfo命令来获取智能移动终端的常驻服务占用的内存值,完成一次常驻服务的内存泄露问题自动测试的同时并且记录内存的占用值。
A4、常驻服务内存占用测试次数设置单元,
该单元用于设置智能移动终端常驻服务的内存泄露问题自动测试次数m,并依次调用常驻服务的内存泄露问题测试初始化单元、随机模拟操作单元、第一占用内存值测试记录单元进行m次智能移动终端常驻服务的内存泄露问题自动测试并记录常驻服务占用的内存值。
A5、常驻服务内存泄露判定单元,
该单元根据m次常驻服务内存泄露问题自动测试记录的内存占用值绘制常驻内存总体趋势图,然后根据常驻服务内存占用总体趋势图结合常驻服务内存泄露判定规则来判断智能移动终端常驻内存是否存在内存泄露问题。
所述的常驻服务内存泄露判定规则规定为:如果常驻服务内存占用总体趋势图中存在某项后台常驻服务的内存占用是一直增长状态则判定存在常驻内存泄露问题,如果所有后台常驻服务只是起伏但总体持水平则判定后台常驻服务不存在内存泄露问题。
其中,对智能移动终端进行模拟用户随机操作的特定次数t必须大于等于5000次,以满足达到内存泄露问题出现的操作条件。在该实施例二中,选取t等于5000次。
对智能移动终端常驻服务的内存泄露问题自动测试次数m必须大于等于20次,以满足达到反应常驻服务内存占用总体趋势的基本要求。在该实施例二中,选取m等于20次。
二、单独应用的内存泄露问题自动测试判定模块,
该模块针对Android操作系统智能移动终端的各个常规应用采用遍历检测的方法,通过调用Android操作系统自带的随机模拟用户操作工具,对智能移动终端各个应用进行特定t次数模拟用户随机操作以达到内存泄露问题出现的操作条件,然后将经过n次测试完并进行优化清理后记录的单独应用占用的内存值和之前记录的n次智能移动终端单独应用的内存泄露问题自动测试获取的单独应用占用的内存值进行对比,逐个依次判定智能移动终端中Android操作系统各个常规应用的内存是否存在泄露问题。
所述单独应用的内存泄露问题自动测试判定模块中Android操作系统自带的随机模拟用户操作工具为Monkey,该工具能驱动智能移动终端进行包括点击、长按、滑动操作在内的模拟人为操作智能移动终端的动作。
其中,所述单独应用的内存泄露问题自动测试判定模块包括下列单元:
B1、单独应用的内存泄露问题测试初始化单元,
该单元用于进入单独应用的内存泄露问题自动测试判定,对智能移动终端系统进行优化清理,关闭系统的非常驻服务,保证智能移动终端系统达到测试要求的最佳状态。
B2、随机模拟操作单元,
该单元用于调用Android操作系统自带的随机模拟用户操作工具,对智能移动终端进行特定t次数模拟用户随机操作以达到内存泄露问题出现的操作条件。
B3、第二占用内存值测试记录单元,
该单元用于模拟用户对智能移动终端进行特定t次数随机操作结束后,然后通过调用adb shell dumpsys meminfo命令来获取智能移动终端的单独应用占用的内存值,完成一次单独应用的内存泄露问题自动测试的同时并且记录内存的占用值;
B4、单独应用内存占用测试次数设置单元,
该单元用于设置智能移动终端单独应用的内存泄露问题自动测试次数n,并依次调用单独应用的内存泄露问题测试初始化单元、随机模拟操作单元、第二占用内存值测试记录单元进行n次智能移动终端单独应用的内存泄露问题自动测试并记录单独应用占用的内存值。
其中,对智能移动终端单独应用的内存泄露问题自动测试次数n必须大于等于3次,在本实施例二中选取n等于3次。
B5、优化清理后单独应用占用内存获取单元,
该单元用于对智能移动终端系统进行优化清理,然后通过调用adb shelldumpsys meminfo命令来获取智能移动终端的单独应用占用的内存值并记录。
B6、单独应用内存泄露判定单元,
该单元将经过n次测试完并进行优化清理后记录的单独应用占用的内存值和之前记录的n次智能移动终端单独应用的内存泄露问题自动测试获取的单独应用占用的内存值进行对比,根据单独应用内存泄露判定规则判断智能移动终端单独应用是否存在内存泄露问题。
所述的单独应用内存泄露判定规则规定为如果经过n次测试完并进行优化清理后记录的单独应用占用的内存值比之前记录的n次智能移动终端单独应用的内存泄露问题自动测试获取的单独应用占用的内存值中任何一次大则判定测试的单独应用存在内存泄露问题。
值得注意的是,上述系统实施例中,所包括的各个装置和单元只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各装置和单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
Claims (17)
1.一种智能移动终端内存自动化测试方法,应用于使用Android操作系统的智能移动终端,其特征在于,包括下列步骤:
S1、智能移动终端常驻服务的内存泄露问题自动测试判定,该步骤针对Android操作系统移动终端的后台常驻服务,通过调用Android操作系统自带的随机模拟用户操作工具,对智能移动终端进行特定t次数模拟用户随机操作以达到内存泄露问题出现的操作条件,然后根据Android操作系统后台常驻服务内存占用记录的趋势对比,判定智能移动终端中Android操作系统后台常驻服务的内存是否存在泄露问题;
S2、智能移动终端单独应用的内存泄露问题自动测试判定,该步骤针对Android操作系统移动终端的各个常规应用采用遍历检测的方法,通过调用Android操作系统自带的随机模拟用户操作工具,对智能移动终端各个应用进行特定t次数模拟用户随机操作以达到内存泄露问题出现的操作条件,然后将经过n次测试完并进行优化清理后记录的单独应用占用的内存值和之前记录的n次智能移动终端单独应用的内存泄露问题自动测试获取的单独应用占用的内存值进行对比,逐个依次判定智能移动终端中Android操作系统各个常规应用的内存是否存在泄露问题。
2.根据权利要求1所述的一种智能移动终端内存自动化测试方法,其特征在于,所述步骤S1具体为:
S11、进入常驻服务的内存泄露问题自动测试判定,对智能移动终端系统进行优化清理,只保留系统后台常驻服务;
S12、调用Android操作系统自带的随机模拟用户操作工具,对智能移动终端进行特定m次数模拟用户随机操作以达到内存泄露问题出现的操作条件;
S13、模拟用户对智能移动终端进行特定m次数随机操作结束后,对智能移动终端系统进行优化清理,然后通过调用adb shell dumpsys meminfo命令来获取智能移动终端的常驻服务占用的内存值,完成一次常驻服务的内存泄露问题自动测试的同时并且记录内存的占用值;
S14、设置智能移动终端常驻服务的内存泄露问题自动测试次数m,重复步骤S11至步骤S13,进行m次智能移动终端常驻服务的内存泄露问题自动测试并记录常驻服务占用的内存值;
S15、根据m次常驻服务内存泄露问题自动测试记录的内存占用值绘制常驻服务内存占用总体趋势图,然后根据常驻服务内存占用总体趋势图结合常驻服务内存泄露判定规则来判断智能移动终端常驻内存是否存在内存泄露问题。
3.根据权利要求1所述的一种智能移动终端内存自动化测试方法,其特征在于,所述步骤S2具体为:
S21、进入单独应用的内存泄露问题自动测试判定,对智能移动终端系统进行优化清理,关闭系统的非常驻服务,保证智能移动终端系统达到测试要求的最佳状态;
S22、调用Android操作系统自带的随机模拟用户操作工具,对智能移动终端进行特定t次数模拟用户随机操作以达到内存泄露问题出现的操作条件;
S23、模拟用户对智能移动终端进行特定t次数随机操作结束后,然后通过调用adb shell dumpsys meminfo命令来获取智能移动终端的单独应用占用的内存值,完成一次单独应用的内存泄露问题自动测试的同时并且记录内存的占用值;
S24、设置智能移动终端单独应用的内存泄露问题自动测试次数n,重复步骤S21至步骤S23,进行n次智能移动终端单独应用的内存泄露问题自动测试并记录单独应用占用的内存值;
S25、对智能移动终端系统进行优化清理,然后通过调用adb shell dumpsysmeminfo命令来获取智能移动终端的单独应用占用的内存值并记录;
S26、将经过n次测试完并进行优化清理后记录的单独应用占用的内存值和之前记录的n次智能移动终端单独应用的内存泄露问题自动测试获取的单独应用占用的内存值进行对比,根据单独应用内存泄露判定规则判断智能移动终端单独应用是否存在内存泄露问题。
4.根据权利要求1所述的一种智能移动终端内存自动化测试方法,其特征在于,
所述步骤S1中Android操作系统移动终端的后台常驻服务包括:system、com.android.systemui、com.android.phone、android.process.contacts、android.process.safer、com.oppo.preventmode、com.oppo.exserviceui、android.process.TrafficMonitor、com.android.dialer。
5.根据权利要求1所述的一种智能移动终端内存自动化测试方法,其特征在于:
所述步骤S2中Android操作系统自带的随机模拟用户操作工具为Monkey,该工具能驱动智能移动终端进行包括点击、长按、滑动操作在内的模拟人为操作智能移动终端的动作。
6.根据权利要求2所述的一种智能移动终端内存自动化测试方法,其特征在于:
所述步骤S15中常驻服务内存泄露判定规则规定为如果常驻服务内存占用总体趋势图中存在某项后台常驻服务的内存占用是一直增长状态则判定存在常驻内存泄露问题,如果所有后台常驻服务只是起伏但总体持水平则判定后台常驻服务不存在内存泄露问题。
7.根据权利要求3所述的一种智能移动终端内存自动化测试方法,其特征在于:
所述步骤S26中单独应用内存泄露判定规则规定为如果经过n次测试完并进行优化清理后记录的单独应用占用的内存值比之前记录的n次智能移动终端单独应用的内存泄露问题自动测试获取的单独应用占用的内存值中任何一次大则判定测试的单独应用存在内存泄露问题。
8.根据权利要求1至7任一所述的一种智能移动终端内存自动化测试方法,其特征在于:
所述对智能移动终端进行模拟用户随机操作的特定次数t必须大于等于5000次,以满足达到内存泄露问题出现的操作条件。
9.根据权利要求1至7任一所述的一种智能移动终端内存自动化测试方法,其特征在于:
所述对智能移动终端常驻服务的内存泄露问题自动测试次数m必须大于等于20次。
10.根据权利要求1至7任一所述的一种智能移动终端内存自动化测试方法,其特征在于:
所述对智能移动终端单独应用的内存泄露问题自动测试次数n必须大于等于3次。
11.一种智能移动终端内存自动化测试装置,应用于使用Android操作系统的智能移动终端,其特征在于,包括下列模块:
常驻服务的内存泄露问题自动测试判定模块,该模块针对Android操作系统智能移动终端的后台常驻服务,通过调用Android操作系统自带的随机模拟用户操作工具,对智能移动终端进行特定t次数模拟用户随机操作以达到内存泄露问题出现的操作条件,然后根据Android操作系统后台常驻服务内存占用记录的趋势对比,判定智能移动终端中Android操作系统后台常驻服务的内存是否存在泄露问题;
单独应用的内存泄露问题自动测试判定模块,该模块针对Android操作系统智能移动终端的各个常规应用采用遍历检测的方法,通过调用Android操作系统自带的随机模拟用户操作工具,对智能移动终端各个应用进行特定t次数模拟用户随机操作以达到内存泄露问题出现的操作条件,然后将经过n次测试完并进行优化清理后记录的单独应用占用的内存值和之前记录的n次智能移动终端单独应用的内存泄露问题自动测试获取的单独应用占用的内存值进行对比,逐个依次判定智能移动终端中Android操作系统各个常规应用的内存是否存在泄露问题。
12.根据权利要求11所述的一种智能移动终端内存自动化测试装置,其特征在于,所述常驻服务的内存泄露问题自动测试判定模块包括下列单元:
常驻服务的内存泄露问题测试初始化单元,该单元用于进入常驻服务的内存泄露问题自动测试判定,对智能移动终端系统进行优化清理,只保留系统后台常驻服务;
随机模拟操作单元,该单元用于调用Android操作系统自带的随机模拟用户操作工具,对智能移动终端进行特定m次数模拟用户随机操作以达到内存泄露问题出现的操作条件;
第一占用内存值测试记录单元,该单元用于模拟用户对智能移动终端进行特定m次数随机操作结束后,对智能移动终端系统进行优化清理,然后通过调用adb shell dumpsys meminfo命令来获取智能移动终端的常驻服务占用的内存值,完成一次常驻服务的内存泄露问题自动测试的同时并且记录内存的占用值;
常驻服务内存占用测试次数设置单元,该单元用于设置智能移动终端常驻服务的内存泄露问题自动测试次数m,并依次调用常驻服务的内存泄露问题测试初始化单元、随机模拟操作单元、第一占用内存值测试记录单元进行m次智能移动终端常驻服务的内存泄露问题自动测试并记录常驻服务占用的内存值;
常驻服务内存泄露判定单元,该单元根据m次常驻服务内存泄露问题自动测试记录的内存占用值绘制常驻内存总体趋势图,然后根据常驻服务内存占用总体趋势图结合常驻服务内存泄露判定规则来判断智能移动终端常驻内存是否存在内存泄露问题。
13.根据权利要求11所述的一种智能移动终端内存自动化测试装置,其特征在于,所述单独应用的内存泄露问题自动测试判定模块包括下列单元:
单独应用的内存泄露问题测试初始化单元,该单元用于进入单独应用的内存泄露问题自动测试判定,对智能移动终端系统进行优化清理,关闭系统的非常驻服务,保证智能移动终端系统达到测试要求的最佳状态;
随机模拟操作单元,该单元用于调用Android操作系统自带的随机模拟用户操作工具,对智能移动终端进行特定t次数模拟用户随机操作以达到内存泄露问题出现的操作条件;
第二占用内存值测试记录单元,该单元用于模拟用户对智能移动终端进行特定t次数随机操作结束后,然后通过调用adb shell dumpsys meminfo命令来获取智能移动终端的单独应用占用的内存值,完成一次单独应用的内存泄露问题自动测试的同时并且记录内存的占用值;
单独应用内存占用测试次数设置单元,该单元用于设置智能移动终端单独应用的内存泄露问题自动测试次数n,并依次调用单独应用的内存泄露问题测试初始化单元、随机模拟操作单元、第二占用内存值测试记录单元进行n次智能移动终端单独应用的内存泄露问题自动测试并记录单独应用占用的内存值;
优化清理后单独应用占用内存获取单元,该单元用于对智能移动终端系统进行优化清理,然后通过调用adb shell dumpsys meminfo命令来获取智能移动终端的单独应用占用的内存值并记录;
单独应用内存泄露判定单元,该单元将经过n次测试完并进行优化清理后记录的单独应用占用的内存值和之前记录的n次智能移动终端单独应用的内存泄露问题自动测试获取的单独应用占用的内存值进行对比,根据单独应用内存泄露判定规则判断智能移动终端单独应用是否存在内存泄露问题。
14.根据权利要求11所述的一种智能移动终端内存自动化测试装置,其特征在于,
所述常驻服务的内存泄露问题自动测试判定模块中Android操作系统移动终端的后台常驻服务包括:system、android.process.TrafficMonitor、com.android.systemui、com.android.phone、android.process.contacts、android.process.safer、com.oppo.preventmode、com.oppo.exserviceui、com.android.dialer。
15.根据权利要求11所述的一种智能移动终端内存自动化测试装置,其特征在于:
所述单独应用的内存泄露问题自动测试判定模块中Android操作系统自带的随机模拟用户操作工具为Monkey,该工具能驱动智能移动终端进行包括点击、长按、滑动操作在内的模拟人为操作智能移动终端的动作。
16.根据权利要求12所述的一种智能移动终端内存自动化测试装置,其特征在于:
所述常驻服务内存泄露判定单元中常驻服务内存泄露判定规则规定为如果常驻服务内存占用总体趋势图中存在某项后台常驻服务的内存占用是一直增长状态则判定存在常驻内存泄露问题,如果所有后台常驻服务只是起伏但总体持水平则判定后台常驻服务不存在内存泄露问题。
17.根据权利要求13所述的一种智能移动终端内存自动化测试方法,其特征在于:
所述单独应用内存泄露判定单元中单独应用内存泄露判定规则规定为如果经过n次测试完并进行优化清理后记录的单独应用占用的内存值比之前记录的n次智能移动终端单独应用的内存泄露问题自动测试获取的单独应用占用的内存值中任何一次大则判定测试的单独应用存在内存泄露问题。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410519757.1A CN104317702B (zh) | 2014-09-30 | 2014-09-30 | 一种智能移动终端内存自动化测试方法与装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410519757.1A CN104317702B (zh) | 2014-09-30 | 2014-09-30 | 一种智能移动终端内存自动化测试方法与装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104317702A true CN104317702A (zh) | 2015-01-28 |
CN104317702B CN104317702B (zh) | 2017-08-25 |
Family
ID=52372937
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410519757.1A Expired - Fee Related CN104317702B (zh) | 2014-09-30 | 2014-09-30 | 一种智能移动终端内存自动化测试方法与装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104317702B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104991847A (zh) * | 2015-07-03 | 2015-10-21 | 厦门美图移动科技有限公司 | 一种内存泄露自动化检测方法、装置及移动终端 |
CN105204996A (zh) * | 2015-09-24 | 2015-12-30 | 努比亚技术有限公司 | 内存泄露检测装置及方法、终端 |
CN105243007A (zh) * | 2015-10-13 | 2016-01-13 | 广东欧珀移动通信有限公司 | 移动终端中内存的老化测试方法和装置 |
CN106155879A (zh) * | 2015-03-26 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 内存泄露的检测方法和装置 |
CN106326106A (zh) * | 2016-01-27 | 2017-01-11 | 上海华测导航技术股份有限公司 | 基于android手簿的资源泄露检测方法 |
CN107590013A (zh) * | 2017-09-05 | 2018-01-16 | 南京大学 | 一种检测Android应用Service构件泄露的高效方法 |
CN108009095A (zh) * | 2017-12-26 | 2018-05-08 | 上海展扬通信技术有限公司 | 内存测试方法及相关产品 |
CN110968516A (zh) * | 2019-12-04 | 2020-04-07 | 北京小米移动软件有限公司 | 应用内存测试方法、装置及计算机存储介质 |
CN112817844A (zh) * | 2021-01-25 | 2021-05-18 | 北京小米移动软件有限公司 | 后台进程驻留测试方法、装置、设备及存储介质 |
WO2022262530A1 (zh) * | 2021-06-16 | 2022-12-22 | 荣耀终端有限公司 | 内存管理的方法及电子设备 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101206616A (zh) * | 2006-12-19 | 2008-06-25 | 中国电信股份有限公司 | 一种图形界面程序的资源泄漏测试及问题定位方法 |
-
2014
- 2014-09-30 CN CN201410519757.1A patent/CN104317702B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101206616A (zh) * | 2006-12-19 | 2008-06-25 | 中国电信股份有限公司 | 一种图形界面程序的资源泄漏测试及问题定位方法 |
Non-Patent Citations (3)
Title |
---|
ANDROID之情殇: ""Android学习系列(29)"", 《HTTP://WWW.360DOC.COM/CONTENT/13/1217/19/9462341_337952823.SHTML》 * |
CRYSTALTIGER: ""Android的内存泄漏和调试"", 《HTTP://MY.OSCHINA.NET/U/1182603/BLOG/150243》 * |
JEAN ARAUJO等: ""An Investigative Approach to Software Aging in Android Applications"", 《2013 IEEE INTERNATIONAL CONFERENCE ON SYSTEMS, MAN, AND CYBERNETICS (SMC)》 * |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106155879B (zh) * | 2015-03-26 | 2018-11-13 | 阿里巴巴集团控股有限公司 | 内存泄露的检测方法和装置 |
CN106155879A (zh) * | 2015-03-26 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 内存泄露的检测方法和装置 |
CN104991847A (zh) * | 2015-07-03 | 2015-10-21 | 厦门美图移动科技有限公司 | 一种内存泄露自动化检测方法、装置及移动终端 |
CN104991847B (zh) * | 2015-07-03 | 2018-11-23 | 厦门美图移动科技有限公司 | 一种内存泄露自动化检测方法、装置及移动终端 |
CN105204996A (zh) * | 2015-09-24 | 2015-12-30 | 努比亚技术有限公司 | 内存泄露检测装置及方法、终端 |
CN105243007A (zh) * | 2015-10-13 | 2016-01-13 | 广东欧珀移动通信有限公司 | 移动终端中内存的老化测试方法和装置 |
CN105243007B (zh) * | 2015-10-13 | 2018-09-11 | 广东欧珀移动通信有限公司 | 移动终端中内存的老化测试方法和装置 |
CN106326106A (zh) * | 2016-01-27 | 2017-01-11 | 上海华测导航技术股份有限公司 | 基于android手簿的资源泄露检测方法 |
CN106326106B (zh) * | 2016-01-27 | 2018-11-09 | 上海华测导航技术股份有限公司 | 基于android手簿的资源泄露检测方法 |
CN107590013A (zh) * | 2017-09-05 | 2018-01-16 | 南京大学 | 一种检测Android应用Service构件泄露的高效方法 |
CN107590013B (zh) * | 2017-09-05 | 2020-12-04 | 南京大学 | 一种检测Android应用Service构件泄露的高效方法 |
CN108009095A (zh) * | 2017-12-26 | 2018-05-08 | 上海展扬通信技术有限公司 | 内存测试方法及相关产品 |
CN110968516A (zh) * | 2019-12-04 | 2020-04-07 | 北京小米移动软件有限公司 | 应用内存测试方法、装置及计算机存储介质 |
CN112817844A (zh) * | 2021-01-25 | 2021-05-18 | 北京小米移动软件有限公司 | 后台进程驻留测试方法、装置、设备及存储介质 |
WO2022262530A1 (zh) * | 2021-06-16 | 2022-12-22 | 荣耀终端有限公司 | 内存管理的方法及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN104317702B (zh) | 2017-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104317702A (zh) | 一种智能移动终端内存自动化测试方法与装置 | |
CN103338290B (zh) | 一种自动测试Android手机触屏性能的方法 | |
CN104268075B (zh) | 一种进入测试模式的方法、装置及移动终端 | |
CN102541700A (zh) | 一种终端测试方法、测试设备及终端代理 | |
CN103428333B (zh) | 移动终端、服务器和错误修复方法 | |
CN103516559A (zh) | 一种智能终端应用兼容性测试方法及系统 | |
CN103902333A (zh) | 移动终端自动卸载应用的方法及移动终端 | |
CN103247290A (zh) | 通信装置及其控制方法 | |
CN102045445A (zh) | 故障修复方法及具有故障修复功能的手机 | |
CN109656627A (zh) | 一种bios中硬盘的启动方法、启动系统及相关装置 | |
CN107590144A (zh) | 一种文件存储方法和终端 | |
CN102279722A (zh) | 控制终端的显示模块的方法和终端 | |
CN103761036A (zh) | 一种用于启动应用的方法及装置 | |
CN105975391A (zh) | 一种重启测试方法、设备和移动终端 | |
CN103870319B (zh) | 信息处理方法、装置及电子设备 | |
TW201621623A (zh) | 內存清理系統、方法及終端設備 | |
CN109534422A (zh) | 净水器清洗方法、净水器、计算机可读存储介质及系统 | |
CN103617129B (zh) | 一种内存处理的方法及装置 | |
CN104881357A (zh) | 用以在操作系统中扫描测试闲置功能单元的系统及方法 | |
CN105025365B (zh) | 一种智能电视平台离线下载方法及系统 | |
CN109213448A (zh) | 一种智能卡的擦写数据的方法、装置、设备及存储介质 | |
CN104010077A (zh) | 一种信息处理方法及电子设备 | |
CN105138447A (zh) | 一种Reboot测试过程中监测硬盘和内存的实现方法 | |
CN106681871A (zh) | 一种智能终端屏幕的测试方法 | |
CN105867896A (zh) | 一种智能终端加快开机速度的方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: Changan town in Guangdong province Dongguan 523860 usha Beach Road No. 18 Patentee after: GUANGDONG OPPO MOBILE TELECOMMUNICATIONS Corp.,Ltd. Address before: Changan town in Guangdong province Dongguan 523860 usha Beach Road No. 18 Patentee before: GUANGDONG OPPO MOBILE TELECOMMUNICATIONS Corp.,Ltd. |
|
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170825 |