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的性能软件啊?
随机推荐
- 清理Windows.edb
解决Windows.edb文件巨大的windows 10问题的另一个快速解决方法是删除Windows.edb文件. 步骤1:在任务管理器中终止SearchIndexer.exe --按Ctrl + A ...
- Ionic4 Cordova 调用原生硬件 Api 实现扫码功能
QR Scanner 速度快,样式随心所欲,默认只能扫二维码 https://ionicframework.com/docs/native/qr-scanner/ 安装插件 ionic cordova ...
- shell编程系列2--字符串的处理
shell编程系列2--字符串的处理 字符串的处理 .计算字符串的长度 方法1 ${#string} 方法2 expr length "$string" (如果string中间有空 ...
- JQuery中formSerialize()报错:对象不支持"formSerialize"属性或方法
formSerialize()是jQuery的表单插件中提供的方法. formSerialize()的核心方法是:$.param(data); Form表单经过formSerialize(),被序列化 ...
- ISO/IEC 9899:2011 条款6.5.17——逗号操作符
6.5.17 逗号操作符 语法 1.expression: assignment-expression expression , assignment-expression 语义 2.一个 ...
- win10网上邻居看不到别的共享电脑怎么样办
https://jingyan.baidu.com/article/4853e1e5b714aa1909f72600.html
- kafka的ACK
在谈及到Kafka的ACK之前我们要向讲一下Kafka的复制机制,为了保证Kafka的高性能,设计了分区,一个topic的分区是的数据可以分散,然后可以让更多的消费者来进行消费:避免单一分区,只能由一 ...
- 迅速解决!!!!!启动Tomcat报错PermGen space
启动Tomcat报错 PermGen space 内存溢出 解决方法:扩大tomcat内存 修改参数:set JAVA_OPTS=-Xms1024m -Xmx1024m -XX:PermSi ...
- jvm 虚拟机字节码指令表(转)
- array_map array_walk
$config = [ => [], => [], => [] ]; array_map(function($key) use ($config){ print_r($key); d ...