软件测试 利器 | AppCrawler 自动遍历测试工具实践(一)

本文介绍了AppCrawler,一个基于自动遍历的App测试工具,支持Android和iOS,强调其灵活性和可控性。文章对比了Monkey和Maxim,指出AppCrawler的跨平台性和可定制性,但运行速度较慢,适合需要高度定制和跨平台测试的场景。
摘要由CSDN通过智能技术生成

本文为霍格沃兹测试学院学院学员课程学习笔记,系统学习交流文末加群。

AppCrawler 是由霍格沃兹测试学院校长思寒开源的一个项目,通过名字我们大概也能猜出个方向,Crawler 是爬虫的意思,App 的爬虫,遍历 App :

官方 GitHub 上对这款工具的解释是:

一个基于自动遍历的 App 爬虫工具。支持 Android 和 iOS,支持真机和模拟器。最大的特点是灵活性,可通过配置来设定遍历的规则。

这里顺便提一下的是谷歌也发布了一款自动遍历的工具,名字几乎一样,叫做 App  Crawler (差了一个空格),设计的思想也一致,但是这款工具目前还在开发完善中,思寒大佬的工具比谷歌的早了两年时间,厉害啊!

Google App Crawler 链接:

https://developer.android.com/training/testing/crawler

下面来看看 AppCrawler 的作用和价值。

需求背景

互联网的业务需求背景

  • 业务变更快速

  • 业务线众多

  • 业务流程复杂

  • 依赖第三方接口较多


测试工作常见问题

  • UI 自动化只能覆盖核心业务逻辑,新功能来不及上自动化

  • 产品业务测试量较大,新版发布后,老功能来不及全面回归,容易漏测

  • 时间长,强度大的工作后,人容易产生疲乏,对数字的位数,文字的显示等错误信息的敏感度下降

  • 产品的界面深度很深,且包含大量的展示信息功能

  • 专项测试回归难度大:内存泄漏、健壮性测试、弱网等测试太多


这个时候我们需要一种手段,可以达到两方面的目的:

  • Code less: UI 自动化用例维护成本降到最低 

  • Automate:  尽可能的自动化覆盖回归业务

而自动遍历就可以满足我们对上述的业务的需求;接着再来看我们对自动遍历测试的一些需求,既然要用自动遍历,那么具体要等到什么样的效果?

工具选择

2.1 遍历工具需求

自动遍历的需求

  • 可控:可以定义遍历的路径,指定需要测试的业务,保证核心业务的覆盖优先级

  • 可定制:可实现自动输入、自动滑动等基础行为


结果分析

  • 点击前后的截图对比

  • 结果的数据建模

2.2 工具对比

2.2.1 Monkey

首先来看业界用的较早也是经常听过的一款工具—— Monkey

参考链接:


Monkey 官方链接:

https://developer.android.com/studio/test/monkey 


Monkey Script :

https://github.com/gb112211/Android-Platform-Development/blob/master/cmds/monkey/src/com/android/commands/monkey/MonkeySourceScript.java

这是 Android 官方提供的一个工具,在 Android 的官网我们可以看到对这款工具的解释如下:
 

没错,谷歌原本设计这款工具是为了对 App 进行压力测试的,而并不是自动遍历测试,注意的是这里的压力测试并不是我们平常意义上的对服务端的压力,而是对 App 前端的压力。下面是思寒对 App 压力测试的原因解释:

谷歌早期在设计 Android 的时候,Android 需要响应滑动、输入、音量、电话等事件,早期 activity 设计不完善的时候,谷歌希望测试 activity 的性能,把所有的数据批量化的输出给 activity,看 activity 一秒钟可以处理多少数据。所以早期 Monkey 是用来做 Android 的一个压力测试的工具。

由于 Monkey 在测试过程中的“随机”性,恰巧可以被用来做自动遍历测试,但是 monkey 的缺点行业很明显,就是不满足我们的两个自动遍历需求:可控性可定制。

  • 缺点:不支持业务行为定制,无法灵活的控制,经常会点到外部的 App 无法回归原测试 App;或者点击到注销和退出,造成无法继续后面的测试;因此 monkey 在经过调研了解后没有成为我们做自动遍历测试的首选。

2.2.2 Maxim

Maxim 也是一款自动遍历工具,由我们国内的一名叫做 zha

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值