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

这篇具有很好参考价值的文章主要介绍了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常用指令

monkey apk,压力测试,智能手机

查看设备

adb devices

monkey apk,压力测试,智能手机

这个命令是查看当前连接的设备, 连接到计算机的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. 随机压力测试-Monkey
    1. 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
  1. 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. 查看某个应用内存使用情况

monkey apk,压力测试,智能手机

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://www.toymoban.com/news/detail-774319.html

到了这里,关于APP性能测试Monkey随机压力测试(android手机压测)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 在Android Studio上使用Monkey工具对安卓应用进行压力测试

    2–pct-trackball 调整轨迹事件的百分比(轨迹事件由一个或几个随机的移动组成,有时还伴随有点击)–(轨迹球) 3–pct-nav 调整“基本”导航事件的百分比(导航事件由来自方向输入设备的up/down/left/right组成) 4–pct-majornav 调整“主要”导航事件的百分比(这些导航事件通常引发图

    2024年04月15日
    浏览(38)
  • 【压测指南|压力测试核心性能指标及行业标准】

    在做压力测试时,新手测试人员常常在看报告时倍感压力:这么多性能测试指标分别是什么意思,应该达到什么标准? 本文将结合实际压测报告,帮助您快速理解压测时的主要性能指标,了解如何解读该指标以及通常情况下应该达到的标准。 性能测试过程是模拟用户真实视

    2024年02月15日
    浏览(37)
  • Taurus.MVC 性能压力测试(ap 压测 和 linux 下wrk 压测):.NET 版本

    上次发布了:Taurus.MVC 性能压力测试(ap 压测 和 linux 下wrk 压测):.NET Core 版本 今天计划准备压测一下 .NET 版本,来测试并记录一下 Taurus.MVC 框架在 .NET 版本的性能,以便后续持续优化改进。 为了方便对比,本文章的电脑环境和测试思路,尽量和上文保持一致,以便方便对

    2024年04月16日
    浏览(39)
  • Taurus.MVC 性能压力测试(ap 压测 和 linux 下wrk 压测):.NET Core 版本

    最近的 Taurus.MVC 版本,对性能这一块有了不少优化,因此准备进行一下压测,来测试并记录一下 Taurus.MVC 框架的性能,以便后续持续优化改进。 今天先压测 .NET Core 版本,后续有时间再压测一下.NET 版本。 下面来看不同场景下的压测结果,以下测试结果会由两台电脑进行分

    2024年04月10日
    浏览(30)
  • 软件测试工程师使用Jmeter工具做接口压力测试(Jmeter配置随机生成手机号)

    背景:性能测试的数据准备时很多情况需要产生一批新的数据,我们这次主要讲述的是如何产生随机的手机号,以用户注册接口为场景、生成随机手机号作为账号进行并发测试。 JMeter压力测试中设置线程组的线程数,即执行时的并发用户数,适用于单个线程组的并发测试。

    2023年04月19日
    浏览(60)
  • 【day01】monkey压力测试,稳定性

    1.压力测试:在一定的时间内进行大量操作。 2.稳定性测试:功能基本稳定之后,一直做到回归 主要找crash和anr问题,必解 测试:随机操作(对整体app验证,不针对模块,不针对单个功能。用于模拟人的操作),如调节亮度,调节声音,截屏,做设置。本质上monkey为伪随机操

    2024年02月13日
    浏览(45)
  • 随机测试 Monkey Test

    今天说一说随机测试,Monkey Test。翻译成中文就是猴子测试。 你可以想象一只猴子趴在电脑面前,拿着鼠标随便乱点的样子。 软件测试中的Monkey测试是测试人员对应用程序随机输入以验证其功能的一种方法。这是一种功能性黑盒测试方法,在没有足够的时间编写和执行测试时

    2024年02月03日
    浏览(25)
  • 【压测】通过Jemeter进行压力测试(超详细)

    通过SpringCloudGateway整合Nacos进行负载均衡和动态路由选择。由于Nacos的服务发现有一定的延迟性,所以在服务突然挂机的时候,QPS较大的情况下,还是会有部分的请求进入到这个服务。为了解决这个问题,改写了一点点nacos基于ribbon的负载选择,通过筛选最近响应时间较短的服

    2024年02月02日
    浏览(38)
  • 手机APP性能测试工具PerfDog性能狗安装教程及简单使用

            PerfDog是一个由腾讯研发的主流性能测试软件。可以提高软件和游戏的运行效率,支持iOS/安卓在移动平台上的性能测试和分析,快速定位和分析性能问题等。无需安装,即插即用,减少繁琐的测试障碍,安卓设备不需要ROOT,iOS设备也不需要越狱,有效解决安卓和i

    2024年02月11日
    浏览(39)
  • 使用ApiPost进行压力测试(单接口的一键并发压测)

    在API调试页面可进行 一键压测 操作,目前只支持但接口的并发压测。 1、输入并发数、轮次后,点击“开始压测”按钮,等待压测完成; 2、查看压测结果。 图片来源:https://baijiahao.baidu.com/s?id=1754892932902378304wfr=spiderfor=pc 1、并发结果很容易受外界因素影响ÿ

    2024年02月11日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包