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

基于 Docker 实现的 Selenium Grid 测试基础架构

为了降低 Selenium Node 的维护成本

引入统一测试执行平台的测试基础架构

测试用例的版本化管理。

测试用例采用和开发一致的版本号。

提供基于 Restful API 的测试执行接口供 CI/CD 使用。

不直接在 CI/CD 流水线的脚本中硬编码发起测试的命令行。

基于 Jenkins 集群的测试基础架构

要解决的问题:单个 Jenkins 成了整个测试基础架构的瓶颈节点。

将测试基础架构中的单个 Jenkins 扩展为 Jenkins 集群。

测试负载自适应的测试基础架构

为了解决这种测试负载不均衡的问题,到底需要多少执行机器?

采用Selenium Grid 的自动扩容和收缩技术。

Selenium Grid 的自动扩容和收缩技术的核心思想是,通过单位时间内的测试用例数量,以及期望执行完所有测试的时间,来动态计算得到所需的 Node 类型和数量,然后再基于 Docker 容器快速添加新的 Node 到 Selenium Grid 中;而空闲时段则去监控哪些 Node 在指定时间长短内没有被使用,并动态地回收这些 Node 以释放系统资源。

如何选择适合自己的测试基础架构?

对于测试基础架构的建设,我们切忌不要为了追求新技术而使用新技术,而是应该根据企业目前在测试执行环境上的痛点,来有针对性地选择与定制测试基础架构。

采用什么样的测试基础架构不是由技术本身决定的,而是由测试需求推动的。


来源于 极客时间 茹炳晟 软件测试52讲

posted @ 2020-08-09 21:50  捷后愚生  阅读(255)  评论(0编辑  收藏  举报