一種關鍵字驅動的自動化測試框架

發表于:2015-04-01來源:uml.org.cn作者:不詳點擊數: 標簽:
軟件測試是保障和提高軟件質量的重要手段[1]。軟件開發者和使用者必須對軟件進行充分的測試,以確保其正常工作。統計表明,在典型的軟件開發項目中,軟件測試工作量往往占軟件

  0 引言

  軟件測試是保障和提高軟件質量的重要手段[1]。軟件開發者和使用者必須對軟件進行充分的測試,以確保其正常工作。統計表明,在典型的軟件開發項目中,軟件測試工作量往往占軟件開發總工作量的40%以上[2,3]。因此提高軟件測試過程的效率至關重要。

  為了提高測試效率,越來越多的測試工作引入了自動化測試的思想和方法。實踐證明,軟件自動化測試技術提高了軟件測試的速度和效率,節省了軟件測試成本,縮短了產品發布周期。同時,自動化測試技術也完成了許多手工測試無法實現的工作。所以,采用自動化測試方法和相應的測試框架成為了軟件開發組織測試工作的重要支撐手段。例如,采用自動化測試工具能在測試活動中減少一部分開銷,同時,有些測試活動是靠手工方式難以實現和度量的;自動化測試框架能夠提高測試效率,快速定位測試軟件各版本中的功能、性能缺陷。

  目前的自動化測試框架主要可以分為三種:錄制/回放測試框架、數據驅動的自動化測試框架、關鍵字驅動的自動化測試框架。通過比較,發現關鍵字驅動的測試框架較前兩者具有更好的可復用性,而且隨著測試量的增加,測試代碼的不斷累積,其優越性愈加明顯。但當前基于關鍵字驅動的測試框架研究尚未給出直接可用于Linux桌面測試的框架。而Linux下支持GUI自動化測試的測試框架對于Linux的應用程序的豐富與成熟具有至關重要的保障作用。因此為了彌補理論和實踐的差距,本文給出了一種實用、有效的關鍵字驅動的測試框架 LKDT,并驗證了LKDT在自動化測試領域的實用性和優越性。

  1 自動化測試框架概述

  1.1 自動化測試框架定義

  一個自動化測試框架就是一個由假設、概念以及為自動化測試提供支持的實踐的集合[4]。自動化測試框架可以減少測試腳本實現和維護的成本,使測試人員把精力集中在測試用例的設計上。自動化測試框架的好壞直接影響到自動化測試的成功與否[2]。

  1.2 自動化測試框架開發原則

  一個優秀的自動化測試框架應該滿足以下特點:

  a) 測試框架與被測應用程序獨立。雖然測試的應用程序不一樣,但被測應用程序之間卻會有相同的地方,測試框架應聚焦在不同測試應用程序中共同的部分,把與具體應用程序有關的部分從框架中移除。

  b) 測試框架應易于擴展、維護。測試框架應被高度模塊化,這樣可以提高框架的維護性。各個模塊之間相互獨立,對模塊內部的修改不應該影響其他模塊。除此之外,系統應該有充足、詳細的文檔,與軟件開發一樣,這也是必不可少的。設計文檔可以幫助開發人員擴展、維護測試框架,而使用文檔則可以告訴用戶要怎么使用該框架。

  c) 測試腳本所使用的測試語言應該是與框架獨立的。不同的測試框架可能在不同的應用領域有不同的表現,有些適用于Java應用程序的測試, 有些可能適用于Web應用程序的測試,如果測試腳本所采用的語言是私有的、與測試框架綁定的,那么當需要從一個測試框架遷移到另外一個測試框架時,所有的測試腳本都需要重寫。

  d) 測試框架不應該讓框架的復雜性影響到測試人員。在大多數情況下,測試人員就是測試人員而不是開發人員,甚至有的時候,他們不是專業的測試人員,可能只是具有很少軟件開發經驗的某個應用領域的專家。對于這些使用者來說,測試框架的使用要簡單、測試語言要易于理解,這樣可以使他們專注于業務相關內容的編寫。

  2 常用的自動化測試框架

  2.1 錄制/回放測試框架

  錄制/回放測試框架所采用的原理是通過錄制應用程序產生的線性腳本進行回放從而達到自動化測試的目的。

  其優點是簡單,通過錄制就可以得到所需腳本。但同時也有很大的缺點,它不具有邏輯判斷的能力,可維護性差,效率低下。

  2.2 數據驅動的自動化測試框架

  該種框架的原理是采用了數據驅動腳本進行測試,數據驅動腳本是將數據輸入存儲在獨立的數據文件中,腳本只存放控制信息,測試時輸入直接從文件中讀取,這樣同一腳本可以運行于不同的測試用例中,實現了腳本與數據的分離。其優點是可以快速增加相似測試,測試者增加新的測試不必掌握測試工具語言,對此后的類似測試無額外維護開銷;缺點是初始建立測試腳本的開銷較大,進行數據擴展的腳本需要針對相同的測試內容并具有相同的測試邏輯。

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

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