軟件測試自動化框架的基本構(gòu)成
所謂自動化測試框架,可以解釋為自動化測試的整體解決方案,是由一些假設(shè)、概念和為自動化測試提供支持的系統(tǒng)及其最佳實踐等構(gòu)成的集合。對不同的應(yīng)用領(lǐng)域或不同的測試水平,自動化測試的框架具有不同的構(gòu)成,但我們必須清楚如何滿足自動化測試的基本要求,了解自動化測試框架的基本構(gòu)成,從而在此基礎(chǔ)上,根據(jù)自己組織的實際情況來進(jìn)行擴(kuò)充,從而構(gòu)造適應(yīng)性更強(qiáng)、效率更高、功能更強(qiáng)的自動化測試框架。
為了能開展自動化測試的工作,首先需要基礎(chǔ)設(shè)施(infrastructure)來支撐測試工具的運行,這包括Web 服務(wù)器、郵件服務(wù)器、FTP 服務(wù)器等。其次是執(zhí)行自動化測試,要有一套機(jī)制來保證測試腳本的執(zhí)行。具體地說,就是先建立測試環(huán)境,創(chuàng)建和執(zhí)行測試套件,然后獲取執(zhí)行狀態(tài)并給出測試結(jié)果報告。根據(jù)這個分析,可以描述一個自動化測試框架的雛形,如圖2-11 所示。
圖2-11 軟件自動化測試框架的雛形
圖2-11 中的雛形給出了自動化測試框架的基本構(gòu)成要素,包括執(zhí)行器、腳本管理器、報告生成器等,也比較清楚地描述了這些要素之間的關(guān)系。但是,這個框架還沒給出其他一些必要的信息,例如:
測試腳本的層次性,如何分離業(yè)務(wù)邏輯和系統(tǒng)基本操作?
如何實現(xiàn)自動化測試工具的接口?
如何實現(xiàn)被測試系統(tǒng)的對象映射?
如何事先安排測試任務(wù)?
如何管理有效測試資源?
如果要在測試腳本上分離業(yè)務(wù)邏輯和系統(tǒng)基本操作,必須將各種基本操作封裝為特定的關(guān)鍵字,每個關(guān)鍵字對應(yīng)一個函數(shù),而業(yè)務(wù)邏輯可以由關(guān)鍵字和參數(shù)來描述,即可以通過圖2-12 來描述這種腳本結(jié)構(gòu)。
圖2-12 關(guān)鍵字驅(qū)動腳本框架示意圖
事先安排測試任務(wù),也是非常重要的。例如,測試人員在下班前將測試任務(wù)安排好,測試實際執(zhí)行可以在晚上9 點鐘以后或得到新的軟件包后自動開始。這樣,測試人員在第二天上班前就可以得到測試報告。安排完任務(wù),還需要開發(fā)具有相應(yīng)觸發(fā)機(jī)制的引擎(Engine/ Cron Job)來執(zhí)行測試任務(wù)。它負(fù)責(zé)完成自動部署軟件包、向各臺遠(yuǎn)程測試機(jī)器分發(fā)腳本并啟動測試工具等工作。對于這部分,可以用圖2-13 來描述,其中底層的基礎(chǔ)設(shè)施可以由STAX 實現(xiàn)。
圖2-13 自動化測試任務(wù)的安排和執(zhí)行
posted on 2012-06-11 09:34 順其自然EVO 閱讀(515) 評論(0) 編輯 收藏 所屬分類: qtp 、selenium and watir webdrivers 自動化測試學(xué)習(xí)