Window Control Action Arguments Calculator Menu View, Standard Calculator Pushbutton Click 1 Calculator Pushbutton Click + Calculator Pushbutton Click 3 Calculator Pushbutton Click = Calculator Verify Result 4 Calculator Clear Calculator Pushbutton Click 6 Calculator Pushbutton Click - Calculator Pushbutton Click 3 Calculator Pushbutton Click = Calculator Verify Result 3
這個表格代表了一個完整的測試,為了表示一系列測試可以根據需要增加。一旦你創建了數據表,你就可以簡單地編寫用來讀取每一個步驟的程序或腳本集,基于Action字段中的關鍵字執行步驟,完成錯誤檢查,然后記錄任何相關的信息。這種程序或腳本集看上去象下面的偽代碼: Main Script / Program Connect to data tables. Read in row and parse out values. Pass values to appropriate functions. Close connection to data tables. Menu Module Set focus to window. Select the menu pad option. Return. Pushbutton Module Set focus to window. Push the button based on argument.Return.
Verify Result Module
Set focus to window.
Get contents from label.
Compare contents with argument value.
Log results.
Return.
從這個例子里你可以看到為了生成許多的測試用例,這種框架只要求非常少的代碼。用數據表生成不同的測試用例卻可以重用相同的代碼。IBM Rational工具集可以通過使用交互式的文件讀取,查詢或數據池延伸開來,或者你可以連同IBM Rational一起使用其他的工具(免費,其他的開發工具等)來構建這種類型的框架。 數據驅動測試框架(The Data-Driven Testing Framework)數據驅動測試是測試從數據文件(數據池,ODBC源,cvs文件,Excel文件,DAO對象等)中讀取輸入和輸出數值并載入到捕獲的或手工編碼的腳本中變量里的一種框架。在這種框架里,輸入數值和輸出驗證數值都使用變量。在測試腳本中編寫貫穿程序的導航,數據文件的讀取,記錄測試狀態和信息的日志的代碼。測試用例包含在數據文件里而不是在腳本里的方面上,這種框架和表格驅動測試有些相似;腳本只是一種“驅動器”(driver)或傳送數據的機制。盡管導航的數據不包含在表結構中,但和表格驅動測試還是不同的。在數據驅動測試里,只有測試數據包含在數據文件中。如果使用SQABasic語言和IBM Rational的數據池功能,IBM Rational工具集里有自帶的數據驅動功能。為了演示這種框架的使用,我們將測試一個簡單應用程序中的訂單表格。 如果我們錄制這個窗口中的數據輸入,得到以下腳本: 我們可以使用數據池來設置測試有效和無效信用卡號和過期日期的測試用例。例如,下圖中是用于測試數據字段的測試用例中的數據池, 為了接收這些數據,我們修改腳本如下: 為了使用數據池,我增加了SQABasic命令,還增加了“While”循環來處理在數據池中每一行數據。我必須說明一下在“If…Then”語句中的Ucase(SQABasic命令)函數。Ucase用于將參數(在這個例子里是指數據池返回的數值)全部轉換成大寫。這種方法不是大小寫敏感的,所以代碼更強壯。這個框架趨向于減少你為了實現所有測試用例而需要的全部的腳本數量,并且在開發繞開錯誤的辦法(Workaround)和維護方面提供了最好的靈活性。和表格驅動測試非常相似的是,表格驅動測試只需要非常少的代碼就可以產生大量的測試用例。用IBM Rational工具集實現這種框架是非常容易,并且它也提供了大量的關于指引和例子的詳細文檔。 混合的測試自動化框架(The Hybrid Test Automation Framework)最常見的已實現的框架是上述技術的組合,抽取它們的優點,剔除其弱點。這種混合的測試自動化框架是發展時間較長且應用項目最多的框架。下圖可以讓你對如何用IBM Rational工具集組合不同的框架有初步的認識。 總結我描述了自動化測試小組可以考慮使用的5種測試自動化框架,而不是依賴某一種捕獲工具。你可以使用一種或它們之間的組合。你可以通過嵌套測試腳本實現模塊化并使用SQABasic庫文件來實現功能和過程。不管你選擇哪一種數據驅動技術,你都可以使用數據池,或者你還可以擴展Robot來處理其他數據存貯類型。應用最好的框架的竅門和解決他們的唯一方法是投入進去并開始使用它們。
延伸閱讀
文章來源于領測軟件測試網 http://www.kjueaiud.com/