在自動化的軟件測試系統實現過程中使用框架設計可以使得測試腳本的維護量減至最少。然而,大量的自動化測試工具均采用傳統的“錄制一回放”模
型,導致了較高的腳本維護量,因為測試數據在測試腳本程序中是以硬編碼方式實現的。此外,工具內建的測試用例除了測試應用程序的圖形用戶界面,實際
上並沒有其它用處。因此,如何選擇一個合適的測試自動化框架,是一個自動化測試小組開始啟動前需要最優先考慮的一個問題。
一個自動化測試框架就是一個由假設、概念以及為自動化測試提供支持的實踐的集合。以下描述五種基本的自動測試框架:模塊化測試腳本框架,測試庫構
架框架,關鍵字驅動/表驅動測試框架,數據驅動測試框架,以及混合測試框架。可以根據實際需要去考慮采用其中的一種測試框架而不是僅僅依賴於一個簡單
的捕獲工具。同時,這些框架是了解自動測試框架以及根據自己的需要和經驗來設計自動測試框架的基礎。
1.模塊化測試框架
模塊化測試腳本框架(TEST MODulARITY FRAMEWORK)需要創建小而獨立的可以描述的模塊、片斷以及待測應用程序的腳本。這些樹狀結構的小腳本組合起來,就能組成能用於特定的測試用例的腳本。
在五種框架中,模塊化框架是最容易掌握和使用的。在一個組件上方建立一個抽象層使其在余下的應用中隱藏起來,這是眾所周知的編程技巧。這樣應用同組件中的修改隔離開來,提供了程序設計的模塊化特性。模塊化測試腳本框架使用這一抽象或者封裝的原理來提高自動測試組合的可維護性和可升級性。
2.測試庫框架
測試庫框架(Test Library Architecture)與模塊化測試腳本框架很類似,並且具有同樣的優點。不同的是測試庫框架把待測應用程序分解為過程和函數而不是腳本。這個框架需要創建描述模塊、片斷以及待測應用程序的功能庫文件。
3.關鍵字驅動或表驅動的測試框架
對於一個獨立於應用的自動化框架,關鍵字驅動(KEYWORD DRIVEN)I9LJJ試和表驅動(TABLE DRIVEN)測試是可以互換的術語。這個框架需要開發數據表和關鍵字。這些數據表和關鍵字獨立於執行它們的測試自動化工具,並可以用來“驅動"待測應用程序和數據的測試腳本代碼,關鍵宇驅動測試看上去與手工測試用例很類似。在一個關鍵字驅動測試中,把待測應用程序的功能和每個測試的執行步驟一起寫到一個表中。
這個測試框架可以通過很少的代碼來產生大量的測試用例。同樣的代碼在用數據表來產生各個測試用例的同時被復用。
4.數據驅動測試框架
數據驅動(DATA DRIVEN),LJ試是一個框架。在這里測試的輸入和輸出數據是從數據文件中讀取(數據池,ODBC源,CSV文件,EXCEL文件,ADO對象等)並且通過捕獲工具生成或者手工生成的代碼腳本被載入到變量中。在這個框架中,變量不僅被用來存放輸入值還被用來存放輸出的驗證值。整個程序中,測試腳本來讀取數值文件,記載測試狀態和信息。這類似於表驅動測試,在表驅動測 試中,它的測試用例是包含在數據文件而不是在腳本中,對於數據而言,腳本僅僅是一個“驅動器”,或者是一個傳送機構。然而,數據驅動測試不同於表驅動測試,盡管導航數據並不包含在表結構中。在數據驅動測試中,數據文件中只包含測試數據。
這個框架意圖減少需要執行所有測試用例所需要的總的測試腳本數。數據驅動需要很少的代碼來產生大量的測試用例,這與表驅動極其類似。
5.混合測試自動化(Hybrid Test Automation)框架
最普遍的執行框架是上面介紹的所有技術的一個結合,取其長處,彌補其不足。這個混合測試框架是由大部分框架隨着時間並經過若干項目演化而來的