内存泄露:就是指由于代码设计的不合理,开发工程师使用内存后,不释放内存,这样某块内存就没有释放,一直占用,如果我们反复的操作该代码对应的功能,就会出现没释放的内存原来越多,这样就会导致内存泄露。
内存泄露判断原始原则,当一个进程出现使用内存一直上涨,当时间无线延长,该进程的内存还在一直上涨,最终该进程到达了应用的内存极限,导致进程内存溢出,进程死掉。
当然并不是所有的内存,一直上涨都需要提BUG,有些进程出现缓慢上涨,如果在2小时内上涨未超过20M,则是可以接受的,不需要提BUG
内存泄露用例关注点:
1、抓住必要的功能点测试即可,非必要的步骤和用例清除掉
2、一条用例只重复测试一个功能
3、关注有图片,动画加载的功能
4、关注有列表加载的功能
5、关注界面进行刷新的功能
6、关注有功能跳转的功能
7、关注有缓存数据生成的功能
8、关注跟网络交互的功能
举例说明:
测试用例:长按单个应用弹出气泡无内存泄露
操作步骤:
1.待机主界面长按应用弹出气泡
2.待机主界面长按分身弹出气泡
3.待机主界面长按快捷方式弹出气泡
4.待机主界面长按挂件弹出 气泡
以上步骤执行3小时,如果内存有上升趋势,请加测一个小时。专项执行1晚上。
期望结果:无内存相关异常
1、进入root模式
Adb命令:
adb vivoroot
adb remount
2、查看内存占比
2.1 桌面的sysmem2.0内存占比.pl,拖动到CMD窗口下,执行,查看内存占比
2.1 一键加速,再查看内存占比
3、设置路径
测试工具—安卓内存泄露测试—刷新进程(若一个进程都没有,可结束后台进程Avast Antivirus Service
再重新打开工具)—直接设置路径(不选择进程),可以设置在桌面上,建立一个文件夹“内存泄露”
4、导出hprof文件
选择com.bbk.launcher2进程,右键选择:导出hprof文件
检查是否导出成功,
5、 添加监控进程
双击com.bbk.launcher2进程,添加到左侧的,进程列表中
6、双击BBKAutoTest批处理文件,出现下面的弹框
7、点击开始录制,录制用例
8、播放用例
9、制作图表
脚本跑完后,查看“内存泄露”文件夹里com.bbk.launcher2的数据,拷贝到excel表格中,制作图表
表格中第一列的数据是com.bbk.launcher2文档中的源数据,表格中第二列的数据是将第一列的数据除以1024得到下列图标
注意:一般2个小时不超过20M,超过加测1小时,继续上涨,提BUG,且内存不能有很高的激增现象