• 基于Monkey的稳定性测试


    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将会停止并报错

    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买的,无偿分享

    在这里插入图片描述

  • 相关阅读:
    前端程序员编码规范必备
    【LeetCode】No.73. Set Matrix Zeroes -- Java Version
    Web framework-Gin(二)
    JS判断当前是早上,中午,下午还是晚上
    计算机组成原理习题课第三章-2(唐朔飞)
    使用funcraft管理阿里云函数计算
    多线程基础篇
    唯亚威VIAVIFiberChek Sidewinder光纤手持式检测仪
    springboot实现同时批量新增和批量修改数据
    Python快速刷题网站——牛客网 数据分析篇(十)
  • 原文地址:https://blog.csdn.net/weixin_57794111/article/details/126727239