monkey这款工具能做什么?比如要测试手机12小时的压力承载,可以用这款工具吗?

2021-02-07 16:37发布

4条回答
是开心果呀 - 热爱生活
2楼 · 2021-02-08 09:32

1.首先,先准备了一个测试用的应用程序(apk文件)。为了测试,这里选择了一个格瓦拉手机购票App进行测试。

2.下载好后的apk文件

将apk文件复制到android sdk对应platform-tools的目录下。例如,我的sdk路径为 D:\android\android-sdk-windows\platform-tools。

3.进行apk文件的安装(安装的前提是,已经启动并可以检测模拟器):有安装91助手或者豌豆的用户可以直接双击apk文件进行安装;也可以使用android下的adb命令进行安装(如下图所示,Success表示安装成功)。adb命令下安装apk文件的命令为:adb install 文件名.apk

4.安装好后,会在模拟器上看到应用程序的启动图标

5.安装好apk文件后,需要知道应用程序主Activity(第一个启动的Activity)所在的包名。这时,我们可以使用adb shell命令查找到程序主Activity所在的包名,如下图所示。(知道了apk的包名,我们也可以利用adb命令进行应用程序的卸载;卸载apk文件的命令为:adb uninstall 包名)

6.这里是最关键的一步,使用moneky命令进行自动化压力测试。

命令为:#monkey -p com.gewara -v 1000(参数说明:-p后跟着软件所在包名,-v后跟测试的次数)。这里对该软件进行1000次的自动化测试,几分钟内即可以完成测试。

7.测试完毕,发现程序出错了。程序出错,表明该软件的稳定性和健壮性还有待提高。

这时,可以打开Lotcat查看出错信息。



ericzx
3楼 · 2021-02-24 17:06

Monkey是Android系统中的一个命令行工具,可以在Android模拟器或手机设备中运行。通过向Android系统发送伪随机用户事件流(如屏幕的点击、滑动和系统按键操作等),实现对Android App进行稳定性测试或压力测试。

通过写一个命令行,在命令行加上各种选项参数,设定要运行哪些应用,不运行哪些应用,设定随机事件时间间隔、各种随机事件所占比例等。Monkey运行时会记录日志,测试完成后对日志进行搜索、分析,可以查看测试过程中是否发生了崩溃或无响应的问题,以及问题的详细定位信息。monkey具体参数可以通过执行 adb shell monkey --help查看。

如果是Android手机,使用Monkey进行12小时压力测试完全没有问题,但由于throttle参数代表的间隔时间是随机操作之间的间隔,而不是随机事件的间隔(一个操作由多个事件组成),所以总体时间根据命令行参数不容易确定。可以先设置COUNT参数为一个比较小的值,如2000次,看看执行多长时间,再按比例增大到超过12小时,然后真实测试时,到12小时时手动关闭电源。


Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中。它向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等),实现对正在开发的应用程序进行压力测试。
征戰撩四汸
5楼 · 2022-05-25 15:36

  monkey的作用,是通过一系列的随机操作,来测试手机上应用的稳定性,其实就是看在高频率的大量操作下,应用会不会出现问题。

  使用Monkey进行12小时压力测试完全没有问题,但由于throttle参数代表的间隔时间是随机操作之间的间隔,而不是随机事件的间隔(一个操作由多个事件组成),所以总体时间根据命令行参数不容易确定。可以先设置COUNT参数为一个比较小的值,如2000次,看看执行多长时间,再按比例增大到超过12小时,然后真实测试时,到12小时时手动关闭电源。

相关问题推荐

  • 回答 20
    已采纳

    性能测试是基于功能、接口完整的情况下,对服务端进行压力测试、负载测试、疲劳测试、并发测试,来发现性能瓶颈。一、负载测试。负载测试的目的主要是为了测试软件系统是否达到需求文档设计的目标;例如一款软件在一定时期内,最大支持多少并发用户数,软件请...

  • 什么是基准测试?2020-08-12 15:46
    回答 4

    基准测试基准测试(benchmarking)是一种测量和评估软件性能指标的活动。在某个时候通过基准测试建立一个已知的性能水平(称为基准线),当系统的软硬件环境发生变化之后再进行一次基准测试以确定那些变化对性能的影响,这是基准测试最常见的用途。其他用途包...

  • 回答 5

    一、平均响应时间:在每一个采样时间段,多个并发事务的平均响应时间;二、百分比响应时间:在某次测试中,有百分之y的请求,其响应时间在x秒以内;三、每秒事务数:针对每个选定的事务,在并发场景下,平均每秒服务器能处理完成多少次;四、Throuput:每秒从...

  • 回答 17
    已采纳

    响应时间、并发用户数、TPS、吞吐量、CPU利用率、内存使用率、在线并发用户数等

  • 回答 6

    计算机的性能测试时我们需要关注的指标有: RT:响应时间 TPS:每秒完成事务数CPU性能指标:利用率、负载 Mem:内存性能指标,可用物理内存、虚拟内存使用率 Disk:磁盘性能指标,Disk Time、IO等待 NetWork:网络指标,带宽使用率、任务队列长度TCP连接数,...

  • 回答 13
    已采纳

    性能测试主要包括以上几个方面

  • 回答 9

    在测试前,应该对测试结果有一个初步的估计。比如,性能(IO/CPU)应该是提升,还是降低,大概幅度会有多少。这样当测试结果与预估偏差极远时,很可能测试的过程或者方法是有问题的。1) 如果是已有模块,可以参考改模块历史的测试数据。看变化是否合理。2)...

  • 回答 9

    UI主要是软件的使用和操作,软件测试需要验证程序中的问题,好学不好学还是要看你是不是擅长程序,如果擅长那就好学,如果不擅长那就是UI好学

  • 回答 16

    一般在系统功能稳定没有大的缺陷之后开始执行。但前期准备工作可以从系统需求分析时就开始:性能目标制定、场景获取、环境申请等。

  • 回答 4

    性能测试的目的: 评估系统的能力----测试中得到的负荷和响应时间数据可被用于验证所计划的模型的能力,并帮助作出决策。识别体系中的弱点----受控的负荷被增加到一个极端水平,并突破它,从而修复体系的瓶颈或薄弱的地方。系统调优---重复运行测试,验证调...

  • 回答 4
    已采纳

    LoadRunner 是一种预测系统行为和性能的工业标准级负载测试工具。通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner 能够对整个企业架构进行测试。通过使用LoadRunner , 企业能最大限度地缩短测试时间, 优化性能和加速应...

  • 回答 3

    手工测试者最适合成为领域专家,他们可以把相当复杂的业务逻辑存在最强力的测试工具——大脑里。而且手工测试速度比较慢,测试者就有时间可以观察分析细微的逻辑问题。速度虽然慢些,但是比较容易。...

  • 回答 8

    前言1.需要写明本文当编写的目的,是给那些人看的,能起到怎样的作用。2.本文档中出现的专业术语需要有个解释,非软件测试的人员能看懂。3.参考资料,也是我们编写测试计划的依据,说明你这个测试计划不是凭空而来。4.测试模块的优先级别,可以从这里看出系统...

没有解决我的问题,去提问