姜秀麗
摘 要:軟件測試是保障軟件質量的重要手段,隨著計算機技術的飛速發展,軟件的復雜度越來越高,傳統手工執行測試表現出很大的局限性,面臨這種需求,自動化測試技術應運而生。由IBM開發的STAF(Software Testing Automation Framework)軟件測試框架在自動化測試領域表現出突出的優勢。STAF基于可重用的組件技術實現,這些可重用組件稱為服務。STAF能夠實現跨平臺、跨語言、分布式的軟件自動化測試,而且STAF的可擴展性很強,根據用戶具體業務可以方便的構建實用的自動化測試平臺。
關鍵詞:自動化測試;分布式;STAF
1 引言
STAF(Software Testing Automation Framework)是IBM開發的一種開源的、支持多語言并且基于可重用組件機制的自動化測試框架,開發STAF目的是更好的創建和管理自動化測試用例和環境。STAF的功能通過服務(Service)即可重用的組件實現,每個服務是一系列功能的集合,例如日志服務(Logging Service)、過程服務(Process Service)、監控服務(Monitoring Service)、文件服務(File Service)等等。
2 STAF/STAX工作原理
STAF本身是一個后臺程序稱為STAFProc,STAFProc可以提供一種輕量級的分發機制,將接收的外界請求發送給相應的服務(Service)。STAF采用點對點的實現機制,能夠減輕自動化測試的負擔,加快自動化測試的進程。在STAF的運行環境中所有的機器都是對等的,沒有客戶端與服務器的區別。
假設現在有兩臺機器A和B,A是主控機,如下圖1所示:
可以看出機器A和B都安裝了STAF,并且互相配置了信任關系。用戶可以通過在機器A上調用STAF的服務(service)來實現與機器B的相互通訊,如文件傳輸、操作機器B、監控等等。所以STAF的作用實際上就是提供機器之間的通信通道并提供基于這個通道的基礎服務。
我們可以單獨通過STAF將測試任務集合分發到不同的測試環境去執行,但是如果測試任務太多,并且是不斷添加新的任務進來,單獨依靠STAF就不利于測試任務的執行、管理與維護了。因此引入了STAX的概念,如圖2所示。
圖中機器A安裝了STAF/SATX,那么用戶就可以把一批STAF Service調用通過XML格式寫在一個文檔里,然后由STAX調用這個文檔并翻譯成STAF Service 通過STAF傳遞給機器B執行。引入STAX機制使多測試任務的問題得到很好的解決。
3 結論
STAF自動化測試框架支持多種平臺,多種操作系統,亦可以搭建跨平臺的測試環境,比較適合需要構造復雜測試環境的場合。根據用戶的特性需求部署執行機,測試及執行完測試腳本,在服務器端可直接收集分析測試結果,方便管理和維護,因此,基于STAF測試框架的自動化測試平臺的使用具有很廣的使用前景。
參考文獻
[1]陳能技編著.軟件測試技術大全:測試基礎 流行工具 項目實踐(第二版).人民郵電出版社,2011.
[2]Gerald D.Everett,Raymond McLeod,Jr.Software Testing:Testing Across the Entire Software Development Life Cycle.Wiley – IEEE Computer Society Pr,2008.
[3]IBM,Software Testing Automation Framework(STAF) User Guide,2008.9,Version 3.3.1.endprint