android测试monkey什么意思

android测试monkey什么意思,第1张

Monkey是Android中自带的用来进行压力测试的一个命令行工具

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

1、正常。

2、Crash :程序崩溃。

3、ANR:程序无响应。

第一步:搭建环境:主要是安装和搭建java和sdk环境,说白了,对我们安卓开发来说,只要搭建好了Android开发环境,Monkey测试环境基本就是OK的了。

第二步:准备好要测试的项目,比如可以是一个apk安装包,也可以是已经安装到手机上的软件 。

第三步:连接上Android测试设备,可以是模拟器,当然也可以是手机,通过adb 命令对测试项目进行Monkey测试。

当然这一测试也是存在着优缺点的。

优点:功能强大, 主要用于压力和稳定性测试。缺点:本身不提供截屏功能,本身无法完成录制、回放的功能(不过都可以借用其他的开源工具来实现Monkey的截屏和录制等功能)。

你说的是monkey测试吧。

Monkey测试是Android自动化测试的一种手段。Monkey测试本身非常简单,就是模拟用户的按键输入,触摸屏输入,手势输入等,看设备多长时间会出异常。抓包就是将网络传输发送与接收的数据包进行截获、重发、编辑、转存等 *** 作。

一般来说我们在做APP测试的时候,除了会做monkey测试,还会做一些更深入的测试,比如功能测试,压力测试,兼容性测试,UI适配,弱网测试,中断测试等等。有些公司做测试的时候是自己做+部分外包,有些是全部外包,这就需要找一家靠谱的第三方测试服务商来做,比如成都的一家公司 - TestBird, 在手游和APP测试领域不断的耕耘,已经积累了大量的用户和口碑,官网地址是>

Windows下(注:2—4步是为了查看我们可以测试哪些应用程序包,可省略):1、通过eclipse启动一个Android的emulator2、在命令行中输入:adbdevices查看设备连接情况C:DocumentsandSettingsAdministrator>adbdevicesListofdevicesattachedemulator-5554device3、在有设备连接的前提下,在命令行中输入:adbshell进入shell界面C:DocumentsandSettingsAdministrator>adbshell4、查看data/data文件夹下的应用程序包。注:我们能测试的应用程序包都在这个目录下面C:DocumentsandSettingsAdministrator>adbshell如:comandroidhtmlviewercomandroidsettingscomandroidnetspeedcomandroidprovidersuserdictionarycomandroidbrowsercomandroidcontactscomandroidalarmclock等5在其中找到我们需要测试的包名commarshalchenMonkeyTest16、以commarshalchenMonkeyTest1作为对象进行MonkeyTestmonkey-pcommarshalchenMonkeyTest1-v500其中-p表示对象包–v表示事件数量运行过程中,Emulator中的应用程序在不断地切换画面。按照选定的不同级别的反馈信息,在Monkey中还可以看到其执行过程报告和生成的事件。如:SendingPointerACTION_DOWNx=350y=2590:SendingPointerACTION_UPx=1950y=2590:SendingPointerACTION_DOWNx=2950y=2230:Dropped:keys=0pointers=0trackballs=0flips=0等等信息。四、Monkey停止的条件MonkeyTest执行过程中在下列三种情况下会自动停止:1、如果限定了Monkey运行在一个或几个特定的包上,那么它会监测试图转到其它包的 *** 作,并对其进行阻止。2、如果应用程序崩溃或接收到任何失控异常,Monkey将停止并报错。3、如果应用程序产生了应用程序不响应(applicationnotresponding)的错误,Monkey将会停止并报错。通过多次并且不同设定下的Monkey测试才算它是一个稳定性足够的程序。MonkeyRunner使用1Monkey的使用简洁有效,但是总是给人感觉功能不够强大。所以,接下来向大家介绍非常给力的工具MonkeyRunner。一、什么是MonkeyRunnermonkeyrunner工具提供了一个API,使用此API写出的程序可以在Android代码之外控制Android设备和模拟器。通过monkeyrunner,您可以写出一个Python程序去安装一个Android应用程序或测试包,运行它,向它发送模拟击键,截取它的用户界面,并将截图存储于工作站上。monkeyrunner工具的主要设计目的是用于测试功能/框架水平上的应用程序和设备,或用于运行单元测试套件,但您当然也可以将其用于其它目的。monkeyrunner工具与monkey工具并无关联。monkey工具直接运行在设备或模拟器的adbshell中,生成用户或系统的伪随机事件流。而monkeyrunner工具则是在工作站上通过API定义的特定命令和事件控制设备或模拟器。monkeyrunner工具为Android测试提供了以下特性:1多设备控制:monkeyrunnerAPI可以跨多个设备或模拟器实施测试套件。您可以在同一时间接上所有的设备或一次启动全部模拟器(或统统一起),依据程序依次连接到每一个,然后运行一个或多个测试。您也可以用程序启动一个配置好的模拟器,运行一个或多个测试,然后关闭模拟器。2功能测试:monkeyrunner可以为一个应用自动贯彻一次功能测试。您提供按键或触摸事件的输入数值,然后观察输出结果的截屏。3回归测试:monkeyrunner可以运行某个应用,并将其结果截屏与既定已知正确的结果截屏相比较,以此测试应用的稳定性。4可扩展的自动化:由于monkeyrunner是一个API工具包,您可以基于Python模块和程序开发一整套系统,以此来控制Android设备。除了使用monkeyrunnerAPI之外,您还可以使用标准的Pythonos和subpress模块来调用如adb这样的Android工具。您还可以向monkeyrunnerAPI中添加您自己的类。monkeyrunner工具使用Jython(使用Java编程语言的一种Python实现)。Jython允许monkeyrunnerAPI与Android框架轻松的进行交互。使用Jython,您可以使用Python语法来获取API中的常量、类以及方法。

Monkey测试工具是向系统发送随机的用户事件流,事件流数据流是随机的,不能进行自定义。 所以就会出现你说的那种情况。如果你想进行App的性能测试,现在有一些自动化云测试台工具,只要将APP上传到云测试平台上, 就可以完成功能测试, 性能测试,遍历测试等等,还有完善的测试报告,满方便的。 主流的自动化云测试平台有Testin,易测云, 百度云测试中心。 你可以去试试, 免费的。

手机app测试有可以利用以下几种工具:

1、安卓黑盒测试工具

1)包括本身自带的monkey,Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中;

2)robotium与appium,这些工具用于黑盒的自动化测试。可以在有源码或者只有APK的情况下对目标应用进行测试。

2、白盒测试,Android在SDK中集成了JUnit框架。所以,你可以基于JUNIT框架进行安卓的白盒测试代码开发;

3、安卓的测试方法其实与web测试方法大多类似,只是多了一些特殊的测试场景;

4、兼容性测试,一是可以利用虚拟机来保证系统间的兼容性,但更多的还需要依靠真机来测试;

扩展资料:

APP测试要点:

1、功能测试

最基本的测试,主要是测试软件app的功能点、业务逻辑;关联性(主要是测试客户端和PC的交互,客户端处理完后,保证PC端数据同步且一致)

2、性能测试

cpu,占用不超过10%,响应时间(包括app启动和退出),满足258原则,2秒以内用户感觉很快,2-5秒感觉一般,5-8秒感觉很慢,但是能接受,8秒以上用户无法接受,选择离开,或者再次发送请求;

3、兼容性测试

手机app需要重点关注的,不同 *** 作系统:android、iOS不同手机厂商,小米,华为等不同的手机屏幕分辨率,与其他第三方app的兼容;

4、安装卸载更新测试

也是手机app比较特别的测试点,安装的路径,手机还是sd卡上,高低版本的覆盖安装,内存不足时的安装,安装过程中出现中断情况,第三方管理软件中卸载app,卸载过程中出现中断情况;

5、中断或崩溃测试

中断测试主要是测试app是否会出现crash情况。来电、短信、闹钟、低电量等,网络环境突然改变,或者网络中断,例如隧道、电梯(离线支持),切换网络,例如数据连接切换到wifi外部设备。

比如充电,插耳机内存不足改变设备方向改变手机语言,例如英文多后台程序切换长时间开机并且长时间开启app也可以用monkey来测试apk的稳定性,也能检查出一些crash的问题;

6、安全测试

7、UI测试

v10  20170620  三笑奈何  初稿

v11  20170627  三笑奈何  修改

一、工具开发背景

在日常测试中,我们经常需要用到monkey测试,隔几个小版本就需要进行一轮monkey测试,monkey测试可以是单个APK的测试,也可以是全测试。

每一次测试完成后,经常需要几个小时去整理报告,作者认为,这种类型的重复性工作,一定程度浪费了人力物力,自认为是讨厌重复性的工作的人,这种类型的重复性工作,可以交给程序自动完成,用于解放人力。一个不会偷懒的测试,不是好测试,于是就想到了这个报告整理工具。

二、基本功能概况

以下功能为基本构想,在工具开发过程中,会根据需求进行修改

1、输入log文本,自动生成报告文本

2、自动判断monkey是否正常跑完全程

3、自动计算monkey跑测时长

4、自动整理CRASH、ANR、exception这三类问题内容,并统计其个数(主要功能)

三、基本功能需求分解

1、自动检测本目录下文件,输入文件为Stability_base_errtxt、Stability_basetxt

2、判断Stability_base_errtxt文件中是否有monkey test complete字样,用以判断是否跑完monkey全程

3、输入Stability_base_errtxt文件,查找CRASH关键字(匹配大小写)、查找ANR关键字(匹配大小写)、查找exception关键字(不匹配大小写)

4、对查找的结果进行替换、删除重复项等筛选 *** 作

5、计算monkey时长(20170627完善)

四、重要功能具体实现步骤

需求分解的第4点,主要借鉴Notepad++和Excel处理文本查找、替换、删除重复项等功能,来分解需求,以下为具体步骤实现,以下“ ”符号代表全部的意思(如javalangRuntimeException:代表javalangRuntimeException:abc,则=abc)

将Stability_base_errtxt文本的输入内容,以“//”符号为标记,排列为一行

CRASH

1、将3中的CRASH查找结果写入到新生成的文件CRASHtxt

      a替换" // "为空

      b替换" (pid)"为空

      c全选删除重复项,只保留相同项中的第一项

ANR

1、将3中的ANR查找结果写入到新生成的文件ANRtxt

      a替换" // "为空

      b替换“ ()”为空

      c全选删除重复项,只保留相同项中的第一项

exception

1、将3中的exception查找结果写入到新生成的文件exceptiontxt

      a替换" // "为空

      b全选删除重复项,只保留相同项中的第一项

      c替换" javalangRuntimeException: ",保留javalangRuntimeException

      d全选删除重复项,只保留相同项中的第一项

      e替换Short Msg:为空

      f替换Long Msg:为空

      g替换Caused by:为空

      h替换:为空

      i全选删除重复项,只保留相同项中的第一项

本工具开发未真正遵循软件工程开发过程,仅仅是用于测试,提高团队测试效率,要求的是快速开发,可能写得不大好,有好提议欢迎留言。

PS:工具开发进度需要视手上项目情况松紧程度而定,尽量争取早日完成

以上就是关于android测试monkey什么意思全部的内容,包括:android测试monkey什么意思、APP测试中的MONKEY命令到底是干什么、android的app应用,monkey测试是怎么录制脚本进行性能测试的 求各位大神补充等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10100699.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存