ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Monkey测试详解

2022-08-25 03:00:17  阅读:325  来源: 互联网

标签:Monkey 程序 详解 测试 Android 异常 monkey


一、测试工具Monkey是什么?

Monkey是AndroidSDK提供的一个命令行工具,可以简单,方便地运行在任何版本的Android模拟器或实体设备上。

Monkey就是猴子,Monkey测试,是指像猴子一样,猴子什么都不懂,不知道程序的任何用户交互方面的知识,就对界面进行无目的、乱点乱按的操作。

通过Monkey程序模拟用户触摸屏幕、滑动Trackball、按键点击等操作来对设备上的程序进行稳定性测试,检测程序多久的时间会发生异常。

二、作用

通过向系统发送伪随机的用户事件流(按键点击、触摸屏滑动、文字输入等),实现对应用程序客户端的进行稳定性测试。

 

三、程序介绍

 

  • Monkey是一种测试软件的稳定性、健壮性的快速有效的方法。
  • Monkey是Android系统自带的程序,由Java语言写成,在Android文件系统中的存放路径是:/system/framework/monkey.jar。
  • Monkey是需要通过adb来运行。
  • Monkey.jar程序是由一个名为“monkey”的Shell脚本来启动执行,shell脚本在Android文件系统中的存放路径是:/system/bin/monkey。

四、如何使用

A、搭建环境:

  • 下载安装jdk
  • 下载安装sdk

B、安装并配置好adb环境,并通过adb连接好设备(PC虚拟机或手机实体机)。

  • 手机实体机:在开发者选项里打开手机的usb调试,用usb数据线连接手机,允许电脑连接手机。
  • PC虚拟机:无需做任何调试。

C、获取被测应用的包名:手机中安装APK包名查看器、查看AndroidManifest.xml源码文件、aapt命令查看、询问开发人员

D、执行Monkey命令进行测试:

  • PC虚拟机:adbshell进入Android系统,通过执行monkey{+命令参数}来进行Monkey测试。
  • 手机实体机:直接执行monkey命令。

五、架构

 

六、命令和常用参数

 

 

 

 

 

七、结果分析整理

monkey命令运行完之后,查看运行结果,找找出错的地方,比如一些关键字“error”。

如果程序出现崩溃或者不响应的情况,可以在log日志中搜索关键词“exception”、“cash”、“ANR”。

常见的“exception”:

  • 算术异常类:ArithmeticExecption
  • 空指针异常类:NullPointerException
  • 类型强制转换异常:ClassCastException
  • 数组负下标异常:NegativeArrayException
  • 数组下标越界异常:ArrayIndexOutOfBoundsException
  • 违背安全原则异常:SecturityException
  • 文件已结束异常:EOFException
  • 文件未找到异常:FileNotFoundException
  • 字符串转换为数字异常:NumberFormatException
  • 操作数据库异常:SQLException
  • 输入输出异常:IOException
  • 违法访问错误:IllegalAccessError
  • 内存不足错误:OutOfMemoryError
  • 堆栈溢出错误:StackOverflowError

单词注释:

  • error:错误
  • exception:异常
  • crash:崩溃
  • ANR:应用程序不响应

八、缺点

Monkey不支持条件判断,也不支持读取待测界面信息来执行验证操作。

无法使用Monkey来指定重复做一样测试,因为monkey产生的是伪随机的事件流。但是我们可以通过添加命令选项将操作限制在一定的范围内。

 

标签:Monkey,程序,详解,测试,Android,异常,monkey
来源: https://www.cnblogs.com/paleDream/p/16622933.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有