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