智能遍历测试在回归测试与健壮性测试的应用

简介: 首先来看业界用的较早也是经常听过的一款工具—— Monkey。这是 Android 官方提供的一个工具。谷歌原本设计这款工具是为了对 App 进行压力测试的。谷歌早期在设计 Android 的时候,Android 需要响应滑动、输入、音量、电话等事件,早期 activity 设计不完善的时候,谷歌希望测试 activity 的性能,把所有的数据批量化的输出给 activity,看 activ
+关注继续查看

首先来看业界用的较早也是经常听过的一款工具—— Monkey。这是 Android 官方提供的一个工具。谷歌原本设计这款工具是为了对 App 进行压力测试的。谷歌早期在设计 Android 的时候,Android 需要响应滑动、输入、音量、电话等事件,早期 activity 设计不完善的时候,谷歌希望测试 activity 的性能,把所有的数据批量化的输出给 activity,看 activity 一秒钟可以处理多少数据。所以早期 Monkey 是用来做 Android 的一个压力测试的工具。

由于 Monkey 在测试过程中的“随机”性,恰巧可以被用来做自动遍历测试,但是 monkey 的缺点很明显,不支持业务行为定制,无法灵活的控制,经常会点到外部的 App 无法回归原测试 App;或者点击到注销和退出,造成无法继续后面的测试;因此 monkey 在经过调研了解后没有成为我们做自动遍历测试的首选。

Monkey 官方链接:
https://developer.android.com/studio/test/monkey

Maxim 也是一款自动遍历工具,由国内的 zhangzhao 同学开发,官方给出的定义是:

我们来看看这款工具的优缺点:
优点:

  • 基于Monkey二次开发,运行速度非常快
  • 提供了多种遍历算法以提高覆盖度
  • 提供了定制化功能,可以实现流程控制

缺点:

  • 因为是基于 Monkey,所以不具备跨平台性,只能测试 Android,不能测试 iOS,Web 等;

这是一款很优秀的工具,可在一定程度上进行定制,如果只测试 Android 系统的话,可以考虑选用 Maxim 做自动遍历。

官方 GitHub 地址:
https://github.com/zhangzhao4444/Maxim

Fastbot是字节跳动的Quality Lab团队开发的一款融合了机器学习与强化学习的基于模型测试的工具。

中文介绍
英文介绍

Fastbot可以理解为MaxIM的升级版,为了增强覆盖,融合了多种机器学习、强化学习等相关的算法。他的执行速度很快,并显著提升了测试覆盖度。应用的效果也是非常不错的。

这是来自于作者团队的效果介绍

官方 GitHub 地址:
https://github.com/bytedance/Fastbot_Android

AppCrawler 是由霍格沃兹测试开发学社第一任校长思寒开源的一个项目,官方 GitHub 上对这款工具的解释是:
这里顺便提一下的是谷歌也发布了一款自动遍历的工具,名字几乎一样,叫做 App Crawler (差了一个空格),设计的思想也一致。思寒开源的的工具比谷歌早了两年时间。

下面来看看 AppCrawler 的作用和价值。看看它为何满足我们的测试需求,它的优缺点又在哪里。

优点:

  • 跨平台性:AppCrawler 是基于 Appium 开发的,所以支持 Android、iOS、Web以及GUI
  • 灵活定制:对遍历的页面、控件、事件、深度等都可自由控制

缺点:

  • 运行速度较慢:AppCrawler 是基于 Appium 开发具备了跨平台的优点,但是也因为这层封装造成了运行速度相对较慢,再加上运行过程中加入了截图(可以在配置中取消,但是取消后不利于结果的查看),运行起来自然就慢了;
  • 使用门槛高:正因为使用灵活性的问题,也造成了使用门槛的提高,主要基于 YAML 文件中使用 Appium 的相关技术知识进行配置,这就对使用者有了一定的技术要求;

给大家介绍了常见的几款遍历工具,相信大家已经对自动遍历已经有所了解。那么如何把这套有趣又有用的技术落地到自己的工作中以保证好回归测试、健壮性测试效果哪?

相关文章
|
2天前
|
Web App开发 前端开发 JavaScript
SAP UI5 应用开发教程之八十五 - 如何用 OPA5 编写测试用例来测试用户输入文本的功能试读版
SAP UI5 应用开发教程之八十五 - 如何用 OPA5 编写测试用例来测试用户输入文本的功能试读版
7 0
|
1月前
|
人工智能 JSON 自然语言处理
超越界限:大模型应用领域扩展,探索文本分类、文本匹配、信息抽取和性格测试等多领域应用
超越界限:大模型应用领域扩展,探索文本分类、文本匹配、信息抽取和性格测试等多领域应用
超越界限:大模型应用领域扩展,探索文本分类、文本匹配、信息抽取和性格测试等多领域应用
|
1月前
【单片机期中测试】13.串口通信的应用(2)—— 超声波通过串口返回数据
【单片机期中测试】13.串口通信的应用(2)—— 超声波通过串口返回数据
36 0
|
1月前
【单片机期中测试】12.串口通信的应用(1)——两台单片机之间的通信
【单片机期中测试】12.串口通信的应用(1)——两台单片机之间的通信
26 0
|
2月前
【IDEA】同一个应用运行多个测试实例(以不同端口)
【IDEA】同一个应用运行多个测试实例(以不同端口)
38 0
|
2月前
|
前端开发 开发者 Kotlin
你的体重健康吗?用compose做一个BMI应用测试一下吧
早上发现几年前做的一个BMI显示盘有些问题,一想到Jetpack Compose Desktop做这个效果也不错,虽然不可能用这个去代替网页上的系统,但感觉效果肯定也是不错的,值得尝试一下。
34 0
你的体重健康吗?用compose做一个BMI应用测试一下吧
|
2月前
|
SQL 安全 测试技术
软件测试实验七 Web应用测试参考案例
软件测试实验七 Web应用测试参考案例
35 0
|
2月前
|
存储 Web App开发 负载均衡
软件测试实验七 Web应用测试
软件测试实验七 Web应用测试
44 0
|
2月前
条件测试逻辑判断应用
条件测试逻辑判断应用
17 2
|
3月前
|
JavaScript Linux Python
【Matter】如何在Linux平台下测试Matter应用级通信(虚拟设备)
我们使用chip tool结合生成的QR码进行调试,重新打开一个终端,使用默认的chip tool工具(记住不是之前构建应用程序生成的chip tool),通过QR码可以快捷迅速地将虚拟设备添加到网络中,我们使用chip tool对设备进行调试
242 0
热门文章
最新文章
相关产品
云迁移中心
推荐文章
更多