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