自动化工具 字节跳动质量利器 -- 移动端智能化稳定性测试工具 Fastbot-Android/iOS 双端重磅发布上线

zhangzhao_lenovo · 2021年09月10日 · 最后由 lilei8 回复于 2024年09月04日 · 11602 次阅读

近年来 AI+Test 相关的智能化测试技术,已经逐步成为国内·国际大型互联网公司和各大测试服务提供商的基础能力。其智能化包含测试代码的自动生成、大规模测试结果分析、自动化探索性测试、缺陷定位及修复等。相关公司、产品或服务比较有代表性的有:Test.AI、Applitool、Totoro、Eggplant、Appdiff 等。

其中,自动测试生成能力一直是工业界关注的热点。2019 年字节跳动 Quality Lab 在自动测试生成方面进行了比较深入的探索,并研发了针对 Android、iOS 的稳定性测试工具 Fastbot。Fastbot 的核心技术主要包括:

  • 智能遍历:使用基于模型的测试生成(MBT),并提供多种算法策略,以获得较高的 Activity 覆盖率及问题发现能力;
  • 多机协同:最高支持数百台长时间多机协同遍历,同一个目标彼此协作;
  • 个性化的专家系统:业务方可以进行多种个性化配置,比如:限定测试在指定的 Activity 运行,屏蔽测试某些场景;
  • 模型复用:基于强化学习利用历史测试经验数据学习改进当次测试策略;
  • 复杂用例生成:对人工用例进行模仿学习,遍历过程中混合复杂用例的组合生成;
  • 精准定向:根据代码调用链变更自动生成针对变更场景的定向测试。

目前,Fastbot 已广泛应用于字节客户端类产品的稳定性测试与兼容性测试。每日启动任务数超过 1 万次,每月平均发现 5 万个以上的崩溃。借助 Fastbot 的能力,我们在发版前就可以修复大部分的 crash,确保线上用户的使用体验。同时,Fastbot 在整个 DevOps 流程扮演重要的基础服务角色。

关于 Fastbot 更多详情 https://zjsms.com/drkBj2m/

Fastbot-Android:
https://github.com/bytedance/Fastbot_Android
(开放端智能模型经验复用)

Fastbot-iOS:
https://github.com/bytedance/Fastbot_iOS

希望与业内同行深入合作交流,我们相信,越来越多的智能化测试工具落地,将会加速质量工程领域的变革,推动国内质量工程技术水平走到全球质量工程工业界前沿。

需要进微信群交流的朋友请加微信 18610309004,群内有很多优秀的小伙伴一起交流~

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 11 条回复 时间 点赞
仅楼主可见

fastbot 666 我们日常 monkey 已经替换成 fastmonkey 了。
但是 iOS 的跳出 app 会必现崩溃,这个有没有办法规避吗?

fastbot-iOS,testPingNetwork,ping 的这里是如何实现的呢,真机 log 看到的一直是网络断开,而模拟器则正常

4楼 已删除
清风上灬 回复

已支持 Android12,可以更新下了

剪烛 回复

iOS 这个问题,请帮提交 issue,thx

为啥 aapt2 环境正常,但是按照官方文档输入下面命令 提示没有--values 这个参数。
aapt2 dump --values string /sdcard/test.apk > max.valid.strings
unknown option '--values'.

aapt2 dump [options] files...

Options:
-v increase verbosity of output
-h Displays this help menu

这个跟 maxim 有啥区别

@zhangzhao_lenovo 你不就是 maxim 的作者吗, fastbot 是不是属于 maxim 的升级版?

Mayo 回复

楼主应该从熊猫跳槽到字节去了,我同意你的说法

在实测 android 的时候,感觉没有深度的遍历页面,只是频繁打开页面,

zz 大佬,一直有关注 fastbot,也是忠实的使用者。最近实施一个新项目时遇到如下问题:项目是安卓作为一个壳子,页面都是 rn 写的。目前只需求跑某个 tab 里的页面,只有这部分是我的项目,相当于项目入口。以前处理过类似的情况,只不过是纯 native,按以前类似的处理,定义了 100% 执行的 UI 自动化配置,但是从运行的表现及 log 看,没有跑,日志也没有发现类似 speci event 这样的日志。还报了一些错。想问下大佬这种情况可能是什么原因,盼回复
[Fastbot][2024-09-04 14:00:12.827] // IncludeCategory: android.intent.category.MONKEY
[Fastbot]*** ERROR *** findMethod() error, NoSuchMethodException happened, there is no such method: setActivityController
[Fastbot][2024-09-04 14:00:13.119] // Selecting main activities from category android.intent.category.LAUNCHER

[Fastbot][2024-09-04 14:00:19.130] // init with reuse agent
[Fastbot][2024-09-04 14:00:19.169] fastbot native : library load!
[Fastbot][2024-09-04 14:00:19.170] fastbot native path is : /data/local/tmp/arm64-v8a/libfastbot_native.so
[Fastbot][2024-09-04 14:00:19.192]

[Fastbot]*** ERROR *** findMethod() error, NoSuchMethodException happened, there is no such method: getTasks
[Fastbot][2024-09-04 14:00:19.198] // the top activity is com.sec.android.app.myfiles.ui.MainActivity, not testing app, need inject restart app

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册