自动化技术框架选型的思考

156 篇文章 0 订阅
92 篇文章 0 订阅

2024软件测试面试刷题,这个小程序(永久刷题),靠它快速找到工作了!(刷题APP的天花板)-CSDN博客文章浏览阅读1.5k次,点赞69次,收藏10次。你知不知道有这么一个软件测试面试的刷题小程序。里面包含了面试常问的软件测试基础题,web自动化测试、app自动化测试、接口测试、性能测试、自动化测试、安全测试及一些常问到的人力资源题目。最主要的是他还收集了像阿里、华为这样的大厂面试真题,还有互动交流板块……https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5501在我们自动化方案完成之后,我们就需要考虑落地实际技术去实现了,用到技术就需要我们进行一些技术选型,那我们究竟该怎么做好选型工作呢?从哪些方面去思考?

下面是我在做自动化选型的一些思考和实践,仅供参考。

  • • 产品类型:我们是产品是一个Web应用、桌面应用、移动应用或者SDK?

  • • 技术架构:开展业务的技术架构是哪些,使用了哪些技术?

  • • 测试需求和目标:需要进行的是单元测试、UI 自动化、API 自动化、性能自动化测试还是都需要?

  • • 团队技术栈:你团队是 Java 技术栈还是 Python 技术栈或其他体系?

  • • 框架的成熟度和社区支持:框架是否成熟且有良好社区支持、活跃度怎么样?

  • • 维护性:对于用例维护性怎么样?管理怎么样?

  • • 成本:学习成本、使用成本、维护成本?

  • • 扩展性:如果需要进行二次开发,投入成本怎么样?

我们选择工具是为了解决我们的问题,而不是解决原来的问题,又带来其他更多问题,我们需要做好成本+效率+收益的平衡。

产品类型

我们的产品类型不同对我们选择的框架存在很大的影响,如果你是在测试移动应用,比较热门的如Appium、 Airtest这样的框架,如果你在测试Web应用,比较热门的如Selenium、playwright这样的框架, 如果是桌面这种应用,比较热门的如Airtest、WinAppDriver、PyAutoGUI等这样的框架。

由于每个框架支持的功能不一样,都有各自的优缺点,我们需要根据我们产品的类型、运行环境来决定选择哪一种框架,我们可以对框架进行最少流程的业务 demo 演示,看能否满足我们的需求。

技术架构

去熟悉被测系统的技术架构是很多人做自动化测试经常忽略的一个方面,这点也是非常重要。我们可以多参与技术方案评审、多与开发沟通,这样更快去熟悉。

那我们该怎么重点关注哪些东西呢?

  • • 应用入口:业务请求来源于 web 端、移动端(Android 和 IOS)、小程序、 H5。

  • • 前后端技术栈:UI自动化必须熟悉前端框架,这样能避免后续的元素定位留下隐患;接口自动化也需要熟悉后段的技术框架,对于风控规则、白名单规则、参数加密等类似业务逻辑规则,我们可以直接调用研发的接口进行处理、绕过。

  • • 架构组件:比如 Redis、RockMQ、ES、MySQL等;如果我们需要对这些中间件进行一些操作,肯定需要知道选择的框架是否支持或者简单的进行自定义工具类来实现。

  • • 数据流向:前端一个请求经过哪些服务处理再返回,经过中间哪些环节。

测试需求和目标

我们在前面文章里面说了梳理出团队的痛点,针对痛点选择合适的实施方案,这个实施方案就是我们要实现的需求,对于单元测试自动化、UI 自动化、API 自动化、性能自动化测试等这些,每一个类型的自动化都有各自擅长的工具框架,我们只有确定我们需要进行哪种类型的自动化,才能选择出一个合适的工具。

团队技术栈

这个方面很清晰,当前我们团队技术能力怎么样、熟悉哪些编程语言?自动化框架支持哪些语言?如果我们团队整体技术能力偏弱,我们只能选择界面操作型的框架工具,例如 API 的选择 Postman、 Jmeter 等,UI 自动化选择RobotFramework、 Airtest 等,如果团队编程技术比较好或者熟悉某一个框架,如果这个框架满足当前需求,我们肯定会优先选择这个框架。一般建议先搭建简单框架满足业务需求,先输出结果实现价值,搭建框架灵活性相对较高,不要一上来就是所谓的平台,一般后期肯定是平台化,但是有时候小而美的框架更实用。

框架的成熟度和社区支持

我们本来选择做自动化为了解决问题的,如果选择不成熟的框架,本身就存在很多问题,我们就得不偿失,遇见问题得不到社区的支持,有时候会严重影响进度。

我们要去了解框架是否程度和社区是否活跃,我们可以去看 GitHub 上的 star 和迭代情况、是否有大量对应使用教程文档资源,如果我们一搜索这个框架,出现很多相关内容,代表这个框架非常活跃,遇见问题可以快速找到对于解决方案。

维护性和成本

好的自动化框架应该易于维护。如果我们业务迭代快速,就需要一个能够快速修改和更新测试用例的框架。我们的自动化用例、脚本随着时间逐渐变多,用例维护、管理成本也会增加,框架应该有比较好的用例管理和快速维护用例的功能。

好的框架应该学习成本低,易于上手使用,对于出现了问题,我们也应该易于分析定位。

扩展性

主要在我们自动化过程中,总会存在一些问题,框架本身功能无法满足需要,需要我们进行一些二次开放或者自定义一些功能,选择的框架应该比较容易集成其他功能和二次开放新功能。

以上内容,仅代表个人看法,如果不同意见可以私信,如果你觉得文章写的不错,欢迎点赞、分享、在看和分享给你的朋友一起交流!

行动吧,在路上总比一直观望的要好,未来的你肯定会感谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入群: 786229024,里面有各种测试开发资料和技术可以一起交流哦。

最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】

在这里插入图片描述
软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

  • 21
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值