如果自動化測試架構能管理測試專案、安排任務,將產品使用者需求和測試需求很好地結合起來,那麼測試目標更明確,測試的效率會得到進一步提高。測試結果的分析也是很重要的,一般也要求在自動化測試架構中得到解決。最重要的是易用,將各個工具整合起來,並能很好地使用這些工具。例如,openqa.org社區提供了一個工具Bromine,它整合了Selenium Core/RC,非常容易跟蹤和管理測試專案、需求、測試計劃、測試案例和缺陷,可以監控缺陷的提交和將缺陷指派給相應的開發人員,瀏覽和分析測試結果。
一個理想的自動化測試架構能解決上述問題,提供一個分布式的通訊平台、友好的人機互動介面和開放式架構,將自動化測試中所需要的各個關鍵區段有機地整合起來,形成一個為自動化測試服務的、完整的、層次清楚的開發平台和運行環境,包括:
1) 綜合管理平台,可以將自動化測試中所有的工作內容管理起來,相當於一個統一的入口(Portal),可以瀏覽每部分的內容;
2) 基於業務驅動的指令碼整合式開發環境,這樣比較容易構造關鍵字驅動的指令碼,為此要建立軟體系統的物件程式庫,並將這些對象映射為指令碼中的邏輯對象,以減少軟體需求變化對指令碼的影響。這個整合式開發環境還包括指令碼錄製、編輯等功能,並能和CVS、Ant等工具整合。其中庫函數可以看作是關鍵字列表和關鍵字實現,而對象映射可以看作物件程式庫和映射關係構成的。
3) 安排(schedule)測試工作,使任務可以定時啟動,內建執行測試工作;
4) 在測試過程中,能夠監控測試資源,並及時發現問題,發出警告,並保留(記錄)相關資料;
5) 控制中心(控制器),驅動測試載入器,可以調用測試工作,並能將測試工作、測試指令碼等分發給遠程機器;
6) 遠程機器執行測試工作,通過代理實現,而代理由控制中心來控制。
詳細見:課件 Build Full-cycle TA Framework
參考:
- 七劍下天山,獨領自動化測試技術
- 開源自動化的測試架構Tellurium
- 軟體測試的兩張藏寶圖和三個層次
- 越來越強大的SAFS/STAF/STAX自動化測試架構
- 如何正確理解自動化測試?
- 開源測試載入器/社區(Selenium /OpenQA.org)——今非昔比