Android 性能测试策略
一:监测设备的内存和cpu 。
1. adb shell 的top 能够监测CPU
。
具体的命令为:adb shell top [-mmax_procs][-niterations][-ddelay][-ssort_column][-t]其中[]内的为可选项。max_procs表示最多显示多少个进程、iterations 表示要刷新的次数,delay 表示刷新的间隔时间(默认为5s ),sort_column表示按哪列排序,[-t]表示要显示线程信息而不是进程。
2. adb shell 的dumpsys meminfo 命令能够监测pad 的Pss 内存(Pss 是占用的私有内存加上平分的共享内存。例如一块1M 的共享内存被两个进程共享,那每个进程分500K 。各进程的Pss 相加基本等于实际被使用的物理内存,所以这个经常是最重要的参数。我也不太懂)。
用法:adb shell dumpsys meminfo com.iflytek.autofly 。最后那个“com.iflytek.autofly ”是包名,想监控哪一个就换哪一个包名就行了。
3.
组合起来可以是这样的:
这是用perl 写的程序,第一行的意思是:以在末尾追加的方式向d 盘的log_memory.txt文件(最好自己新建一个)里写入。注意那个“\”和“log ”字之间要有一个空格(我也不知道为什么)。然后进入死循环,第三行就是用dumpsys meminfo 获取com.iflytek.autofly 的Pss 等信息并放在a 变量中。第四行是获取当前的时间放入b 变量中。第五行就是用top ……。然后那个i++目前没什么用。第八、九、十三行是向文件
写入a 、b 、c 三个变量里的内容的意思。第十一行是写分割线,第十二行是让程序不要运行的太快,沉睡0.5s 之后再进行下一步的意思。
二:根据数据画图
使用工具抓取数据,并用Excel 绘图。可能是由于不同的Android 版本不同,导致dumpsys meminfo 获取的数据格式有所不同,需要使用不同的脚本:
三:数据分析
分析平均值,查看是否满足需求、是否达到验收标准。
峰值,查看是否出现异常情况,分析在什么操作下会出现异常,引起异常的原因是什么。变化趋势,查看折线图的变化趋势,分析是什么情况下对应什么样的曲线状态,并判断操作继续极端是否会出现内存溢出等异常。
平均值与峰值的差距,查看系统是否稳定,后期可以用正态分布加以完善。
四:测试报告
根据分析出的数据,结合需求文档、验收标准描述实际情况与标准的差距,给出测试报告。
Android 性能测试策略
一:监测设备的内存和cpu 。
1. adb shell 的top 能够监测CPU
。
具体的命令为:adb shell top [-mmax_procs][-niterations][-ddelay][-ssort_column][-t]其中[]内的为可选项。max_procs表示最多显示多少个进程、iterations 表示要刷新的次数,delay 表示刷新的间隔时间(默认为5s ),sort_column表示按哪列排序,[-t]表示要显示线程信息而不是进程。
2. adb shell 的dumpsys meminfo 命令能够监测pad 的Pss 内存(Pss 是占用的私有内存加上平分的共享内存。例如一块1M 的共享内存被两个进程共享,那每个进程分500K 。各进程的Pss 相加基本等于实际被使用的物理内存,所以这个经常是最重要的参数。我也不太懂)。
用法:adb shell dumpsys meminfo com.iflytek.autofly 。最后那个“com.iflytek.autofly ”是包名,想监控哪一个就换哪一个包名就行了。
3.
组合起来可以是这样的:
这是用perl 写的程序,第一行的意思是:以在末尾追加的方式向d 盘的log_memory.txt文件(最好自己新建一个)里写入。注意那个“\”和“log ”字之间要有一个空格(我也不知道为什么)。然后进入死循环,第三行就是用dumpsys meminfo 获取com.iflytek.autofly 的Pss 等信息并放在a 变量中。第四行是获取当前的时间放入b 变量中。第五行就是用top ……。然后那个i++目前没什么用。第八、九、十三行是向文件
写入a 、b 、c 三个变量里的内容的意思。第十一行是写分割线,第十二行是让程序不要运行的太快,沉睡0.5s 之后再进行下一步的意思。
二:根据数据画图
使用工具抓取数据,并用Excel 绘图。可能是由于不同的Android 版本不同,导致dumpsys meminfo 获取的数据格式有所不同,需要使用不同的脚本:
三:数据分析
分析平均值,查看是否满足需求、是否达到验收标准。
峰值,查看是否出现异常情况,分析在什么操作下会出现异常,引起异常的原因是什么。变化趋势,查看折线图的变化趋势,分析是什么情况下对应什么样的曲线状态,并判断操作继续极端是否会出现内存溢出等异常。
平均值与峰值的差距,查看系统是否稳定,后期可以用正态分布加以完善。
四:测试报告
根据分析出的数据,结合需求文档、验收标准描述实际情况与标准的差距,给出测试报告。