【转】Android APP性能测试

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

X

b, 进入手机liunx内核
adb root 命令可以让已经root的手机进入到adb的root状态。
adb shell 命令进入手机的linux内核,出现“#”代表root权限,出现“$”代表普通用户权限。

C,使用top命令查看内存使用情况,如下图:

抓取特定的进程内存变化可以用命令:
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”

想要将抓取的内容保存到本地可以用如下命令:
adb shell top -d 1 -n 4 | find ‘com.subject.zhongchou‘ >>C:\Users\58\Desktop\log.txt
log.txt的内容如下:

我们只需要记录”RSS实际使用内存”这列的数据,将他画成折线图,分析内存波动状态,就是上图中画红圈部分数值,。
分析内存直线图:一般抓取每次抓取200—300个数据,抓取3-5次,然后查看内存波动情况,在一定范围内的上下起伏波动证明内存没有泄露,如果出现内存数值持续增长,没有回落现象说明可能存在内存泄露。
二、 是否存在资源的重复拉取
测试步骤:
1,打开fiddler,将手机连接到fiddler上。
A,确保手机和fiddler在一个网段。
B,设置手机的代理为你电脑的IP,端口号为:8888
C, 确认即可。
2, 清空fiddler抓取记录,然后打开要检测的对象,如众筹网的App。
3,复制fiddler中抓取的全部资源(一个页面求情的所有资源)到excel。
4,通过excel排序,查看获取的资源中有没有重复项。

通过上图,我们明显看到圈中的内容重复了,此时需要打回给开发,查找重复拉取资源的原因。
三,无缓存/首屏总流量
测试步骤:
1, 清除手机相应软件缓存。
2, 打开fiddler,清空fiddler抓取记录。
3, 打开要测试的App,fiddler抓取首屏加载信息。
4, 选中fiddler抓取记录中所有记录,在右侧框中选择“Statistics”选择卡。如下图所示:

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:

如下图所示为有cookie的js,不符合要求:

特别说明:
部分统计JS需要cookie请与开发及产品沟通,沟通通过后说明原因,可以通过。

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

X

3,单击“监控应用”一栏的“增加”按钮,可以添加要监控的app,如众筹网,如下图所示。单击“监控指标”后面的“修改”按钮,可以增加或是减少监控指标。

4,在添加好监控应用后,单击“启动监控”,开始对应用进行监控。如下图所示:

5,将iTest置于后台远行,然后打开被监控的程序,如:众筹网,进行一系列我们预期的操作。操作结束后,打开iTest,单击“停止监控”按钮,结束监控操作。
6,查看监控结果。打开应用左上角的菜单项,选择“数据走势图”,查看我们监控的数据走势。如下图所示:
 
7.切换下面的按钮,查看各个指标的走势图,如下图所示:
(1)CPU占用率统计图:

(2)内存使用情况

(3)流星累计图

(4)电量统计
如果要测试的App耗电量不是很大的话,电量趋势图是没有波动的,此处就不展示了。
8,测试分析
iTest可以监控到App的CPU,内存,流量和电量的波动情况;可是现在也没有明确的指标,使用情况达到多少算是合适,多少算是优秀。只要使用率不是过分的高就可以,而且现在的手机性能越来越高,这个监控值只是个参考、
当然,可以由产品或是项目经理来定一个指标,我们在指定的机型上去测试。如果超标,就去查找造成超标的原因,进行优化。
六,小结
本文我们讲到了几种App的性能测试方法,iTest性能测试工具,通过这些儿方法,我们可以对被测试App的各种性能参数进行测试和监控。但测试之前,我们要先对要测试应用对象,测试执行的机型做好明确的选择,因为执行机型对性能测试的影响比较大。而移动应用的性能还与服务或是接口的响应时间有关系,所以后端的性能也非常重要的。在明确了我们的测试目的后,才可以对测试产生的结果进行准确的分析,协同相关人员来进行优化。

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

时间: 2024-12-29 23:50:52

【转】Android APP性能测试的相关文章

android app性能测试工具GT源码获取以及部署

GT是TMQ(腾讯移动品质中心)研发的一款app性能测试工具.官方地址:http://gt.qq.com/index.htmlgithub地址:https://github.com/Tencent/GT运行工具:eclipse ,我用的专门集成android环境的版本如下图eclipse下载地址:链接: https://pan.baidu.com/s/1csbzl0 密码: 3633 第一步 去github clone代码在cmd命令行中进入到事先创建好的项目存放文件夹下执行 git clone

Android App性能测试

1.性能测试 启动时间,主要测试App在启动过程中的耗时情况 CPU, 主要测试App在使用过程中的CPU占比率 流量,主要测试App在使用过程中对流量的消耗情况 电量,主要测试App在使用过程中对电量的消耗情况 内存,主要测试 App在使用过程中对内存的消耗,验证使用过程中无内存泄露的情况 FPS(每秒的帧数),衡量流畅度,通过观察,可以发现流畅度异常的情况. 过度渲染,影响流畅度的一个方面就是过度渲染,通过过度渲染的测试,可以发现一些异常的情况 . 2.性能测试环境准备 Android SD

Emmagee app性能测试工具使用教程(转)

Emmagee app性能测试工具使用教程 by:授客 QQ:1033553122 简介 Emmagee是网易杭州研究院QA团队开发的一个简单易上手的Android性能监测小工具,主要用于监控单个App的CPU,内存,流量,启动耗时,电量,电流等性能状态的变化,且用户可自定义配置监控的频率以及性能的实时显示,并最终生成一份性能统计文件. 实现原理 1.监控应用CPU原理 Android系统是基于Linux内核的,所以系统文件的结构和Linux下一样,系统总体CPU使用信息放在/proc/stat

老李分享:android app自动化测试工具合集

老李分享:android app自动化测试工具合集 poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨询qq:908821478,咨询电话010-84505200.我们从2016年8月开始不断升级测试开发工程师就业培训的班的课程,不断新增和优化课程内容,为了和当下企业的实际情况,提高学员的实战水平,在2016年稳定课程主题框架,做到每半年升级一版. 安卓应用自动化测试工具之一 - PerfectoMob

android app性能优化大汇总(UI渲染性能优化)

UI性能测试 性能优化都需要有一个目标,UI的性能优化也是一样.你可能会觉得“我的app加载很快”很重要,但我们还需要了解终端用户的期望,是否可以去量化这些期望呢?我们可以从人机交互心理学的角度来考虑这个问题.研究表明,0-100毫秒以内的延迟对人来说是瞬时的,100-300毫秒则会感觉明显卡顿,300-1000毫秒会让用户觉得“手机卡死了”,超过1000ms就会让用户想去干别等事情了. 这是人类心理学最基础的理论,我们可以从这个角度去优化页面/view/app的加载时间. Ilya Grigo

关于APP性能测试脚本录制的四种方法

大家好,近段时间很多人问我关于APP性能测试方面问题.一直是打算发表的,由于多方面的因素拖到现在,有次公司让我给客户讲解APP性能测试,回来后就一直觉得有必要写下.好了,不多废话. 目前版本LoadRunner12有图下4种方式生成脚本. Recording and Analyze Traffic Analyze Traffic Record Emulator Proxy Recording 第一种:Record and Analyze Traffic 在电脑上设置wifi热点,需将网络共享到该

Android App性能优化笔记之一:性能优化是什么及为什么?

By Long Luo 周星驰的电影<功夫>里面借火云邪神之口说出了一句至理名言:“天下武功,唯快不破”. 在移动互联网时代,同样如此,留给一个公司的窗口往往只有很短的时间,如何把握住这个时机,迅速开发出产品,成为至关重要的一环.相对传统互联网时代的PC产品,用户对移动端产品的容忍度更低.而一款移动应用在推出的时候可能只是接近完成的状态,这就需要通过快速的迭代开发来更新产品,不断完善产品来留住用户.同时,通过更新产品也能唤醒一些沉默用户,让一些原本下载了应用但使用次数非常少的用户给该应用多一次

Android应用性能测试(客户端-服务端)平台实现

Android应用性能测试(客户端-服务端)平台实现 东海陈光剑 2014年5月23日 2:01:05 开源项目代码: https://github.com/universsky/EmmageePlus (基于Emmagee) https://github.com/universsky/EmmageePlus/blob/master/src/com/netease/qa/emmagee/service/EmmageeService.java /* * Copyright (c) 2012-201

Android APP性能及专项测试(个人整理)

移动测试. Android测试 .APP测试   Android篇 1. 性能测试 Android性能测试分为两类:1.一类为rom版本(系统)的性能测试2.一类为应用app的性能测试 Android的app性能测试包括的测试项比如:1.资源消耗2.内存泄露3.电量功耗4.耗时5.网络流量消耗6.移动终端相关资源利用率7.帧率8.渲染等等.... 工具:(工具的原理都是基于调用android底层的一些api来获取到测试所用到的值)GT等 测试方法:1.设计场景 :手工或自动化场景2.获取数据:可