【转】Android APP性能测试

性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。而app的性能也越来越被关注,下面我们就介绍一下app的性能测试方法。但是性能测试是参考值,不管什么测试方法都不可能精确地测试出被测试对象的真实性能指标,这一点要事先明确。
一、内存泄露
Android内存抓取步骤
准备:电脑需安装android adb 并将adb的目录加入到系统环境变量中,通过电脑命令窗口来查看内存变化状况,并记录内存数值
步骤:
a、adb devices -l 查看手机设备是否连接上,如下图所示:

Android APP性能测试(上)X


b, 进入手机liunx内核
adb root 命令可以让已经root的手机进入到adb的root状态。
adb shell 命令进入手机的linux内核,出现“#”代表root权限,出现“$”代表普通用户权限。
Android APP性能测试(上)
C,使用top命令查看内存使用情况,如下图:
Android APP性能测试(上)
抓取特定的进程内存变化可以用命令:
adb shell top -d 1 –n 4 | find '进程名'
-d 指定刷新间隔时间
-n 指定刷新次数后退出
D,在手机上启动你要查看的app,如众筹网(com.subject.zhongchou)。查看内容使用情况,具体命令如下:
adb shell top –d 1 –n 4 | find “com.subject.zhongchou”
Android APP性能测试(上)
想要将抓取的内容保存到本地可以用如下命令:
adb shell top -d 1 -n 4 | find 'com.subject.zhongchou' >>C:Users58Desktoplog.txt
log.txt的内容如下:
Android APP性能测试(上)
我们只需要记录”RSS实际使用内存”这列的数据,将他画成折线图,分析内存波动状态,就是上图中画红圈部分数值,。
分析内存直线图:一般抓取每次抓取200—300个数据,抓取3-5次,然后查看内存波动情况,在一定范围内的上下起伏波动证明内存没有泄露,如果出现内存数值持续增长,没有回落现象说明可能存在内存泄露。
二、 是否存在资源的重复拉取
测试步骤:
1,打开fiddler,将手机连接到fiddler上。
A,确保手机和fiddler在一个网段。
B,设置手机的代理为你电脑的IP,端口号为:8888
C, 确认即可。
2, 清空fiddler抓取记录,然后打开要检测的对象,如众筹网的App。
3,复制fiddler中抓取的全部资源(一个页面求情的所有资源)到excel。
4,通过excel排序,查看获取的资源中有没有重复项。
Android APP性能测试(上)
通过上图,我们明显看到圈中的内容重复了,此时需要打回给开发,查找重复拉取资源的原因。
三,无缓存/首屏总流量
测试步骤:
1, 清除手机相应软件缓存。
2, 打开fiddler,清空fiddler抓取记录。
3, 打开要测试的App,fiddler抓取首屏加载信息。
4, 选中fiddler抓取记录中所有记录,在右侧框中选择“Statistics”选择卡。如下图所示:
Android APP性能测试(上)
Fiddler中流量就是Bytes Sent + Bytes Received,即是上图加红圈中的两项。
5, 计算一下这个流量总合是不是达到要求,当然这个是产品给出的标准,如:58的app首屏流量不能超过200K。如果达不到要求,就去查找原因。
四,抓包检查(js/css)请求头不能带cookie
Cookie:
1、 打开fiddler,清空fiddler抓取记录。
2、 访问App,通过fiddler抓取所有资源。
3、 挨个查看js/css中是否存在cookie。
如下图所示为没有cookie的js:
Android APP性能测试(上)
如下图所示为有cookie的js,不符合要求:
Android APP性能测试(上)
特别说明:
部分统计JS需要cookie请与开发及产品沟通,沟通通过后说明原因,可以通过。

五,科大迅飞itest的使用
iTest 性能测试工具不仅适合个人用户,那更是Android测试人员的专业手机性能监控工具。支持手工测试和自动化测试两种模式,它填补了手机端自动化测试的空白,以实用高效为宗旨,记录特定应用的性能消耗情况,包括cpu、内存、流量、电量等信息。
下面我们介绍一下这个工具的使用方法:
1,下载安装iTest,百度手机助手,豌豆荚等都可以下载。
2,安装完成后,打开这个应用,如下图所示:

Android APP性能测试(下)X


3,单击“监控应用”一栏的“增加”按钮,可以添加要监控的app,如众筹网,如下图所示。单击“监控指标”后面的“修改”按钮,可以增加或是减少监控指标。
Android APP性能测试(下)
4,在添加好监控应用后,单击“启动监控”,开始对应用进行监控。如下图所示:
Android APP性能测试(下)
5,将iTest置于后台远行,然后打开被监控的程序,如:众筹网,进行一系列我们预期的操作。操作结束后,打开iTest,单击“停止监控”按钮,结束监控操作。
6,查看监控结果。打开应用左上角的菜单项,选择“数据走势图”,查看我们监控的数据走势。如下图所示:
Android APP性能测试(下) 
7.切换下面的按钮,查看各个指标的走势图,如下图所示:
(1)CPU占用率统计图:
Android APP性能测试(下)
(2)内存使用情况
Android APP性能测试(下)
(3)流星累计图
Android APP性能测试(下)
(4)电量统计
如果要测试的App耗电量不是很大的话,电量趋势图是没有波动的,此处就不展示了。
8,测试分析
iTest可以监控到App的CPU,内存,流量和电量的波动情况;可是现在也没有明确的指标,使用情况达到多少算是合适,多少算是优秀。只要使用率不是过分的高就可以,而且现在的手机性能越来越高,这个监控值只是个参考、
当然,可以由产品或是项目经理来定一个指标,我们在指定的机型上去测试。如果超标,就去查找造成超标的原因,进行优化。
六,小结
本文我们讲到了几种App的性能测试方法,iTest性能测试工具,通过这些儿方法,我们可以对被测试App的各种性能参数进行测试和监控。但测试之前,我们要先对要测试应用对象,测试执行的机型做好明确的选择,因为执行机型对性能测试的影响比较大。而移动应用的性能还与服务或是接口的响应时间有关系,所以后端的性能也非常重要的。在明确了我们的测试目的后,才可以对测试产生的结果进行准确的分析,协同相关人员来进行优化。

转自http://blog.sina.cn/dpool/blog/s/blog_68f262210102w97c.html?vt=4&type=-1

原文地址:https://www.cnblogs.com/xiaoxu6/p/5974265.html