App客户端性能测试点总结
一、内存
测试范围
1. 空闲状态下的应用内存消耗情况
2. 中等规格状态下的应用内存消耗情况
3. 满规格状态下的应用内存消耗情况
4. 应用内存峰值情况
5. 应用内存泄露情况
6. 应用是否常驻内存
7. 压力测试后的内存使用情况
测试方法
1. 第三方工具emmage,GT,itest,wetest
2. 使用 android 提供的 adb shell dumpsys meminfo |grep packagename >/address/mem.txt 来获取
3. 使用 android 提供的 procrank
4. 使用 android 提供的ActivityManager.MemoryInfo()
二、cpu
测试范围:
1. 空闲状态下的应用CPU消耗情况
2. 中等规格状态下的应用CPU消耗情况
3. 满规格状态下的应用CPU消耗情况
4. 应用CPU峰值情况
测试方法:
1. 第三方工具emmage,GT,itest,wetest
2. 使用android提供的adb shell dumpsys cpuinfo |grep packagename >/address/cpu.txt来获取
3. 使用top命令 adb shell top |grep packagename>/address/cpu.txt 来获取
三、启动时间
测试范围:
1. 首次启动 --应用首次启动所花费的时间
2. 非首次启动 --应用非首次启动所花费的时间
3. 应用界面切换--应用界面内切换所花费的时间
测试方法:
1. am start的开始时间和displayed的完成时间
2. android 提供的 DisplayManager 来获取 activity 的启动时间
四、耗电量
测试范围:
1. 测试手机安装目标APK前后待机功耗无明显差异
2. 常见使用场景中能够正常进入待机,待机电流在正常范围内.
3. 长时间连续使用应用无异常耗电现象
测试方法:
1. 基于android提供的PowerManager.WakeLock来进行
2. 功耗的计算=CPU消耗+Wake lock消耗+数据传输消耗+GPS消耗+Wi-Fi连接消耗
3. adb shell dumpsys battery
4. 耗电管家,电池管家
五、流量
测试范围:
1. 应用首次启动流量提示
2. 应用后台连续运行 2 小时的流量值
3. 应用高负荷运行的流量峰值
4. 应用中等负荷运行时的流量均值
测试方法:
1. 第三方工具emmage,GT,itest,wetest
2. 通过 tcpdump 抓包,再通过 wireshake 直接读取包信息来获得流量
3. 查看 adb shell cat /proc/uid_stat/uid/tcp_rcv adb shell cat /proc/uid_stat/uid/tcp_snd
六、补充adb命令
1. 显示android模拟器上所有在执行的进程:adb shell ps
2. adb shell 获取手机设备信息:
1)设备基本信息:cat /system/build.prop | grep "product"
2)CPU信息:/proc/cpuinfo和/proc/stat
3)内存:/proc/meminfo和adb shell dumpsys meminfo
Terms
VSS - Virtual Set Size 虚拟耗用内存(包含共享库占用的内存)
RSS - Resident Set Size 实际使用物理内存(包含共享库占用的内存)
PSS - Proportional Set Size 实际使用的物理内存(比例分配共享库占用的内存)
USS - Unique Set Size 进程独自占用的物理内存(不包含共享库占用的内存)
App客户端性能测试点总结的更多相关文章
- app常见性能测试点
转载自 https://blog.csdn.net/xiaomaoxiao336368/article/details/83547318 1.响应 冷启动 首次启动APP的时间间隔 adb shell ...
- Android客户端性能优化(魅族资深工程师毫无保留奉献)
本文由魅族科技有限公司资深Android开发工程师degao(嵌入式企鹅圈原创团队成员)撰写,是degao在嵌入式企鹅圈发表的第一篇原创文章,毫无保留地总结分享其在领导魅族多个项目开发中的Androi ...
- 使用DDMS测试安卓手机APP的性能(android)
安装/配置: 通过另外一个工具也可以测试手机客户端APP的性能,这就是android开发包中的DDMS工具(Dalvik Debug Monitor Service),先来说一下android开发包的 ...
- benchmark pm2的cluster模式发布web app的性能与相关问题解决方法
pm2以cluster集群方式发布app,可以高效地利用多核cpu,有效提升吞吐量.在上周对公司的redmine服务器进行性能调优后,深感ruby on rails的性能低下,这次测试nodejs的s ...
- 使用异步HTTP提升客户端性能(HttpAsyncClient)
使用异步HTTP提升客户端性能(HttpAsyncClient) 大家都知道,应用层的网络模型有同步.异步之分. 同步,意为着线程阻塞,只有等本次请求全部都完成了,才能进行下一次请求. 异步,好处是不 ...
- Android : App客户端与后台服务的AIDL通信以及后台服务的JNI接口实现
一.APP客户端进程与后台服务进程的AIDL通信 AIDL(Android Interface definition language-“接口定义语言”) 是 Android 提供的一种进程间通信 ( ...
- Web 2.0应用客户端性能问题十大根源《转载》
前言 Web 2.0应用的推广为用户带来了全新的体验,同时也让开发人员更加关注客户端性能问题.最近,资深Web性能诊断专家.知名工具dynatrace的创始人之一Andreas Grabner根据自己 ...
- FTP 服务器性能 测试点
测试FTP 服务器性能测试点: 1. ftp软件性能 2. ftp服务器硬件处理性能(IO/CPU/ROM) 3. ftp服务器网络吞吐性能 (NET IO) 有针对性的测试 达到的效果会比较好. 建 ...
- 有谁知道什么工具测试IOS手机上APP的性能软件啊?
有谁知道什么工具测试IOS手机上APP的性能软件啊?
随机推荐
- Acer笔记本如何装系统?
一.准备工作 1.一个有win7或者XP系统的电脑(制作启动盘用) 2.一个8G以上的U盘 3.win7&win8系统包(win8.1下载地址:http://pan.baidu.com/s/1 ...
- mediacoder固定质量CRF
视频编码:crf 与 bitrate 对照表 CRF(constant rate factor)就是x264/x265下压制视频的一种恒定量化值的编码方式,码率不恒定.其实就相当于vbr1pass.采 ...
- C++中操作符——学习笔记
1.箭头操作符 用于指针. 使用容器vector存指针,迭代器是指针需要 解引用后再解引用才是数据.图中漏掉了iter++ 记得要delete 2.算术运算符 %:获得余数. 优先级. 溢出: 除法的 ...
- [转]BigDecimal使用(整理)
原文地址:https://www.jianshu.com/p/2947868d76eb 应用场景 大多数的商业计算中,一般采用java.math.BigDecimal类来进行精确计算.比如:货币 使用 ...
- 下周文件ie 谷歌兼容性处理
https://blog.csdn.net/u014628388/article/details/81738704 问题描述window.URL.createObjectURL()可以直接生成blob ...
- ros 学习 array 的添加
array的添加,使用 arry[i]赋值时会出现段错误,需要使用array.push_back添加到数据中,在ros中array数组是以vector方式存储的. 例如: 包含数组的msg定义为: h ...
- invalid application of ‘sizeof’ to incomplete type
sizeof 后面所跟的数据类型没有定义,或者找不到定义的地方 eg: 头文件中定义结构体如下: struct PersonaL{ char name[]; int age; }; 但是在cpp中使 ...
- Spring cloud微服务安全实战-5-6实现授权码认证流程(2)
授权服务器,返回给我一个授权码,这里我只需要把授权传回去就可以了.来证明我是这个服务器. URI的地址传和第一次的地址一样的,认证服务器会比,第一次跳转的请求和第二次申请令牌的请求redirect_u ...
- 报错:Unable to read additional data from client sessionid 0x36ab52d38c20b20, likely client has closed socket
报错背景: CDH集群中,将kafka和Flume整合,将kafka的数据发送给Flume消费. 启动kafka的时候正常,但是启动Flume的时候出现了报错现象. 但是我检查了Flume,Flume ...
- 【Leetcode_easy】1021. Remove Outermost Parentheses
problem 1021. Remove Outermost Parentheses 参考 1. Leetcode_easy_1021. Remove Outermost Parentheses; 完