自动遍历测试技术
自动遍历测试技术
在这个章节,我们主要通过基于雪球 App 自动化测试实战,来学习 App 自动化测试进阶技巧,并积累必要的实战经验。
1. 互联网应用背景
随着移动端业务快速变更,测试工程师要面对的问题也日渐清晰,以雪球 App 为例,主要存在以下业务问题:
- 业务线众多
- 业务流程复杂
- 依赖传统券商一些资源
把雪球 App 问题进一步细分,会得到非常多的小问题:
- 旧版雪球 App 存在股票信息字段内容丢失或者数据异常
- 微信分享不可用
- 用户网络慢时发出请求后退出当前页面发生崩溃
- 某些界面在4.4和5.0的系统上操作体验不同
- 界面崩溃
上述问题,如果考虑用 Appium 自动化测试解决:
- 产品迭代快速,维护自动化用例费时费力
- 需要掌握测试用例设计模式(PageObject),学习成本较高
如果考虑用手工测试解决:
- 界面字段正确性:比如股票相关数据变化,共数十个字段
- 接口正确性:后端接口传输数据的变化和内容
- 专项测试回归难度大:内存泄漏、健壮性测试、弱网等测试过程太多
- 回归工作量大:不回归又会漏测
所以,无论是自动化测试还是手工测试都无法理想满足要求,还需要对现有的测试方法改进。
-
自动化测试
- 覆盖主要业务的 right path
- 缩小规模尽量降低维护成本
-
手工测试
- 覆盖新功能测试
- 探索性测试
对自动化测试与手工测试的改进,产生了新的测试方向:“自动遍历测试”,它存在以下优点。
- Code Less:用例维护成本降低到最低
- Automate:尽可能的自动化覆盖回归业务
2. 自动遍历测试的需求
将上述问题及常见公司问题进行总结,可以得出自动遍历的需求:
- 可控:可以定义遍历的路径
- 可定制:可实现自动输入、自动滑动等基础行为
- 结果分析
- 点击前后的截图对比
- 结果的数据建模
- App 结构思维导图展示
后面文章将围绕这几大需求,介绍自动遍历工具。
3. 常见遍历工具与技术
自动遍历常见工具:
- Google Android 原生 Monkey、App Crawler
- 百度 smartmonkey
- 腾讯 newmonkey
- vigossjjj 的 smart_monkey
- macaca 的 NoSmoke
- 今日头条的 zhangzhao maxim
- seveniruby 的 AppCrawler
Google 对 Android 系统提供了 Monkey,App Crawler 自动遍历工具,但功能相对简单,无法做到可控,可定制等。
所以,基于 monkey 工具,国内一些公司进行了二次封装,开发出smartmonkey, newmonkey,smart_monkey 等工具,优点是速度快,效率高,缺点是无法定制,不可控。
与之相对,seveniruby 开发的 AppCrawler 及 macaca 的 NoSmoke 基于自动化工具(Appium)进行二次开发,做到了可控,可定制,结果分析,但缺点是速度不及 monkey。
小结
接下来,我们将逐个介绍这些工具的特性与实战应用技巧。
<p> 专刊包含了10+年经验测试架构师对测试职业发展的深度解读 帮助你掌握当下 BAT 流行的 App 自动化测试技术基础技能和工具使用;以及从入门到进阶的自动化测试实战经验,在面试中能够脱颖而出。 本专刊购买后即可解锁所有章节,故不可以退换哦~ </p> <p> <br /> </p> <p> <br /> </p>