稳定性测试工具调研

对比多款测试工具:monkey、Fastbot、AppCrawler、Maxim、Droidbot
Fastbot采用的是在测试过程中监听手机页面的 UI 信息,完成动作注入,即可实现持续的交互型测试。
相比较来说,Fastbot的执行效率高、操作有效性较高、页面覆盖率较高,符合日常稳定性测试需求。

Fastbot使用

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

使用简述
  1. 下载github项目到本地
  2. 将两个jar文件push到手机或模拟器的sdcard下 framework.jar monkeyq.jar
  3. 输入命令执行自动化测试
    adb shell CLASSPATH=/sdcard/monkeyq.jar:/sdcard/framework.jar exec app_process /system/bin com.android.commands.monkey.Monkey -p 待测APP包名 --agent robot --running-minutes 测试时长(s) --throttle 事件间隔时长(ms) -v -v --output-directory /sdcard/fastbot-report/
  4. ios做稳定性测试 稳定性测试用什么工具_测试工具


Fastbot用户手册中比较详细的介绍了各种配置方式,比如:
1、自定义输入法和输入内容
2、手动配置activity的执行路径
3、配置黑白名单,屏蔽某些activity或者只覆盖某些场景
4、屏蔽空间或区域,解决脚本执行期间半路退出运行的问题
5、支持截图
6、权限自动授予
7、…

我这边主要使用Fastbot进行随机稳定性测试,所以没有大量编写测试用例,只添加了一份登录用例。

封装了一些自定义功能后,便开始投入使用了~

执行策略

1、检测到新测试包自动运行
2、空闲时间定时运行
3、手动输入指令运行

崩溃提醒

定制消息提醒,通过日常工作APP or 邮件报告

【自动化随机测试已结束】
设备:HUAWEI *****
设备号:UFRBB1*****
远程设备:10*****
操作系统:8.0.0
测试包:*****
测试版本:*****
测试开始时间:2022-1*****
测试结束时间:2022-1*****
页面覆盖率为:*****%
报告目录名:*****
==========注意!运行期间遇到崩溃,请立即核实!!崩溃日志标题如下:===========
【1】java.lang.IllegalStateException: you are accessing binding after it's gone!

报告链接: http://*****
历史记录查看

搭建网站,查看崩溃的历史记录

ios做稳定性测试 稳定性测试用什么工具_测试工具_02


由上图也可以看出,测试效率还是很高的,能发现一些崩溃问题,基本满足日常稳定性测试需求。

如果有其他好的测试工具欢迎评论一起探讨呀~