软件测试 52 讲
茹炳晟
腾讯 TEG 基础架构部 T4 级专家
71691 人已学习
新⼈⾸单¥68
登录后,你可以任选4讲全文学习
课程目录
已完结/共 63 讲
结束语 (1讲)
软件测试 52 讲
15
15
1.0x
00:00/00:00
登录|注册

40 | 从小工到专家:聊聊测试执行环境的架构设计(上)

适用于小型项目
需要人为指定测试执行机
商业云测平台和自建移动测试执行环境
支持移动终端和模拟器的测试执行
例如Selenium Grid中Node的数量和类型
测试执行集群规模的自动扩容或收缩
基于Docker的解决方案
高效地管理大量的测试执行机
针对大型测试需求
例如Selenium Grid
使用者无需了解内部设计细节
需要高效和稳定的测试基础架构
多样性的测试需求
大量的自动化测试用例
少量固定的测试执行机器
简单的测试执行架构
测试用例的版本控制
测试用例的组织
测试发起的控制
容量规划
包括测试执行机器或者集群的创建与维护
例如Selenium Grid
测试执行的机器或者集群
提供便于Jenkins Job管理的统一测试执行平台
Selenium Grid迁移到Docker
面临集群扩容和Jenkins Job臃肿问题
支持测试用例的并发执行
不再需要指定具体的测试执行机
基于Selenium Grid
局限性
Jenkins Job用于发起测试执行
测试用例存储在代码仓库中
移动App的支持
可扩展性
易维护性
透明性
中大型软件公司
中小型软件公司
广义的测试执行环境
狭义的测试执行环境
遇到的瓶颈和解决方法
Selenium Grid的使用
基于Docker的测试基础架构
经典的测试基础架构
早期的测试基础架构
设计高效的测试基础架构
测试基础架构
广义和狭义的定义
思考题
测试执行环境

该思维导图由 AI 生成,仅供参考

你好,我是茹炳晟,今天我和你分享的主题是“从小工到专家:聊聊测试执行环境的架构设计(上)”。
在上一篇文章中,我介绍了 Selenium Grid 的基础知识,以及如何搭建 Selenium Grid。现在,你已经非常清楚,Selenium Grid 的作用主要是承担了测试执行机器的角色,被用来执行实际的测试工作。但是,实际工程中的测试执行环境往往更复杂,而测试执行机器也只是其中的一个重要部分。
因此,我们还需要控制发起测试的 Jenkins,并管理测试用例执行和结果显示的系统。同时,为了更方便地与 CI/CD 流水线集成,我们还希望不同类型的测试发起过程可以有统一的接口。
那么,从今天开始的两篇文章,我将由浅入深地和你聊聊测试执行环境中的基本概念,以及架构设计的思路。

什么是测试执行环境?

测试执行环境的定义有广义和狭义之分:
狭义的测试执行环境,单单指测试执行的机器或者集群。比如,我在上一篇文章《从小作坊到工厂:什么是 Selenium Grid?如何搭建 Selenium Grid?》中介绍的 Selenium Grid 就是一个最经典的测试执行集群环境。
广义的测试执行环境,除了包含具体执行测试的测试执行机以外,还包括测试执行的机器或者集群的创建与维护、测试执行集群的容量规划、测试发起的控制、测试用例的组织以及测试用例的版本控制等等。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文介绍了测试执行环境的重要性以及测试基础架构的设计思路。文章首先讨论了早期的测试基础架构,其中测试用例存储在代码仓库中,通过Jenkins Job来发起测试执行。然后,文章提出了经典的测试基础架构,使用Selenium Grid代替固定的测试执行机器,解决了一些局限性。随着测试用例数量的增加,传统的Selenium Grid方案也遇到了瓶颈,因此业界考虑将Selenium Grid迁移到Docker,并提供便于Jenkins Job管理的统一测试执行平台。最后,文章总结了设计高效的测试基础架构需要考虑透明性、易维护性和可扩展性等方面,并提出了思考题,引发读者思考和讨论。 总的来说,本文通过讨论测试基础架构的演进,从早期到经典再到基于Docker的架构,展现了测试基础架构设计的重要性和发展趋势。同时,通过思考题引发读者思考和交流,使得本文不仅是对技术的介绍,更是对读者思维的启发和引导。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《软件测试 52 讲》
新⼈⾸单¥68
立即购买
登录 后留言

全部留言(13)

  • 最新
  • 精选
  • 元让
    没有,selenium grid 除了分布式执行外没有更多优势,而且技术太老了

    作者回复: gird目前依旧是最主流的分布式测试执行方案,不知道你说的技术老是指哪个方面?

    2018-09-29
    2
    2
  • Robert小七
    我们还在使用早期的方案,测试机器都是在本地

    作者回复: 嗯嗯,规模不大的时候没有问题,但是当规模上去之后就不行了

    2018-09-28
    2
  • 年轻人的瞎折腾^.
    我们现在用的就是docker技术~但是具体的原理并不是很熟悉,可以听老师讲了~

    作者回复: 这里本身并没有介绍docker本身的知识,主要是利用docker来搭建测试的执行环境

    2019-01-14
  • yingjin
    您好,我们公司也还在使用早期的方案,听了您的讲座对Selenium Grid很感兴趣。但是我们公司使用的UI自动化测试框架是微软的CodedUI,想问一下自动化框架使用的不是Selenium,还能使用Selenium Grid吗?

    作者回复: 应该是不能的

    2018-11-19
  • 陆培尔
    selenium grid之类的技术我理解都是k8没出来之前的产物,现在主流的流水线比如jenkins或者gitlab-ci,都支持和k8直接对接,每个job都会拉起一个pod进行构建或者测试,由k8进行整个集群的资源调度,测试任务不需要关心基础资源的情况
    2021-03-16
    3
  • 口水窝
    大概loadrunner出现的初期,有控制机、执行机的概念,这个就相当于Selenium Grid的雏形。但是Selenium Grid还没实践过,现在的公司小,就我一个测试,还没兼顾到这个地位,加油,需要学习的更多。
    2019-05-15
    3
  • 小昭
    没用过Selenium Grid,打卡学习~
    2022-03-06
  • Geek_a4cca6
    我目前使用的是二台node机器在跑,后面运行一段时间后,发现多线程去跑,不太稳定,后面就改成了还是一台机器跑,我用的是pytesT多并发的方式,目的就是想平分测试用例到测试机,缩短运行时间,不知道是不是pytest的原因?
    2020-09-30
  • 捷后愚生
    知道现在所在的公司有搭建了自动化测试平台,但是之前是不了解其整体架构和原理的,通过学习这篇文章,我想这些平台的基本架构跟老师文章所说的应该是差不多的,可能会有一些不同。
    2020-08-07
    1
  •  Ella
    selenium测试用例并发执行可以简单讲一下怎么实现吗?谢谢
    2020-03-25
收起评论
显示
设置
留言
13
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部