0


APP性能测试Monkey随机压力测试(android手机压测)

App本身性能数据获取(cpu 内存 帧率 启动时间 流量 电量)

Monkey随机压力测试(android手机压测)

1.Android SDK

Android SDK,即Android Software Development Kit,是android的软件开发工具包.

它提供了在Windows/Linux/Mac平台上开发Android应用的开发组件。包含了在Android平台上开发移动应用程序的各种工具集。

​​​​​​​2.解压并配置SDK

使用解压工具(如360压缩,好压,快压等)解压AndroidSDK.rar到没有中文的目录下

配置环境变量:

        * 新建ANDROID_HOME : G:\software\Android\sdk

        * path添加三个变量

            %ANDROID_HOME%

            %ANDROID_HOME%\platform-tools

            %ANDROID_HOME%\tools

验证:adb(只要不提示不是内部或外部命令,表示配置成功

3.安卓adb

ADB全称Android Debug调试 Bridge桥, 是android sdk里的一个工具, 用这个工具可以直接操作管理android模拟器或者真实的andriod设备(手机 平板 电视 智能导航...)

它的主要功能有:

  • 运行设备的shell(命令行)

  • 管理模拟器或设备的端口映射

  • 计算机和设备之间上传/下载文件

  • 将本地apk软件安装至模拟器或android设备

3.1 ADB常用指令

查看设备

adb devices

这个命令是查看当前连接的设备, 连接到计算机的android设备或者模拟器将会列出显示

安装软件

adb install <apk文件路径>

adb install -r apk文件路径 --覆盖安装

这个命令将指定的apk文件安装到设备上.

卸载软件

adb uninstall <软件名> 问开发

adb uninstall -k <软件名>

如果加 -k 参数,为卸载软件但是保留配置和缓存文件

问程序员--com.example.test

登录设备shell

adb shell

adb shell <command命令>

这个命令将登录设备的shell.

后面加<command命令>将是直接运行设备命令, 相当于执行远程命令

查看手机日志

adb logcat

获取某个应用的日志输出到本地文件中

adb logcat -v time process | findstr 包名> C:/log/aa.txt(v表示详细程度-v –v -v)

有多台设备时adb选择设备

adb -s 设备名称 logcat -v time process | findstr 包名>C:/log/aa.txt

显示所有优先级大于等于“warning”的日志

adb logcat *:W

日志等级:

-- V : Verbose (明细);

-- D : Debug (调试);

-- I : Info (信息);

-- W : Warn (警告);

-- E : Error (错误);

-- F: Fatal (严重错误);

-- S : Silent(Super all output) (最高的优先级, 可能不会记载东西)

adb start-server adb启动

adb kill-server 停止adb

adb shell pm list packages 所有应用

adb shell pm list packages -s系统应用

adb shell pm list packages aaa查看包名包含字符串 aaa 的应用列表

adb shell pm clear com.baidu.com清除应用数据和缓存

  1. 随机压力测试-Monkey1. Monkey介绍

Monkey就是猴子,Monkey测试,就像一只猴子, 在电脑面前,乱敲键盘在测试。猴子什么都不懂,只知道乱敲(随机测试)

通过Monkey程序模拟用户触摸屏幕、滑动Trackball、 按键等操作来对设备上的程序进行压力测试(足够多次),检测程序多久的时间会发生异常

    1. Monkey用来做什么

Monkey 主要用于Android 的随机压力测试,是一个自动的压力测试小工具,主要目的就是为了测试android app是否会Crash(崩溃).

    1. Monkey 命令
  1. 使用monkey测试手机所有程序

adb shell monkey 100 执行monkey测试100次 针对rom测试或者

  1. Monkey实例

用monkey 命令 对登录apk进行 性能测试

adb shell monkey -p com.example.login --ignore-crashes --ignore-timeouts --throttle 100 --pct-touch 50 --pct-motion 50 -v -v -v -s 666 1000 >c:\login\c.txt

    1. Monkey异常日志分析

Monkey 测试出现错误后,一般的分析步骤

看Monkey的日志

  1. 程序无响应的问题: 在日志中搜索 “ANR”

  2. 崩溃问题:在日志中搜索 CRASH/Exception(例如果出现空指针NullPointerException)

Monkey 执行中断,在log最后也能看到当前执行次数

  1. 获取app性能数据1. CPU

  2. adb shell top 获取全部cpu

PID : progress identification,应用程序ID

S : 进程的状态,其中S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值是负数

#THR : 程序当前所用的线程数 thread

VSS : Virtual Set Size虚拟耗用内存(包含共享库占用的内存)

RSS : Resident Set Size实际使用物理内存(包含共享库占用的内存)

PCY : 前台(foreground)和后台(background)进程

UID : User Identification,用户身份ID

Name : 应用程序名称

  1. 查看手机整个cpu消耗情况

adb shell dumpsys cpuinfo

  1. 查看某一个应用的cpu使用情况

adb shell dumpsys cpuinfo | findstr com.jingdong.app.mall

    1. 内存
  1. 查看某个应用内存使用情况

adb shell dumpsys meminfo 包名

dalvik : dalvik使用的内存

native : native堆上的内存,指C\C++堆的内存(android 3.0以后bitmap就是放在这儿)

other : 除了dalvik和native的内存,包含C\C++非堆内存······

Pss : 该内存指将共享内存按比例分配到使用了共享内存的进程

allocated : 已使用的内存

free : 空闲的内存

private dirty : 非共享,又不能被换页出去的内存(比如linux系统中为了提高分配内存速度而缓冲的小对象,即使你的进程已经退出,该内存也不会被释放)

share dirty : 共享,但有不能被换页出去的内存

    1. 启动时间

手机APP的启动时长是一个很容易被用户感知的性能指标,启动时长过长会让用户极不愿意继续等待。因此启动时长是一项比较靠前的性能指标。

APP的启时长分为两种情况,

一种是冷启动时间(通常是系统重启,即在启动前没有该App进程的情况),

一种是热启动,即App从后台被切换到前台(点back退出后再点击图标启动)。

  1. adb指令启动

adb shell dumpsys activity | findstr mFocusedActivity 查看当前显示的界面名字及所属包名

adb shell am start -W com.jingdong.app.mall/.main.MainActivity

WaitTime 就是总的耗时,包括前一个应用Activity pause的时间和新应用启动的时间;

ThisTime 表示一连串启动Activity 的最后一个 Activity 的启动耗时

TotalTime表示新应用启动的耗时,包括新进程的启动和 Activity 的启动,但不包括前一个应用Activity pause 的耗时。也就是说,一般只要关心 TotalTime 即可,这个时间才是自己应用真正启动的耗时。

总结:这种测试方法简单容易,并且可以准确的计算出系统启动这个Activity的时间。但是缺点是不包括点击icon到系统接收到消息的时间,也就是说这个时间并不能完整的模拟用户操作场景的启动时间

    1. 电量

有的手机设置菜单里面会有流量和电量统计类,只需在测试前后记录下电量值,便可获取消耗电量数值。

    1. 帧率--有无卡顿

进入开发者选项 开启GPU呈现分析

各种颜色的线表示渲染这一帧用了多长时间,时间越长表示卡顿明显,绿色横线为标准线,app流畅运行应该在标准线以下


本文转载自: https://blog.csdn.net/m0_59580677/article/details/134832572
版权归原作者 宗介波妞 所有, 如有侵权,请联系我们删除。

“APP性能测试Monkey随机压力测试(android手机压测)”的评论:

还没有评论