42 | 實戰:大型全球化電商的測試基礎架構設計

大型全球化電商的測試基礎架構設計數據庫

大型全球化電商網站全局測試基礎架構的設計思路,能夠總結爲「測試服務化」。也就是說,測試過程當中須要用的任何功能都經過服務的形式提供,每類服務完成一類特定功能,這些服務能夠採用最適合本身的技術棧,獨立開發,獨立部署。瀏覽器

統一測試執行服務

測試執行的發起是經過 Restful API 調用完成。架構

統一測試執行服務的主要原理是,經過 Spring Boot 框架提供 Restful API,內部實現是經過調度 Jenkins Job 具體發起測試。框架

統一測試數據服務

經過 Restful API 調用統一測試數據服務,而後由它在被測系統中實際建立或者搜索符合要求的測試數據。異步

測試執行環境準備服務

測試執行環境準備服務的使用方式,通常有兩種:測試

  • 一種是,由統一測試執行服務根據測試負載狀況,主動調用測試執行環境準備服務來完成測試執行機的準備,好比啓動並掛載更多的 Node 到 Selenium Grid 中;網站

  • 另外一種是,測試執行環境準備服務不直接和統一測試執行服務打交道,而是由它本身根據測試負載來動態計算測試集羣的規模,並完成測試執行集羣的擴容與收縮。架構設計

被測系統部署服務

用來安裝部署被測系統和軟件。設計

其實現原理是,調用 DevOps 團隊的軟件安裝和部署腳本。blog

測試報告服務

測試報告服務的實現中引入了一個 NoSQL 數據庫,用於存儲結構各異的測試報告元數據。

全局測試配置服務

把配置值從代碼中抽離出去放到單獨的配置文件中,而後代碼經過讀取配置文件的方式來動態獲取配置值。

大型全球化電商網站測試基礎架構的使用實例

首先,CI/CD 流水線腳本會以異步或者同步的方式調用被測系統部署服務,安裝部署被測軟件的正確版本。

被測系統部署完成後,CI/CD 腳本就會調用統一測試執行服務。統一測試執行服務會根據以前部署的被測軟件版本選擇對應的測試用例版本,而後從代碼倉庫中下載測試用例的 Jar 包。

接下來,統一測試執行服務會將測試用例的數量、瀏覽器的要求,以及須要執行完成的時間做爲參數,調用測試執行環境準備服務。

統一測試執行服務一般以同步的方式調用測試執行環境準備服務。

測試執行環境準備好以後,統一測試執行服務就會經過 Jenkins Job 發起測試的執行。測試用例執行過程當中,會依賴統一測試數據服務來準備測試須要用到的數據,並經過全局測試配置服務獲取測試相關的配置與參數。

在測試執行結束後,還會自動將測試報告以及測試報告的元數據發送給測試報告服務進行統一管理。


來源於 極客時間 茹炳晟 軟件測試52講

相關文章
相關標籤/搜索