譚泉寧 長沙市明德中學(xué)
進入了新世紀(jì)以來,在電子商務(wù)的發(fā)展下,人們對于Web程序的運行質(zhì)量提出了更高的要求,在傳統(tǒng)測試方法中,需要針對Web程序的回歸性、兼容性進行測驗,但是在檢驗時,容易出現(xiàn)編碼問題和腳本錯誤問題,因此,測試人員需要不斷調(diào)試,影響了測試的效率。在這一背景下,探討一個簡單的自動化測試框架,對于提高測試效率有著重大的意義。
傳統(tǒng)測試工具存在局限問題,利用自動化測試框架可以有效解決這類問題,在自動化測試框架中,可以通過控制其中的各項參數(shù)變化來提高測試效率。目前常用的框架包括幾種類型:
1.1 腳本模塊化框架:該種框架腳本是利用底層來實現(xiàn),通過對其中組件、程序功能的分解,建立對應(yīng)腳本;
1.2 數(shù)據(jù)驅(qū)動測試框架:數(shù)據(jù)驅(qū)動測試框架即在測試程序中提取相關(guān)數(shù)據(jù),載入測試編碼,再在原腳本中載入測試數(shù)據(jù),構(gòu)建框架;
1.3 關(guān)鍵字驅(qū)動測試框架:該種框架具有獨立性的特征,能夠通過關(guān)鍵字來測試邏輯完整性;
1.4 測試庫構(gòu)架框架:不同于腳本模塊化,該種框架可以將應(yīng)用程序分解為獨立程序,但是需要建立模塊化功能性庫文件。
WATF的功能包括幾個方面:
2.1.1 測試環(huán)境的還原:在測試時,需要借助自動化執(zhí)行環(huán)境,在運行前,可以由外部條件觸發(fā)測試環(huán)境;
2.1.2 容易維護的腳本結(jié)構(gòu),為了解決數(shù)據(jù)硬編碼問題,需要對腳本進行修改,適應(yīng)程序變化,提高測試效率;
2.1.3 并發(fā)與分布式測試:在一個大的測試項目中,往往會存在多個測試用例,順序執(zhí)行測試,需要耗費大量時間,如果可以并發(fā)執(zhí)行,即可有效節(jié)約測試成本。且不同類型的測試任務(wù),需要在不同的環(huán)境中,才能夠執(zhí)行,因此,測試框架需要滿足分布式測試的要求,可以對分布式節(jié)點進行動態(tài)管理;
2.1.4 測試計劃的定制:對于測試任務(wù),可以利用配置來完成測試,這種測試支持每日構(gòu)建和驗證,在完成測試之后,可以產(chǎn)生測試報告,如果測試出現(xiàn)失敗,也可以以郵件方式來通知負責(zé)人員。
根據(jù)要求,WATF框架包括兩層,即由服務(wù)器端組成的管理層與客戶端、由測試腳本構(gòu)成的執(zhí)行層。每一個服務(wù)器端,都可以對應(yīng)多個客戶端,其中包括一個“slave包”,將客戶端與服務(wù)器端相連,即可接收相關(guān)的測試結(jié)果。
在整個管理層中,服務(wù)器端是一個重點,可以應(yīng)用在測試計劃的制定,還能夠參與管理,用戶可以根據(jù)自己的需求來開展測試活動,該種測試框架能夠?qū)y試任務(wù)劃分為不同的生命周期。在不同的階段,工作任務(wù)是不同的,在SC-Mcheckout階段,主要任務(wù)是源碼與腳本檢出;在Pre-Build階段,負責(zé)測試任務(wù)的觸發(fā),在提交代碼檢入之后,代碼庫會第一時間修改,觸發(fā)系統(tǒng)運行;在Build Wrapper階段,可以搭建出相應(yīng)的測試環(huán)境;在Build Runs階段,屬于核心階段,是測試運行階段,測試人員需要提供測試腳本,包括shell腳本、批處理腳本、Maven腳本等,在同一個任務(wù)中,可以同時運行多個腳本。
從管理層的設(shè)計可以知道完整的運行一個測試任務(wù)需要經(jīng)歷幾個不同的階段,而每個階段都可能依賴于外部的文件和執(zhí)行腳本。為了使測試腳本具有更好的維護性,WATF 框架還需包括一個良好的自動化測試執(zhí)行層框架。
傳統(tǒng)自動化測試框架存在種種不足,為此,可以利用基于Web的自動化測試框架,該種框架有著自動化程度高、檢測效率高、可擴展性強的優(yōu)勢,關(guān)于這一框架的應(yīng)用,還需要根據(jù)研究中出現(xiàn)的問題不斷完善。
[1]劉瑾.Web系統(tǒng)Selenium WebDriver自動化測試框架搭建[J].電子技術(shù)與軟件工程.2017(21)
[2]韓小明.自動化測試框架:與FinalBuilder結(jié)合[J].軟件世界.2007(18)
[3]郭德紅,陳勇.自動化測試框架底層驅(qū)動研究[J].電腦知識與技術(shù).2011(34)
[4]韓小明.自動化測試框架:設(shè)計的重構(gòu)[J].軟件世界.2007(17)