稳定性测试工具调研
对比多款测试工具:monkey、Fastbot、AppCrawler、Maxim、Droidbot
Fastbot采用的是在测试过程中监听手机页面的 UI 信息,完成动作注入,即可实现持续的交互型测试。
相比较来说,Fastbot的执行效率高、操作有效性较高、页面覆盖率较高,符合日常稳定性测试需求。
Fastbot使用
github地址:https://github.com/bytedance/Fastbot_Android 官方介绍:
使用简述
- 下载github项目到本地
- 将两个jar文件push到手机或模拟器的sdcard下
framework.jar
monkeyq.jar
- 输入命令执行自动化测试
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/
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://*****
历史记录查看
搭建网站,查看崩溃的历史记录
由上图也可以看出,测试效率还是很高的,能发现一些崩溃问题,基本满足日常稳定性测试需求。
如果有其他好的测试工具欢迎评论一起探讨呀~