基于 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讲