稳定性测试—fastboot和monkey区别

一、什么是稳定性测试

     稳定性测试是指检验程序在一定时间内能否稳定地运行,在不同的场景下能否正常地工作的过程。主要目的是检测崩溃、内存泄漏、堆栈错误等缺陷。

二、Monkey

1.什么是Monkey

是一个命令行工具,通常在adb安卓调试运行,模拟用户的行为,一般为,点击屏幕,滑动屏幕,back返回,等随机事件对安卓APP来做压力测试

2.怎么实现Monkey稳定性测试

(1)安装adb调试桥

安装adb调试桥一般有两种方式:

第一种是直接安装adb;地址为:SDK 平台工具版本说明  |  Android 开发者  |  Android Developers

第二种是安装android studio,里面自带调试桥

https://developer.android.com/studio?hl=zh-cn

(2)配置adb运行环境

以mac为例,打开命令行:

打开环境文件:

open  .bash_profile

输入配置命令:

export PATH=${PATH}:/Android/sdk/platform-tools(输入安卓sdb/platform-tools路径)

检查配置是否成功:

adb devices

(3)运行adb命令

adb shell "monkey -p 包名  -v -v --throttle 300 --ignore-crashes --ignore-timeouts --monitor-native-crashes 10000000 2>/sdcard/error.txt 1>/sdcard/info.txt"
修复bug后再次带seed校验
adb shell "monkey -s seed  -p 包名  -v -v --throttle 300 --ignore-crashes --ignore-timeouts --monitor-native-crashes 10000000 2>/sdcard/error.txt 1>/sdcard/info.txt"

三、Fastboot

1.什么是fastboot

Fastbot 是一种基于模型的测试工具,用于对 GUI 转换进行建模以发现应用程序稳定性问题。它结合了机器学习和强化学习技术,以更智能的方式协助发现。

2.怎么实现fastboot稳定性测试

(1)工具链接

GitHub - bytedance/Fastbot_Android: Fastbot(2.0) is a model-based testing tool for modeling GUI transitions to discover app stability problems

(2)环境配置

安装adb是前提,将项目jar包推送到设备中,以图为例

adb push monkey/build/libs/monkeyq.jar /sdcard/monkeyq.jar
adb push fastbot-thirdpart.jar /sdcard/fastbot-thirdpart.jar
adb push libs/* /data/local/tmp/
adb push framework.jar /sdcard/framework.jar

(3)运行命令

adb -s device_vendor_id shell CLASSPATH=/sdcard/monkeyq.jar:/sdcard/framework.jar:/sdcard/fastbot-thirdpart.jar exec app_process /system/bin com.android.commands.monkey.Monkey -p package_name --agent reuseq --running-minutes duration(min) --throttle delay(ms) -v -v

四.工具比对

Monkey:不支持业务行为定制,无法灵活的控制,经常会点到外部的 App 无法回归原测试 App;或者点击到注销和退出,造成无法继续后面的测试;

Fastboot:继承自原始 Monkey,可实现高达每秒 12 个动作的快速动作插入,具备根据不同业务线的需求进行深度定制的能力。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: fastboot和bootloader是两个不同的概念。 bootloader是一个启动程序,它在设备启动时运行并负责加载操作系统。它通常存储在设备的内存中,可以通过特定的按键组合或命令行来访问。 而fastboot是一个工具,它可以在设备进入bootloader模式时与设备通信。它可以用来刷写固件、解锁引导程序、备份和恢复分区等操作。 因此,bootloader是设备的一部分,而fastboot是一个工具,用于与设备进行通信和操作。 ### 回答2: fastboot和bootloader都是安卓手机开机时启动的程序,但它们之间有很重要的区别。 先说说bootloader,它是一种程序,也被称为引导加载程序,存在于手机的非易失性存储中,并由系统的固件提供。当你按下电源按钮时,手机首先运行bootloader,bootloader的主要作用是加载操作系统内核,以及执行自检和硬件检测。在出厂时,phone需要使用该固件明确信任及可用的rom进行签名后才能启动系统。 而fastboot是一个在加载bootloader期间使用的模式,而不是在操作系统内运行。当你在手机上按下某些特定的键组合时,会进入fastboot模式,此时,电脑可以通过fastboot命令来与手机进行通信。在进入fastboot模式后,可以刷入底层操作系统、固件版本、恢复模式等操作。 所以可以理解为:bootloader是手机开机的第一步,而fastboot是操作系统启动前在手机上运行的一个临时模式,作为在设备上运行的交互工具来与电脑进行通信,不同的发行版会有不同的fastboot命令,例如刷机指令,解锁指令等。 ### 回答3: fastboot和bootloader都是和安卓系统相关的术语,但它们具有不同的功能和作用。 首先,bootloader是一个系统启动程序,主要控制设备开机启动过程中的各种操作,比如检测硬件、升级固件、加载内核和文件系统等。在安卓系统中,bootloader是一个底层程序,负责将操作系统加载到内存中并启动它。每个设备都有自己的bootloader,这是因为各类设备所要执行的开机启动过程可能会有所不同,像小米、索尼、谷歌等大品牌生产的手机,其bootloader是具有相当高的定制性的。 fastboot则是一种可以通过USB连接到安卓设备与设备通信的模式,可以在设备处于不同状态时执行各种操作,如刷机、安装固件、解锁bootloader等。在进入fastboot模式后,用户可以通过用计算机命令行输入特定命令来执行各种任务。 总的来说,bootloader和fastboot的主要区别在于,bootloader是一种启动程序,它驱动和使设备运行,而fastboot则是一种程序运行模式,通过与设备的连接操作和交互,为用户提供控制设备的能力,比如切换分区、刷入固件等。在安卓系统中,fastboot是非常有用的工具,由于其能够直接连接到设备,因此可以在不启动系统的情况下轻松进行维护任务,使用户可以更好地掌控设备,并为其更好的维护提供便利。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Aurora Top

你的鼓励是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值