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的性能软件啊?
随机推荐
- https://github.com/python/cpython/blob/master/Doc/library/contextlib.rst 被同一个线程多次获取的同步基元组件
# -*- coding: utf-8 -*- import time from threading import Lock, RLock from datetime import datetime ...
- https://pingcap.com/blog-cn/flame-graph/
https://pingcap.com/blog-cn/flame-graph/ 因为 TiKV 是自己内部使用了 jemalloc,并没有用系统的 malloc,所以我们不能直接用 perf 来探查 ...
- MiniDLNA常用操作
# MiniDLNA常用操作 ## 简介 多媒体共享服务器,类似于FTP,支持DLNA的客户端都可以看视频,听音乐,处于同一局域网就可以了 ## 管理 - 启动`systemctl start min ...
- 使用Dapper.Contrib
public T Query(string sql, object param) { using (IDbConnection dbConnection = Connection) { if (dbC ...
- HTML中 :after和:before的作用及使用方法(转)
1. :before 和 :after 的主要作用是在元素内容前后加上指定内容,示例: HTML代码: <p>你好</p> CSS代码: p:before{ content: ...
- Beacon Designer 8.14 下载及破解
先安装 Beacon Designer 8.14 下载地址 http://1.download.minixiazai.com/pc/Beacon.Designer.8_po.ziphttp://www ...
- 读取Excel,通过Testng完成数据驱动
背景 数据驱动是我们写自动化脚本非常常用的技术,而Testng中数据驱动常用的注解是 @DataProvider,但是这个方法必须返回一个Object[][].最近常有学生问起,如果通过外部文件作为数 ...
- pytorch设置多GPU运行的方法
1.DataParallel layers (multi-GPU, distributed) 1)DataParallel CLASS torch.nn.DataParallel(module, de ...
- Ideal设置编码格式
file-------settings-------file Encodings
- LODOP粒度TableRowThickNess合并行测试
之前的博文:LODOP打印table不切行TableRowThickNess. ,中是没有合并行等的表格,通过设置增大分页粒度,会找附近的表格线,然后根据表格线分页,避免了切行.如果有比较复杂的表格, ...