如何選擇適合你的測試自動化框架

發表于:2013-02-19來源:ITPUB論壇作者:不詳點擊數: 標簽:框架
如何選擇適合你的測試自動化框架.基于只使用一種捕獲工具例如IBM Rational Robot來錄制并且回放測試用例而得出自動化測試工作量是有缺陷的。只使用一種捕獲工具來運行復雜且巨大的測試是非常耗費時間和昂貴的。

  基于只使用一種捕獲工具例如IBM Rational® Robot來錄制并且回放測試用例而得出自動化測試工作量是有缺陷的。只使用一種捕獲工具來運行復雜且巨大的測試是非常耗費時間和昂貴的。因為這些測試是隨機創建的,他們的功能性是很難追蹤和重現,而且維護成本也是非常昂貴的。

  對于一個剛剛起步的自動化測試小組,更好的選擇是使用一種測試自動化框架,它已經定義好了由一些假設,概念和制定工作平臺或為自動化測試提供支持的實踐組成的集合。在這篇文章中我試著將一些我熟悉的測試自動化框架-特別是測試腳本模塊化,測試庫構架,關鍵字驅動/表格驅動測試,數據驅動測試和混合的測試自動化。我并不會評價哪一個框架更好或更差,而只是提供了一些關于他們的描述和演示,所適用的地方和如何使用IBM Rational工具集實現的一些技巧。

  測試腳本模塊化框架(The Test Script Modularity Framework)

  測試腳本模塊化框架需要創建能夠代表測試下應用程序(application-under-test)的模塊,零件(Section)和函數的小的,獨立的腳本。然后用一種分級的方式將這些小腳本組成更大的測試,實現一個特定的測試用例。

  在我將提及的所有的框架中,這種框架應該是最容易精通且掌握的。就在一個部件前面構建一個抽象層以掩藏應用程序其他的部件方面,它是一個很著名的編程策略。它把應用程序從在部件的修改中隔離開來并規定了在應用程序設計中的模塊性。為了提高自動化測試套件(test suite)的可維護性和可測量性,測試腳本模塊化框架應用了抽象或封裝的原則。

  為了演示這種框架的應用,我以自動化Windows計算器程序中的測試其基本功能(加,減,乘和除)的一個簡單測試用例(如圖)為例。

  腳本層次結構的最下層是獨立的加減乘除的腳本。下面的第一個腳本是加法,第二個是減法。

  然后在層次結構中下一級的兩個腳本用來代表視圖菜單中的標準視圖和科學視圖。就像下面的關于標準視圖的腳本中表現的一樣,這些腳本調用了我們在之前創建的腳本。

  最后,在層次結構中最頂層的腳本應該是用來測試應用程序不同視圖的測試用例。

  從這個簡單的例子中你可以了解到這種框架是如何產生高度的模塊化并且增加測試套件的全面的可維護性。如果以后計算器上的某一個控制鍵被移動了,你所需要改變的只是底層調用這個控制鍵的腳本,而不是測試這個控制鍵的所有測試用例。

  測試庫構架框架(The Test Library Architecture Framework)

  測試庫構架框架和測試腳本模塊化框架非常相似,有著同樣的優勢,但是它把測試下的應用程序分成過程和函數,而不是腳本。這種框架要求創建代表測試下應用程序模塊,零件和函數的庫文件(SQABasic libraries, APIs, DLLs等等)。然后這些庫文件被測試用例腳本直接調用。

  為了演示這種框架的應用,我將自動化同上的測試用例,但使用了一個SQABasic的庫文件。這個庫文件包括執行操作的一個函數。以下是頭文件(header file (.sbh))和庫文件(library source file (.sbl))。

  使用這個庫文件,產生以下測試用例腳本。

  從這個例子中,你能夠看到這種框架也產生了高度的模塊化,同樣增加了測試套件的全面可維護性。就像在測試腳本模塊化一樣里,如果計算器中的一個控制鍵移動了,你所要做的只是更改庫文件,這樣同時也更新了所有調用控制鍵的腳本。

  關鍵字驅動或表驅動測試框架(The Keyword-Driven or Table-Driven Testing Framework)

  關鍵字驅動和表格驅動測試是一種獨立于應用程序的自動化框架,它們是可以互相替換的術語。這種框架要求開發于用來運行的自動化工具,驅動測試下應用程序和數據的測試腳本代碼相獨立的數據表和關鍵字。關鍵字驅動測試看上去非常象手工測試。在關鍵字測試里,應用程序的功能特性被寫在表格和每個測試的詳細指引里了。

  如果要映射出手工測試Windows計算器功能過程中用鼠標執行的操作,我們可以創建如下的表格。” Window”一列包含了我們執行鼠標操作的應用程序窗口的名字(在這個例子中,他們都發生在計算器窗口里)。” Control”一列指出了鼠標點擊的控制鍵的類型。” Action” 一列列出了鼠標的操作(或是測試人員的)。”Arguments”列指出了特定的控制鍵(1, 2, 3, 5, +, -等)

  這個表格代表了一個完整的測試,為了表示一系列測試可以根據需要增加。一旦你創建了數據表,你就可以簡單地編寫用來讀取每一個步驟的程序或腳本集,基于Action字段中的關鍵字執行步驟,完成錯誤檢查,然后記錄任何相關的信息。這種程序或腳本集看上去象下面的偽代碼:

  從這個例子里你可以看到為了生成許多的測試用例,這種框架只要求非常少的代碼。用數據表生成不同的測試用例卻可以重用相同的代碼。IBM Rational工具集可以通過使用交互式的文件讀取,查詢或數據池延伸開來,或者你可以連同IBM Rational一起使用其他的工具(免費,其他的開發工具等)來構建這種類型的框架。

原文轉自:http://www.uml.org.cn/Test/2008060510.asp

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97