为了下降 Selenium Node 的维护成本docker
测试用例的版本化管理。架构
测试用例采用和开发一致的版本号。测试
提供基于 Restful API 的测试执行接口供 CI/CD 使用。编码
不直接在 CI/CD 流水线的脚本中硬编码发起测试的命令行。命令行
要解决的问题:单个 Jenkins 成了整个测试基础架构的瓶颈节点。blog
将测试基础架构中的单个 Jenkins 扩展为 Jenkins 集群。接口
为了解决这种测试负载不均衡的问题,到底须要多少执行机器?资源
采用Selenium Grid 的自动扩容和收缩技术。开发
Selenium Grid 的自动扩容和收缩技术的核心思想是,经过单位时间内的测试用例数量,以及指望执行完全部测试的时间,来动态计算获得所需的 Node 类型和数量,而后再基于 Docker 容器快速添加新的 Node 到 Selenium Grid 中;而空闲时段则去监控哪些 Node 在指定时间长短内没有被使用,并动态地回收这些 Node 以释放系统资源。selenium
对于测试基础架构的建设,咱们切忌不要为了追求新技术而使用新技术,而是应该根据企业目前在测试执行环境上的痛点,来有针对性地选择与定制测试基础架构。
采用什么样的测试基础架构不是由技术自己决定的,而是由测试需求推进的。
来源于 极客时间 茹炳晟 软件测试52讲