3分钟了解Android中稳定性测试

news2025/1/18 9:09:25

一、什么是Monkey

Monkey在英文里的含义是猴子,在测试行业的学名叫“猴子测试”,指的是没有测试经验的人甚至是根本不懂计算机的人(就像一只猴子),不需要知道程序的任何用户交互方面的知识,给他一个程序,他就会对他看到的任何界面进行操作,当然操作是无目的的、随便乱按乱点的,这种测试在产品周期的早期阶段会很有效,为用户节省了很多时间。

Monkey 是 Android平台提供的一种自动化测试方法,它会随机的模拟发送各种按键,点击,滑动等用户事件来实现压力测试。看系统版本是否稳定,能否持续的为用户提供服务。从log查看异常的次数、异常的频率。

Monkey.jar程序是由一个名为“monkey”的Shell脚本来启动执行,shell脚本在Android文件系统中的存放路径是:/system/bin/monkey;可以通过执行: adb shell monkey {+命令参数}来进行Monkey测试。

用Monkey进行App压力测试的结果有三种zhi。

1、正常。

2、Crash :程dao序崩溃。

3、ANR:程序无响应。

二、Monkey的特征

1、测试的对象仅为应用程序包,有一定局限性

2、Monkey测试使用的事件随机流是随机的,也可以进行自定义

3、可对MonkeyTest的对象,事件数量,类型,频率等进行设置

Monkey的停止条件:

1、应用程序崩溃或接收到任何失控异常

2、应用程序不响应

3、正常运行结束

4、强制停止进程(ctrl C)

三、Monkey的运行环境搭建

1. 首先搭建monkey的运行环境

下载sdk安装包

2. 设置sdk下面tools的环境变量下载安装完成后,鼠标右击“计算机”-》属性-》高级系统设置-》环境变量-》

点击Path,将platform-tools文件所在路径添加到环境变量中,例如:“E:\android-sdk-windows\platform-tools”添加到变量值中,与之前的变量值用分号隔开。如下图示例:

3. 下载安装JDK ,下载完成之后点击安装,并且配置JDK的环境变量

4. 设置完成后,进行测试。1).通过USB 将手机连接电脑 。2).电脑端点击菜单上的开始键->运行,或者使用快捷键(WIN+R),输入cmd,打开电脑的DOS命令行。如下图:

3).接下来在命令行中输入运行monkey的命令。如:adb shell monkey –p sogou.mobile.explorer –v 1000 其中:sogou.mobile.explorer为需要测试的应用程序包名。输入命令点击回车,如果被测试的包被调起运行,到此环境搭建完毕!

下面是配套资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!

软件测试面试小程序

被百万人刷爆的软件测试题库!!!谁用谁知道!!!全网最全面试刷题小程序,手机就可以刷题,地铁上公交上,卷起来!

涵盖以下这些面试题板块:

1、软件测试基础理论 ,2、web,app,接口功能测试 ,3、网络 ,4、数据库 ,5、linux

6、web,app,接口自动化 ,7、性能测试 ,8、编程基础,9、hr面试题 ,10、开放性测试题,11、安全测试,12、计算机基础

资料获取方式 :

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/755197.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

TCP协议3次握手4次挥手

建立一个TCP连接时,需要客户端和服务端总共发送3个包以确认连接的建立,在socket编程中,这一过程由客户端执行connect来触发,在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。 TCP三次握手的过程如下:第一次握…

【编译之美】【5. 代码优化:数据流分析】

有些优化只能在全局优化中做,在本地优化中做不了,比如: 代码移动(Code motion)能够将代码从一个基本块挪到另一个基本块,比如从循环内部挪到循环外部,来减少不必要的计算。(循环剥离…

【HarmonyOS】Stage模型二维码/条码生成与解析

HarmonyOS的官方API中提供了QRCode组件(QRCode-基础组件-组件参考(基于ArkTS的声明式开发范式)-ArkTS API参考-HarmonyOS应用开发),这个组件有个缺点只能用于显示二维码,无法显示条码与解析码内容&#xff…

【hadoop】部署hadoop的伪分布模式

hadoop的伪分布模式 伪分布模式的特点部署伪分布模式hadoop-env.shhdfs-site.xmlcore-site.xmlmapred-site.xmlyarn-site.xml对NameNode进行格式化启动Hadoop 对部署是否完成进行测试免密码模式免密码模式的原理(重要)免密码模式的配置 伪分布模式的特点…

Linux离线环境Jenkins部署SpringBoot

Jenkins服务器 把Jar包上传到Linux服务器的/jenkins/目录下 Dashboard----》新建任务----》构建一个自由风格的软件项目----》test 修改jenkins工作空间 新建构建前执行命令stop.sh,停止SpringBoot并备份 (这里是目标服务器,即部署项目的…

2.3 移动次数计算和静态链表

1. 元素移动次数计算问题 本问题针对顺序表, 因为链表不需要移动元素, 只需要重新连接指针即可. 题型一: 计算在某个位置上插入一个新元素会导致多少元素的移动. 题型二: 计算在每个位置上插入一个元素所导致的平均移动次数. 先计算每个位置上插入的概率, 一般是1/n, 平均移…

vue Router(v3.x) 路由传参的三种方式详解

文章目录 前言一,params 传参(显示参数)注意: 响应路由参数的变化 二,params 传参(不显示参数)注意:上述这种利用 params 不显示 url 传参的方式会导致在刷新页面的时候,…

【HCIA】10.VLAN间通信

VLAN间通信的解决方法 使用路由器的物理接口 路由器三层接口作为网关,转发本网段前往其它网段的流量。路由器三层接口无法处理携带VLAN Tag的数据帧,因此交换机上联路由器的接口需配置为Access。路由器的一个物理接口作为一个VLAN的网关,因此…

即视角|出海资本热土——印尼市场洞察(下)

即视角Insight 共享即构新洞察,共建行业新动能——ZEGO即构科技基于音视频技术领域的多年深耕,综合面向各行业的服务经验,在【即视角】栏目发布即构对行业的洞察。 在《即视角|出海资本热土——印尼市场洞察(上&…

WIFI鉴权的过程

1.前言 当今手机连接WIFI热点普遍采用WPA2-PSK的方式。本文讨论这个方式的鉴权过程。 2. 鉴权过程 我们称需要连接的一方为station,简称STA。提供WIFI热点的一方为AP。 连接之前, station需要知道AP的名字(ssid)和密码(PSK)。 定义 &#x…

Openlayers实战:多地图底图切换

在实际的地图项目中,不管是我们看到的百度地图还是高德地图等,都会有地图切换这一项。 在Openlayers实战中,我们用三种地图做demo,分别是谷歌地图。Openstreetmap,stamen地图。 切换的主要原则是设置三个底图层,设定其显示状态,用到了visible这一个属性。 效果图 源代码…

更新补丁导致360随身wifi提示USB设备驱动异常

运行环境:Windows11 更新补丁版本:2023-适用于 Windows 11 的 07 累积更新,适合基于 x64 的系统 (KB5028182) 硬件版本:360随身wifi-3 错误提示:USB设备驱动异常,创建Wifi网络失败 采取措施:更新…

Openlayers实战:加载Bing地图

Bing地图在地图领域有一定的江湖地位,是微软公司的产品。 在Openlayers其内置了Bing地图的方法,可以研究其API。我们的实战中是要其成为一个底图,很简单的就可以加载出来。 效果图 源代码 /* * @Author: 大剑师兰特(xiaozhuanlan),还是大剑师兰特(CSDN) * @此源代码版…

ELK 企业级日志分析系统(四)

ELK 一、部署Kafka集群二、Kafka的命令行操作三、Kafka架构深入四、FilebeatKafkaELK部署 一、部署Kafka集群 1.下载安装包 官方下载地址:http://kafka.apache.org/downloads.html cd /opt wget https://mirrors.tuna.tsinghua.edu.cn/apache/kafka/2.7.1/kafka_2…

Halcon会慢慢被淘汰吗?

作为一个语言模型,我不能提供预测未来的确凿答案。然而,我可以提供一些关于Halcon和机器视觉市场的观察和趋势。 我这里刚好有嵌入式、单片机、plc的资料需要可以私我或在评论区扣个6 Halcon是一款商业机器视觉软件,具有广泛的应用和用户群…

“AI in the Alps“:身体与精神的一场盛宴

作者:Christofer Dutz 得益于 Timecho 的组织和安排,我最近参加了一个精彩绝伦的活动 “AI in the Alps”,并从中收获颇丰。 这次活动是由德国工业界知名博客 “Industrial AI Podcast”(http://aipod.de)的组织者 Ro…

metersphere数据库SQL断言应用

在使用metersphere的时候,需要查询数据库数据来验证接口是否正常,在查看使用手册时,发现不是很明确,在研究一点时间后,终于明白,在此写下心得。 metersphere使用手册地址:接口测试 - 接口用例操…

【探索AI未来】人工智能技术在软件开发中的应用与革新

自我介绍⛵ 📣我是秋说,研究人工智能、大数据等前沿技术,传递Java、Python等语言知识。 🙉主页链接:秋说的博客 📆 学习专栏推荐:人工智能:创新无限、MySQL进阶之路、C刷题集、网络安…

第一个Matplotlib绘图程序

本节学习第一个 Matplotlib 绘图程序,如何使用 Matplotlib 绘制一个简单的折线图。下面绘制一个简单正弦曲线图,它显示了角度与正弦函数值之间的关系。 第一个绘图程序 首先导入 Matplotlib 包中的 Pyplot 模块,并以 as 别名的形式简化引入…

【C#】并行编程实战:同步原语(4)

在第4章中讨论了并行编程的潜在问题,其中之一就是同步开销。当将工作分解为多个工作项并由任务处理时,就需要同步每个线程的结果。线程局部存储和分区局部存储,某种程度上可以解决同步问题。但是,当数据共享时,就需要用…