• Android 性能测试初探(三)


    书接上文 Android 性能测试初探(二) 本文接着往下聊,今天主聊 CPU 及 内存

    看到这两个名词,做过PC性能测试的就比较熟悉了,同样的性能测试关注点 :)

    首先说说内存,移动端关注的是内存消耗,这个测试节点的设计目标是为了让应用不占用过多的系统资源,且及时释放内存,保障整个系统的稳定性,当然关于内存测试,在这里我们需要引入几个概念,

    • 空闲状态
    • 中等规格
    • 满规格,

    空闲状态:指打开应用后,点击home键让应用后台运行,此时应用处于的状态叫做空闲。 中等规格和满规格指的是对应用的操作时间的间隔长短不一,中等规格时间较长,满规格时间较短。

    接下来我们说说在内存测试中,存在很多测试子项,如下清单所示

    1.空闲状态下的应用内存消耗情况
    2.中等规格状态下的应用内存消耗情况
    3.满规格状态下的应用内存消耗情况
    4.应用内存峰值情况
    5.应用内存泄露情况
    6.应用是否常驻内存
    7.压力测试后的内存使用情况

    说了一些关于内存测试方面的设定,接下来我们聊聊测试方法DIY,现在关于android内存测试的方法基本分为几类,

    1.使用 android 本身提供的 ActivityManager.MemoryInfo() 方法获得(此方法请百度或google)此类第三方工具有如网易的Emmagee、安测试、腾讯的GT等
    2.使用 android 提供的 adb shell dumpsys meminfo |grep packagename >/address/mem.txt 来获取
    3.使用 android 提供的 procrank

    这里我们详解一下 procrank 方法(批处理)

    首先去google获取procrank、procmem、libpagemap.so 三个文件 .

    然后push文件,执行 adb push procrank /system/xbin adb push procmem /system/xbin adb push libpagemap.so /system/lib

    赋权 adb shell chmod 6755 /system/xbin/procrank adb shell chmod 6755 /system/xbin/procmem adb shell chmod 6755 /system/lib/libpagemap.so ,

    在开启工具记录 adb shell procrank |grep packagename >/address/procrank.txt

    剩下的就是整理测试数据了

    关于内存泄露方面的测试,可以通过几个方面来测试

    1.通过monkey压力测试记录内存使用情况,分析数据曲线图及日志情况
    2.通过eclipse上的mat+heap来分析存在内存泄露方面的节点

    说了这么多内存的,我们再来说说CPU方面的,CPU跟内存一样,存在一些测试子项,如下清单所示

    1.空闲状态下的应用CPU消耗情况
    2.中等规格状态下的应用CPU消耗情况
    3.满规格状态下的应用CPU消耗情况
    4.应用CPU峰值情况

    CPU的测试方法分为几类
    1.使用android提供的adb shell dumpsys cpuinfo |grep packagename >/address/cpu.txt来获取
    2.使用top命令 adb shell top |grep packagename>/address/cpu.txt 来获取
    恩,说了大半章了,cpu及内存的测试相信各位应该有所了解了,下回继续聊其他测试项

    注明:

    本文转载 kasi的文章 ,感谢kasi的分享,原文地址:

    https://testerhome.com/kasi

  • 相关阅读:
    CSS text-indent 属性
    从零开始搭建一个简单的基于webpack的vue开发环境
    mui is not defined
    vue项目中引入mui.poppicker.js文件时报错“Uncaught ReferenceError: mui is not defined”
    vue-cli创建的项目中引入第三方库报错'caller', 'calle', and 'arguments' properties may not be...
    微信小程序点击顶部导航栏切换样式
    js学习笔记-日期对象
    setTimeout()和setInterval()的用法及区别
    Ubuntu 14.04 下安装redis后运行redis-cli 报出redis Connection refused错误【已解决】
    Ubuntu start:未知任务:mysql
  • 原文地址:https://www.cnblogs.com/appium/p/4609419.html
Copyright © 2020-2023  润新知