近年自動化測試發(fā)展迅猛,幾乎每個行業(yè),如GUI、APP、云等都開發(fā)出自己的自動化開源框架來滿足本行業(yè)自動化測試的需求,但這些自動化開源架構(gòu)大多是偏向自動化實現(xiàn)技術(shù)的。從自動化工程角度出發(fā),給出通用的自動化測試框架。

從自動化工程的角度來說,自動化測試框架主要分為4層。
自動化測試架構(gòu)的底層是“被測系統(tǒng)/測試環(huán)境層”,主要包括自動化測試對象的實際物理設(shè)備和虛擬化環(huán)境。自動化腳本實際就運行在這一層上。
第二層是“自動化測試架構(gòu)層”,這是自動化測試架構(gòu)的核心層,主要包含幾個子系統(tǒng)。
·腳本語言運行環(huán)境和各種框架的集合:包含自動化測試相關(guān)的語言環(huán)境、庫、開源/自研框架等。
·業(yè)務(wù)負(fù)載發(fā)生器:主要作用是模擬所需的業(yè)務(wù)負(fù)載。
·測試數(shù)據(jù)生成器:根據(jù)測試要求生成所需的測試數(shù)據(jù)。
·被測系統(tǒng)管理系統(tǒng):包括配置文件的管理、相關(guān)數(shù)據(jù)庫管理等。
·測試環(huán)境管理系統(tǒng):主要是對測試環(huán)境的管理,如測試拓?fù)?、資源等。
·AW(Action Word,動作關(guān)鍵字):在自動化測試中,所有的操作都需要抽象封裝為關(guān)鍵字,供上層自動化腳本調(diào)用。
·工具:與自動化測試相關(guān)的工具組件(如測試報告生成工具)和其他系統(tǒng)(如需求管理系統(tǒng)、測試用例系統(tǒng)或缺陷系統(tǒng)關(guān)聯(lián)的工具插件等)。
第三層是“自動化腳本和套件層”。建議從“特性——測試類型”這樣的角度來組織自動化腳本。還可以根據(jù)場景、專項等將滿足特定條件的自動化腳本組合起來,形成自動化測試用例集(又稱自動化測試套件),方便用戶層調(diào)度使用。

最頂層是“用戶層”,包含的子系統(tǒng)如下。
·腳本調(diào)度運行系統(tǒng):如Jenkins Jobs等,提供與腳本調(diào)度和運行相關(guān)的能力。
·自動化測試報告:提供自動化測試結(jié)果,為測試失敗的腳本提供詳細(xì)信息,以供自動化測試執(zhí)行人員分析使用。
·儀表盤:提供當(dāng)前自動化項目的整體狀態(tài)、統(tǒng)計等信息。
·用戶管理系統(tǒng):提供基本的賬號管理、權(quán)限等能力。
摘取自劉琛梅老師的《測試架構(gòu)師修煉之道:從測試工程師到測試架構(gòu)師 第2版》