环境:Android测试环境shell
搭建Android测试环境:windows
一、下载AndroidSDK;网络
二、配置环境变量;app
(1)、ANDROID_HOMEless
(2)、ANDROID_HOME-TOOLStcp
(3)、ANDROID_HOME-PALTFORM-TOOLS性能
三、Android底层Java开发,如需运行安卓远程调试桥(adb),需Java运行环境;测试
四、下载JAVA;PS:下载JDK和JRE都行,JDK为JAVA开发环境,JRE为JAVA运行环境,开发环境中包含运行环境;优化
五、配置环境变量JAVA_HOME;ui
六、验证Java -version;出现版本号便可
PS:Android手机如与windowS电脑链接需安装手机驱动;Mac自动监测安装
移动端性能测试指标:
一、启动时间;(1)、冷启动 (2)、热启动
冷启动:应用的第一次启动,这个时候应用程序的进程是没有建立的
热启动:应用非第一次启动,若是按back键,并无将应用进程杀掉,热启动没有了初始化的过程
adb命令:adb shell am start -W mainActivity 能够看到ThisTime TotalTime WaitTime
ThisTime表示一连串启动Activity的最后一个Activity的启动耗时;
TotalTime表示新应用启动的耗时,包括新进程的启动和Activity的启动,但不包括前一个应用Activity pause的耗时;
WaitTime就是总的耗时,包括前一个应用Activity pause的时间和新应用启动的时间;
最后总结一下,若是只关心某个应用自身启动耗时,参考TotalTime;若是关心系统启动应用耗时,参考WaitTime;若是关心应用有界面Activity启动耗时,参考ThisTime
PS:am全名activity manager,你能使用am去模拟更重系统的行为
pm全名package manager,你能使用pm命令去模拟Android行为或查询设备上的应用等,当你在adb shell 命令下执行pm命令
二、CPU占用率;
adb命令:adb shell top | grep pid
adb shell top | grep package
adb shell dumpsys cpuinfo | grep pid
adb shell dumpsys cpuinfo | grep package
PS: 最好先adb shell 进入安卓系统,在执行adb shell以后的语句 windows系统dos窗口中grep换成find
三、内存占用率;
adb命令:adb shell dumpsys meminfo | grep pid
adb shell dumpsys meminfo | grep package
PS: 最好先adb shell 进入安卓系统,在执行adb shell以后的语句。 windows系统dos窗口中grep换成find
TOTAL行的数据做为当前app内测占用的衡量数据;
执行出现结果会看到USS、RSS、VSS、PSS
USS指进程对子占用物理内存(不包含共享库占用的内存);
RSS指实际使用的物理内存(包含共享库占用的内存);
VSS指虚拟好用内存;
PSS指实际使用的物理内存;
PS:移动端采用PSS指标
四、耗电量;
adb命令:adb shell dumpsys battery
PS: 最好先adb shell 进入安卓系统,在执行adb shell以后的语句
出现信息解读:
AC powered:false 是否链接AC(电源)充电线
USB powered:true 是否链接USB(PC或笔记本USB插口)充电
Wireless powered:false 是否使用了无线电源
status: 1 电池状态,2为充电状态,其余为非充电状态
level:58 电量(%)
scale: 100. 电量最大数值
voltage: 3977 当前电压(mV)
current now: -335232. 当前电流(mA)
temperature:355 电池温度,单位为0.1摄氏度
technology:Li-poly. 电池种类
五、温度;
cat /etc/thermald.conf
cat 为查看命令
六、每秒帧数(流畅度)[fps];
adb命令:adb shell dumpsys gfxinfo package
PS: 最好先adb shell 进入安卓系统,在执行adb shell以后的语句
正常状况下帧率应该在16ms左右,若是1秒60帧的话,并且Execute时间太长!须要优化
七、GPU占用率;
PS :游戏会测试到,但通常不去测试该指标;
八、网络;
(1)、Wi-Fi[网络友好度]
(2)、蜂窝[耗费资源和友好度]
adb 命令:adb shell dumpsys package | grep userId [经过app包名,获取app的userID(安装后惟一且固定)]
adb shell cat /proc/uid_stat/userId/tcp_rcv [cat为查看命令,读取tcp_rcv获取下载应用流量信息(设备重启后清零)]
adb shell cat /proc/uid_stat/userId/tcp_snd [cat为查看命令,读取tcp_snd获取下载应用流量信息(设备重启后清零)]
九、ANR(页面无响应);
十、Crash(程序崩溃);
PS :ANR和Crash使用Monkey测试
注:dumpsys是Android手机里面的可执行文件