41 | 从小工到专家:聊聊测试执行环境的架构设计(下)
茹炳晟
该思维导图由 AI 生成,仅供参考
你好,我是茹炳晟,今天我和你分享的主题是“从小工到专家:聊聊测试执行环境的架构设计(下)”。
在上一篇文章中,我介绍了测试基础架构的概念,以及早期的和经典的两种测试基础架构。在文章的最后,我提到经典的测试基础架构中采用的 Selenium Grid 方案,在测试用例的数量持续增加的情况下,会带来集群扩容、Jenkins Job 臃肿不堪等诸多问题,因此我们考虑将 Selenium Grid 迁移到 Docker,并且提供便于 Jenkins Job 管理的统一测试执行平台。
所以,今天的这篇文章,我就会围绕这些瓶颈以及对应的解决方案来展开。
基于 Docker 实现的 Selenium Grid 测试基础架构
随着测试基础架构的广泛使用,以及大量的浏览器兼容性测试的需求,Selenium Grid 中 Node 的数量会变得越来越大,也就是说我们需要维护的 Selenium Node 会越来越多。
在 Node 数量只有几十台的时候,通过人工的方式去升级 WebDriver、更新杀毒软件、升级浏览器版本,可能还不是什么大问题。但是,当需要维护的 Node 数量达到几百台甚至几千台的时候,这些 Node 的维护工作量就会直线上升。虽然,你可以通过传统的运维脚本管理这些 Node,但维护的成本依然居高不下。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
测试基础架构的发展历程及技术特点 茹炳晟的文章介绍了测试基础架构的演进和技术创新。首先,他讨论了基于Docker实现的Selenium Grid测试基础架构,通过采用Docker降低了Selenium Node的维护成本,提高了并发执行能力。其次,他介绍了引入统一测试执行平台的测试基础架构,实现了测试用例的版本化管理和提供基于Restful API的测试执行接口供CI/CD使用。最后,茹炳晟提出了基于Jenkins集群的测试基础架构,解决了单个Jenkins成为瓶颈节点的问题。此外,他还探讨了Selenium Grid的自动扩容和收缩技术,以及如何选择适合自己的测试基础架构。整篇文章全面介绍了测试基础架构的发展历程和技术特点,为读者提供了对测试基础架构的全面了解。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《软件测试 52 讲》,新⼈⾸单¥68
《软件测试 52 讲》,新⼈⾸单¥68
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(24)
- 最新
- 精选
- mgxian我觉得可以整合现在大热的k8s实现自动扩缩容
作者回复: 是的,k8s的确是个很棒的方案,但是我们没有采用的主要原因在于测试执行集群的我规模并没有大到非k8s不可,实施k8s的投入还是比较大的,如果后续集群规模继续扩大,我们就会考虑引入k8s,总之一句话就是工程上我们不求最先进,只求够用就好的原则
2018-10-016 - Jecy-8CI-CD这块老师能不能再深入讲解一下,比如有没有用到可视化的工具来集成
作者回复: cicd并不是这个专栏的重点内容,而且cicd不是靠一个工具就可以实现的,都是完整的一套工具链体系。
2018-10-071 - Robert小七这一套架构估计能用到的企业也不多了
作者回复: 大的互联网企业基本都是必须要有的,否则很难支持快速的迭代与发布
2018-10-0121 - 小老鼠1、你们这个平台是开源的吗?若是我想要份 2、selenium 我不太喜欢,里面问题好多。比如IE浏览器对于复杂页面,比如淘宝、京东首页无法获得元素,同样Chrome、FireFox就没问题
作者回复: 没有开源,目前看selenium还是比较靠谱的方案
2018-11-29 - CoolPanda不知道老师还会不会继续回复这里的问题? selenium-grid有个巨大的问题就是原生没有安全性选项,部署之后,所有能访问到console的URL的人都可以直接调用。请问老师是否真的在ebay内部大规模使用了,是自研二次开发了安全借口,还是借助防火墙网关等网络手段来控制访问? 谢谢。2019-07-1715
- 口水窝看完了演进的过程,有种酣畅淋漓,大快人心的感觉,在技术飞速发展分时代,作者能够把这些事件的东西通过原理的形式展现出来,点赞!再有疑问,对于这些演进的原材料,是从官方文档了解来的吗?2019-05-164
- Robert小七现在的公司用的基础架构和这个很像,但是多了基础用例,配置管理,mock,性能,等。可以算是一个真正的devops平台了!2019-05-222
- 楚耳老师这套环境只能支持基于seleium的ui脚本执行,换其它脚本就行不通了,如果是自己基于python写的接口脚本呢,有什么好的分布式执行框架吗?2019-04-2111
- 无心CI 持续集成,在工作环境中,确实很方便,跟踪项目质量测试结果,敏捷测试 快速的迭代2018-10-081
- Geek_67bb9d我想问一下测试用例的版本化管理 这个版本对应开发代码的版本 是一个增量用例的概念 还是全量呢?2023-06-18归属地:四川
收起评论