写在前面

公司自动化测验是根据appium开发的,每个版别需要抽出 1人天的时间进行维护,但是每个版别自动化发现的问题不足1个,根据一年多的维护和产出进行了对比,决议抛弃现有的自动化测验,选用fastbot进行代替。

fastbot介绍

本段引证fastbot官网介绍,Fastbot,由字节跳动自研的智能化测验系统,支持Android和iOS,它是一套根据模型(MBT)的智能化 GUI 测验服务。咱们将测验任务转换为对 App 进行遍历查找和构建有向有环图模型的查找任务。一起,分拆了客户端和服务端,完成了海量设备上的多机协同履行 GUI 测验任务。在客户端做 GUI 信息监听上报和动作注入,在服务端做模型搭建和动作决策,并根据 UCB 公式规划了多套契合有向有环图遍历的算法,避免了部分死循环的情况,极大的提高了测验掩盖才能和测验功率

fastbot 使用

  • Android项目https://gitee.com/ByteDance/Fastbot_Android
  • iOS 项目 https://gitee.com/ByteDance/Fastbot_iOS

具体的使用过程这儿就不说了,官网项目写的非常清楚,能够参考下这两个项目

对自动化理解

为什么选用fastbot,不选用传统的自动化测验技能呢,传统的自动化技能倾向于事务才能,而fastbot倾向于功用,这是怎么说能,因为传统的UI自动化是根据用例规划进行自动化脚本编写的,而fastbot 经过遍历页面下的功用按钮,完成自动化测验,可能有人会有疑问,这样的测验怎么能发现问题呢?由于现在的项目大都事务逻辑在后端完成,前端不会再有逻辑相关的代码,所以咱们在完成自动化测验的时候,应该把逻辑部分多在接口自动化和单元测验中完成,而UI自动化测验简略的页面功用即可,只要把握好整体的自动化掩盖率,按比重来分配 UI自动化、接口自动化、单元测验,正如测验金字塔模型一样,UI自动化测比重现已远远小于接口自动化和单元测验,所以咱们就不必忧虑这样没有逻辑规划的自动化会对事务掩盖不全。

测试开发-用了几周的fastbot,谈谈感受

fastbot 优缺陷

在几周的使用过程中,总结了一些长处和缺陷,长处:1、不必传统自动化的环境的搭建,push 几个jar包到手机内就能使用,2、经过一些装备文件能够完成页面的白名单和黑名单,不需要点击的地方等功用,3、有完好的log能够对报错进行剖析,缺陷:1、装备了登录页面的黑名单或退出登录不点击,仍是会奇怪的退出登录,2、陈述在手机端生成,假如集成到平台可能需要自行处理。

fastbot发现了问题

自动化结束后,会生成几个比较有用的log文件

  • max.activity.statistics.log文件,这个文件写了 掩盖了那些页面和页面的掩盖率,能够便利咱们后续做出计算

测试开发-用了几周的fastbot,谈谈感受

  • meminfo,这个文件计算了使用过程中的内存占比,能够便利咱们进行app 功能剖析

测试开发-用了几周的fastbot,谈谈感受

  • crash-dump.log 文件,这个文件是一些报错内容,包括 app 的crash 和anr 等,能够接入测验陈述,进行跟进处理

测试开发-用了几周的fastbot,谈谈感受

测试开发-用了几周的fastbot,谈谈感受

能够看出,陈述仍是非常具体的,包括哪个页面出现了什么问题,这样也便利开发进行处理跟进。

总体感受

总体使用下来感觉,维护成本确实是大大降低了,也能发现更更多的问题,降低的线上的风险,可能页面装备仍是会有差错,假如不装备老是退出登录就可能导致 有的页面履行不到,个人感觉仍是比较契合迭代较快的公司。

最后

我是小巴哥,一个陪你成长,实实在在分享 测验干货职场经验的人,欢迎关注!!!