自动遍历测试技术

自动遍历测试技术

在这个章节,我们主要通过基于雪球 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>

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务