持續集成能夠使開發人員和測試人員在同一個最新的版本上工作。CruiseControl 是現在流行的持續集成的軟件。自動化測試能夠大大減輕測試人員的工作量,減少測試過程中人為出現的錯誤。STAF (STAX) 是一個輕量級的自動化測試框架。
本文結合 CruiseControl 和 STAF (STAX) 來介紹一個復雜環境下的自動化測試方案。我們使用 CruiseControl 作為自動化測試的入口和調度器,用它來控制 STAX 任務的執行。STAX 通過 STAX 復雜對測試代碼進行分發、編譯、部署和測試。在整個測試過程中,我們不僅可以使用 JUnit 測試用例來測試代碼,而且可以使用其他方式的測試用例來測試,比如 Rational Functional Tester 腳本,Robot 腳本等。
場景介紹
本文使用一個簡化了的復雜應用場景作為運行自動測試解決方案的環境。 該應用由一個提供簡單 Echo Service 的 WebService 和一個 Web 界面的 WebService 客戶端組成。 用戶既可以使用程序來直接訪問該 WebService 也以通過在瀏覽器中操作該客戶端來訪問 WebService 提供的服務。在訪問 WebService 和客戶端之前,用戶都需要經過身份驗證來聲明自己的身份。
WebService 和客戶端分別運行于 Windows 和 Linux 平臺上的 WebSphere 應用服務器之上。在 WebSphere 應用服務器上需要配置登錄認證模塊來實現用戶訪問前的身份認證。
在這一應用場景中,測試團隊經過分析,對自動化功能測試提出了以下需求:
WebService 和客戶端需要分別進行功能測試。
開發團隊提供了用于配置應用程序登錄模塊 (LoginModule) 的自動配置部署腳本,該腳本被發布到一個 FTP 服務器上。
WebService 和客戶端的源代碼以及測試腳本的源代碼都存放在 CVS 上,需要在測試執行前進行自動更新。
自動化測試執行需要每天自動定時運行。
測試執行的結果包括執行日志需要被測試團隊和開發團隊及時訪問到。
自動化測試方案的設計
針對上述需求,我們可以將這一自動化測試方案分隔為如下圖所示的幾個邏輯組件:
圖 1. 自動化測試方案的邏輯框圖
原文轉自:http://www.anti-gravitydesign.com