1、背景&简介
1.1 什么是Monkey?
Monkey是Android中的一个命令行工具,可以运行在模拟器或实际设备中,它向系统发送随机的用户事件流(按键输入,触摸屏输入,手势输入等),实现对应用程序随机,快速疯狂操作的效果。Monkey测试是一种为了测试软件的稳定性,健壮性的快速有效的方法。
1.2 Monkey测试的目的是什么?
Android应用的Crash- Android应用的ANR
在保证基本功能正确性的基础上,App的稳定性就显得非常重要,使用户体验感得到提升,提起App的稳定性测试,很容易联想到MonkeyTest,这个方法使用门槛和成本非常低,但是通常收获也是较为有限,对于初次接触做一个初步了解参考。
Monkey命令随机地向目标程序发送各种模拟键盘事件流,并且可以自定义发送次数,来观察被测试应用程序的稳定性和可靠性。
2、常用执行参数
Monkey的Options操作分为四类:常规类,事件类,约束类和调试类。
$ adb shell monkey [options]
文章图片
常用的几个参数:
-p指被测的App包名- -v显示执行时的信息- Count发送的事件数据
下面是一个Monkey常见用法启动指定APP,向其发送100个伪随机事件:
$ adb shell monkey –p 指定APP –v 100
可以发现monkey模拟的事件非常广泛,除了对于被测App的点击,滑动,键盘输入等常见操作外,它还大量模拟了各种手机操作系统,如音量、打开通知栏、改变网络状态,锁屏等操作。
Monkey测试停止条件主要以下几种:
执行次数到了- 限定了Monkey运行在一个或者几个特定的包上,检测到试图转到其它包操作,会对其进行阻止- 遇到程序崩溃或者任何失控异常,Monkey将停止报错- 程序产生了ANR(应用程序不响应)的错误,Mnonkey将会停止并报错
【软件测试|基于Monkey的稳定性测试】3、结果检查与分析
测试结束后,需要将手机连接PC,拷贝以下文件:
info.txt:此文件在手机上的SDCARD中,主要记录了MONKEY测试时发送的各种事件,如触摸事件的位置等等。- error.txt:此文件在手机上的SDCARD中,主要记录了MONKEY测试时产生的一些ANR、强制关闭等异常。- LOG文件:此文件在手机上的LOG文件夹中中,主要主要记录程序对MONKEY测试时的响应情况。-
通过以上我们可以初步进行一些基本的稳定性测试,但是如果我们希望稳定性测试中的操作更加贴近用户的行为和日常操作就需要自己手动来做一些控制,用解决功能自动化的方法。
4、Monkey总结
优点:功能强大, 主要用于压力和稳定性测试
缺点:本身不提供截屏功能,无法完成录制、回放的功能(不过都可以借用其他的开源工具来实现Monkey的截屏和录制等功能);不支持条件判断,不支持读取待测界面的信息来执行验证操作;
最后感谢每一个认真阅读我文章的人,下面这个网盘链接也是我费了几个月时间整理的非常全面的,希望也能帮助到有需要的你!
文章图片
这些资料,对于想转行做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。希望对大家有所帮助……
如果你不想一个人野蛮生长,找不到系统的资料,问题得不到帮助,坚持几天便放弃的感受的话,可以点击下方小卡片加入我们群,大家可以一起讨论交流,里面会有各种软件测试资料和技术交流,同时我也把上面花几个月整理的资料放里边了,赶快加入吧。
敲字不易,如果此文章对你有帮助的话,点个赞收个藏来个关注,给作者一个鼓励。也方便你下次能够快速查找。
自学推荐B站视频: 零基础转行软件测试:38天自学完软件测试,拿到了字节的测试岗offer,堪称B站最好的视频!
自动化测试进阶:已上岸华为,涨薪20K,2022最适合自学的python自动化测试教程,自己花16800买的,无偿分享
文章图片
推荐阅读
- postgresql|学习如何在PostgreSQL中管理安全性
- 职业生涯|10 个面试技巧帮你找到最好的工作 !
- 程序员|Android面试总结,开发者必备的顶级Android开发工具,跳槽薪资翻倍
- 程序员|爬取某宝4000条数据,用Python做了一个 “月饼“ 可视化大屏,过中秋
- java|Java并发编程71道面试题及答案,让你的面试稳如泰山
- Markdown格式转word工具分享
- Go中IO包简单使用
- python|2022最全的 App 应 用 测 试 技 巧
- 帮你读《JavaScript高级程序设计(第3版)》--第2章(在HTML使用JavaScript)