這個框架需要開發(fā)數(shù)據(jù)表和關(guān)鍵字,這些數(shù)據(jù)表和關(guān)鍵字獨立于執(zhí)行它們的測試自動化工具蓖租,并可以用來“驅(qū)動"待測應(yīng)用程序和數(shù)據(jù)的測試腳本代碼粱侣,關(guān)鍵宇驅(qū)動測試看上去與手工測試用例很類似。
概述
在自動化的軟件測試系統(tǒng)實現(xiàn)過程中使用框架設(shè)計可以使得測試腳本的維護量減至最少蓖宦。然而齐婴,大量的自動化測試工具均采用傳統(tǒng)的“錄制一回放”模型,導致了較高的腳本維護量稠茂,因為測試數(shù)據(jù)在測試腳本程序中是以硬編碼方式實現(xiàn)的柠偶。此外,工具內(nèi)建的測試用例除了測試應(yīng)用程序的圖形用戶界面睬关,實際上并沒有其它用處诱担。因此,如何選擇一個合適的測試自動化框架电爹,是一個自動化測試小組開始啟動前需要最優(yōu)先考慮的一個問題蔫仙。
一個自動化測試框架就是一個由假設(shè)、概念以及為自動化測試提供支持的實踐的集合丐箩。以下描述五種基本的自動測試框架:模塊化測試腳本框架摇邦,測試庫構(gòu)架框架恤煞,關(guān)鍵字驅(qū)動/表驅(qū)動測試框架,數(shù)據(jù)驅(qū)動測試框架涎嚼,以及混合測試框架阱州。
可以根據(jù)實際需要去考慮采用其中的一種測試框架而不是僅僅依賴于一個簡單的捕獲工具。同時法梯,這些框架是了解自動測試框架以及根據(jù)自己的需要和經(jīng)驗來設(shè)計自動測試框架的基礎(chǔ)。
1.模塊化測試框架
在五種框架中犀概,模塊化框架是最容易掌握和使用的立哑。在一個組件上方建立一個抽象層使其在余下的應(yīng)用中隱藏起來,這是眾所周知的編程技巧姻灶。這樣應(yīng)用同組件中的修改隔離開來铛绰,提供了程序設(shè)計的模塊化特性。模塊化測試腳本框架使用這一抽象或者封裝的原理來提高自動測試組合的可維護性和可升級性产喉。
2.測試庫框架
測試庫框架(Test Library Architecture)與模塊化測試腳本框架很類似捂掰,并且具有同樣的優(yōu)點。不同的是測試庫框架把待測應(yīng)用程序分解為過程和函數(shù)而不是腳本曾沈。這個框架需要創(chuàng)建描述模塊这嚣、片斷以及待測應(yīng)用程序的功能庫文件。
3.關(guān)鍵字驅(qū)動或表驅(qū)動的測試框架
對于一個獨立于應(yīng)用的自動化框架塞俱,關(guān)鍵字驅(qū)動(KEYWORD?Driven)I9LJJ試和表驅(qū)動(TABLE DRIVEN)測試是可以互換的術(shù)語姐帚。這個框架需要開發(fā)數(shù)據(jù)表和關(guān)鍵字。這些數(shù)據(jù)表和關(guān)鍵字獨立于執(zhí)行它們的測試自動化工具障涯,并可以用來“驅(qū)動"待測應(yīng)用程序和數(shù)據(jù)的測試腳本代碼罐旗,關(guān)鍵宇驅(qū)動測試看上去與手工測試用例很類似。在一個關(guān)鍵字驅(qū)動測試中唯蝶,把待測應(yīng)用程序的功能和每個測試的執(zhí)行步驟一起寫到一個表中九秀。
這個測試框架可以通過很少的代碼來產(chǎn)生大量的測試用例。同樣的代碼在用數(shù)據(jù)表來產(chǎn)生各個測試用例的同時被復用粘我。
框架本身所要做的就是識別Excel表格中的這些控件對象以及Action
4.數(shù)據(jù)驅(qū)動測試框架
數(shù)據(jù)驅(qū)動(DATA?Driven)鼓蜒,LJ試是一個框架。在這里測試的輸入和輸出數(shù)據(jù)是從數(shù)據(jù)文件中讀韧康巍(數(shù)據(jù)池友酱,ODBC源,CSV文件柔纵,EXCEL文件缔杉,ado對象等)并且通過捕獲工具生成或者手工生成的代碼腳本被載入到變量中。在這個框架中搁料,變量不僅被用來存放輸入值還被用來存放輸出的驗證值或详。整個程序中系羞,測試腳本來讀取數(shù)值文件,記載測試狀態(tài)和信息霸琴。這類似于表驅(qū)動測試椒振,在表驅(qū)動測 試中,它的測試用例是包含在數(shù)據(jù)文件而不是在腳本中梧乘,對于數(shù)據(jù)而言澎迎,腳本僅僅是一個“驅(qū)動器”,或者是一個傳送機構(gòu)选调。然而夹供,數(shù)據(jù)驅(qū)動測試不同于表驅(qū)動測試,盡管導航數(shù)據(jù)并不包含在表結(jié)構(gòu)中仁堪。在數(shù)據(jù)驅(qū)動測試中哮洽,數(shù)據(jù)文件中只包含測試數(shù)據(jù)。
這個框架意圖減少需要執(zhí)行所有測試用例所需要的總的測試腳本數(shù)弦聂。數(shù)據(jù)驅(qū)動需要很少的代碼來產(chǎn)生大量的測試用例鸟辅,這與表驅(qū)動極其類似。
5.混合測試自動化(hybrid?Test Automation)框架
最普遍的執(zhí)行框架是上面介紹的所有技術(shù)的一個結(jié)合莺葫,取其長處匪凉,彌補其不足。這個混合測試框架是由大部分框架隨著時間并經(jīng)過若干項目演化而來的徙融。
個人認為以上的架構(gòu)是存在遞進關(guān)系的洒缀,至少前四個是肯定的,還是需要多種框架特點組合在一起的欺冀,有很好的借鑒意義树绩!
黑馬自動化視頻教程(解密完結(jié))
獲取規(guī)則,關(guān)注公眾號好即可獲取
作者:西邊人
頭條號:請搜索(馬蟻蛋)
公眾號:軟件測試資源站(ID:testpu)
關(guān)注后私信回復 入群隐轩,加入自學社群聯(lián)盟饺饭。