当前位置: 首页 > news >正文

稳定性测试—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 个动作的快速动作插入,具备根据不同业务线的需求进行深度定制的能力。

http://www.lryc.cn/news/218306.html

相关文章:

  • Python库Requests的爬虫程序爬取视频通用模版
  • ngx_http_set_response_header阅读
  • 词典查询工具django-mdict
  • Ubuntu20.04搭建RISC-V和qemu环境
  • 代码生成器
  • AndroidMonitor - 基于AndroidLocalService实现的抓取OKHTTP请求的工具
  • LuatOS-SOC接口文档(air780E)--nbiot - NB-IOT操作库
  • 大数据之LibrA数据库系统告警处理(ALM-12017 磁盘容量不足)
  • Python算法例4 求平方根
  • LVGL_多界面切换
  • C/C++输出字符菱形 2021年3月电子学会青少年软件编程(C/C++)等级考试一级真题答案解析
  • DI93a HESG440355R3 通过其Achilles级认证提供网络安全
  • Go中Panic and Recover
  • webpack 与 grunt、gulp 的不同?
  • 园区网真实详细配置大全案例
  • 小程序video标签在底部出现1px无法去除的黑色线
  • 渗透工具使用及思路总结(持续更新)
  • 速卖通新卖家有必要测评吗?
  • 从lc114. 二叉树展开为链表到lc-LCR 155二叉搜索树转化为排序的双向链表
  • 做读书笔记时的一个高效小技巧
  • Redis7.x 高级篇
  • 2023辽宁省数学建模B题数据驱动的水下导航适配区分类预测完整原创论文分享(python求解)
  • 向量数据库的崛起与多元化场景创新
  • 面试10000次依然会问的【ReentrantLock】,你还不会?
  • Bat批量处理
  • 【一、http】go的http基本请求方法
  • 【软考中级】软件设计师-下午题
  • (03)Mycat实现读写分离
  • [SSD综述1.7] SSD接口形态: SATA、M.2、U.2、PCIe、BGA
  • 20.5 OpenSSL 套接字RSA加密传输