在自動化的軟體測試系統實現過程中使用框架設計可以使得測試指令碼的維護量減至最少。然而,大量的自動化測試工具均採用傳統的「錄製一回放」模
型,導致了較高的指令碼維護量,因為測試資料在測試指令碼程式中是以硬編碼方式實現的。此外,工具內建的測試用例除了測試應用程式的圖形使用者介面,實際
上並沒有其它用處。因此,如何選擇乙個合適的測試自動化框架,是乙個自動化測試小組開始啟動前需要最優先考慮的乙個問題。
乙個自動化測試框架就是乙個由假設、概念以及為自動化測試提供支援的實踐的集合。以下描述五種基本的自動測試框架:模組化測試指令碼框架,測試庫構
架框架,關鍵字驅動/表驅動測試框架,資料驅動測試框架,以及混合測試框架。可以根據實際需要去考慮採用其中的一種測試框架而不是僅僅依賴於乙個簡單
的捕獲工具。同時,這些框架是了解自動測試框架
以及根據自己的需要和經驗來設計自動測試框架的基礎。
1.模組化測試框架
模組化測試指令碼框架(test modularity framework)需要建立小而獨立的可以描述的模組、片斷以及待測應用程式的指令碼。這些樹狀結構的小指令碼組合起來,就能組成能用於特定的測試用例的指令碼。
在五種框架中,模組化框架是最容易掌握和使用的。在乙個元件上方建立乙個抽象層使其在餘下的應用中隱藏起來,這是眾所周知的程式設計技巧。這樣應用同元件中的修改隔離開來,提供了程式設計的模組化特性。模組化測試指令碼框架使用這一抽象或者封裝的原理來提高自動測試組合的可維護性和可公升級性。
2.測試庫框架
測試庫框架(test library architecture)與模組化測試指令碼框架很類似,並且具有同樣的優點。不同的是測試庫框架把待測應用程式分解為過程和函式而不是指令碼。這個框架需要建立描述模組、片斷以及待測應用程式的功能庫檔案。
3.關鍵字驅動或表驅動的測試框架
對於乙個獨立於應用的自動化框架,關鍵字驅動(keyword driven)i9ljj試和表驅動(table driven)測試是可以互換的術語。這個框架需要開發資料表和關鍵字。這些資料表和關鍵字獨立於執行它們的測試自動化工具,並可以用來「驅動"待測應用程式和資料的測試指令碼**,關鍵宇驅動測試看上去與手工測試用例很類似。在乙個關鍵字驅動測試中,把待測應用程式的功能和每個測試的執行步驟一起寫到乙個表中。
這個測試框架可以通過很少的**來產生大量的測試用例。同樣的**在用資料表來產生各個測試用例的同時被復用。
4.資料驅動測試框架
資料驅動(data driven),lj試是乙個框架。在這裡測試的輸入和輸出資料是從資料檔案中讀取(資料池,odbc源,csv檔案,excel檔案,ado物件等)並且通過捕獲工具生成或者手工生成的**指令碼被載入到變數中。在這個框架中,變數不僅被用來存放輸入值還被用來存放輸出的驗證值。整個程式中,測試指令碼來讀取數值檔案,記載測試狀態和資訊。這類似於表驅動測試,在表驅動測 試中,它的測試用例是包含在資料檔案而不是在指令碼中,對於資料而言,指令碼僅僅是乙個「驅動器」,或者是乙個傳送機構。然而,資料驅動測試不同於表驅動測試,儘管導航資料並不包含在表結構中。在資料驅動測試中,資料檔案中只包含測試資料。
這個框架意圖減少需要執行所有測試用例所需要的總的測試指令碼數。資料驅動需要很少的**來產生大量的測試用例,這與表驅動極其類似。
軟體自動化測試框架的發展
it168技術文章 基於介面的軟體自動化測試框架和工具的發展大致經歷了三個階段 有人也據此將測試工具分為三代 1 簡單的錄製 回放 由工具錄製並記錄操作的過程和資料形成指令碼,通過回放來重複人工操作的過程。在這種模式下資料和指令碼混在一起,幾乎乙個測試用例對應乙個指令碼,維護成本很高。而且即使介面的...
軟體自動化測試框架的發展
基於介面的軟體 自動化測試框架和工具的發展大致經歷了三個階段 有人也據此將測試工具分為三代 1 簡單的錄製 回放 由工具錄製並記錄操作的過程和資料形成指令碼,通過回放來重複人工操作的過程。在這種模式下資料和指令碼混在一起,幾乎乙個測試用例對應乙個指令碼,維護成本很高。而且即使介面的簡單變化也需要重新...
自動化測試框架
可設計為五層 一 測試用例層 主要存放用例的指令碼,分為主指令碼和子指令碼。主指令碼用來控制各個子指令碼,實現指令碼間的資料傳遞。子指令碼是實現各個功能點的指令碼,同時也會提取出一些共用的方法,一般放在提取層中。主指令碼中可使用資料驅動來控制指令碼實現各種場景的流程,如silktest的test s...