大型全球化电商的测试基础架构设计数据库
大型全球化电商网站全局测试基础架构的设计思路,能够总结为“测试服务化”。也就是说,测试过程当中须要用的任何功能都经过服务的形式提供,每类服务完成一类特定功能,这些服务能够采用最适合本身的技术栈,独立开发,独立部署。浏览器
测试执行的发起是经过 Restful API 调用完成。架构
统一测试执行服务的主要原理是,经过 Spring Boot 框架提供 Restful API,内部实现是经过调度 Jenkins Job 具体发起测试。框架
经过 Restful API 调用统一测试数据服务,而后由它在被测系统中实际建立或者搜索符合要求的测试数据。异步
测试执行环境准备服务的使用方式,通常有两种:测试
一种是,由统一测试执行服务根据测试负载状况,主动调用测试执行环境准备服务来完成测试执行机的准备,好比启动并挂载更多的 Node 到 Selenium Grid 中;网站
另外一种是,测试执行环境准备服务不直接和统一测试执行服务打交道,而是由它本身根据测试负载来动态计算测试集群的规模,并完成测试执行集群的扩容与收缩。架构设计
用来安装部署被测系统和软件。设计
其实现原理是,调用 DevOps 团队的软件安装和部署脚本。blog
测试报告服务的实现中引入了一个 NoSQL 数据库,用于存储结构各异的测试报告元数据。
把配置值从代码中抽离出去放到单独的配置文件中,而后代码经过读取配置文件的方式来动态获取配置值。
首先,CI/CD 流水线脚本会以异步或者同步的方式调用被测系统部署服务,安装部署被测软件的正确版本。
被测系统部署完成后,CI/CD 脚本就会调用统一测试执行服务。统一测试执行服务会根据以前部署的被测软件版本选择对应的测试用例版本,而后从代码仓库中下载测试用例的 Jar 包。
接下来,统一测试执行服务会将测试用例的数量、浏览器的要求,以及须要执行完成的时间做为参数,调用测试执行环境准备服务。
统一测试执行服务一般以同步的方式调用测试执行环境准备服务。
测试执行环境准备好以后,统一测试执行服务就会经过 Jenkins Job 发起测试的执行。测试用例执行过程当中,会依赖统一测试数据服务来准备测试须要用到的数据,并经过全局测试配置服务获取测试相关的配置与参数。
在测试执行结束后,还会自动将测试报告以及测试报告的元数据发送给测试报告服务进行统一管理。
来源于 极客时间 茹炳晟 软件测试52讲