用Selenium 自動化驗收測試[1]

發表于:2010-05-11來源:作者:點擊數: 標簽:seleniumSelenium自動化驗收
用Selenium 自動化驗收測試[1] 軟件測試 Web 應用程序的驗收測試常常涉及一些手工任務,例如打開一個瀏覽器,并執行一個 測試用例 中所描述的操作。但是手工執行的任務容易出現操作人員人為的錯誤,也比較費時間。因此,盡可能將這些任務自動化,以消除人為

  用Selenium 自動化驗收測試[1]   軟件測試 

     Web 應用程序的驗收測試常常涉及一些手工任務,例如打開一個瀏覽器,并執行一個測試用例中所描述的操作。但是手工執行的任務容易出現操作人員人為的錯誤,也比較費時間。因此,盡可能將這些任務自動化,以消除人為因素,這是一種很好的做法。于是 Selenium 之類的測試工具就有了用武之地。Selenium 幫助您自動化驗收測試,從而可以構建經過更嚴格測試、因而更為可靠也更易于維護的軟件。

  驗收測試也稱黑盒測試功能測試,是測試和檢驗應用程序是否能按照涉眾(stakeholder)的功能性需求、非功能性需求和其他重要需求來運行的一種方法。驗收測試是單元測試和組合測試的補充,后兩者通常是使用 xUnit 框架編寫的。驗收測試也可以使用編程語言來編寫,但是 Selenium 和其他類似的工具,例如 Fitnesse,也支持用特定于工具的文檔格式編寫測試。

  驗收測試與單元測試和組合測試有以下不同之處:

  應用程序是作為一個完整的端到端實體來測試的,而不是像單元測試和組合測試那樣,只是測試一個類或一組類。

  驗收測試是在用戶界面(例如一個瀏覽器)上執行的,而不是在 Web 應用程序界面上執行的。

  編寫測試用例的人不一定知道應用程序的內部結構,因此也被稱作黑盒測試。非技術性用戶也可以編寫驗收測試。

  背景知識

  在討論 Selenium 之前,我要介紹關于以下三個話題的一些背景知識,因為這些話題雖然不是本文的主題,但是和本文密切相關:

  持續集成

  Ajax

  Ruby/Ruby on Rails

  持續集成

  持續集成的目標是自動化構建和測試過程,以便每天自動運行一次或多次這些過程,而不是每個月手動地運行一次。使用持續集成的最大好處是,代碼的更改會定期地自動被集成。如果系統受損,沒有構建成功,Apache Continuum 和 Luntbuild 之類的持續集成工具可以自動通過發送電子郵件通知團隊(見 參考資料)。

  Ajax

  Ajax 是 Asynchronous JavaScript and XML 的縮寫,這是為相當老的技術新創造的一個術語。Ajax 背后的主要思想是,由于只需更新部分頁面而不是整個頁面,所以 Web 應用程序可以更快地對用戶操作做出響應。

  Ajax 將更多的復雜性引入到 Web 應用程序中,這一點也反映在測試中。這是因為 Ajax 就像它的名稱所表明的那樣,使用 JavaScript 和異步 HTTP 請求來更新頁面內容。每個瀏覽器在實現中與其他瀏覽器相比有一些小小的不同。Selenium 是測試和檢測這些差異的很好的工具,因為它在大多數流行的瀏覽器中都能夠運行。

  Ruby/Ruby on Rails

  Ruby 是一種開放源碼的解釋型腳本語言,用于快捷、容易地進行面向對象程序設計。它提供了大量的庫,而且簡單易用,還具有可擴展性和可移植性。該語言是由 Yukihiro “Matz” Matsumoto 創造的,目的是讓程序員將更多的注意力放在手頭的任務上,擺脫語法的煩惱。

  Rails 是由 David Heinemeier Hansson 創造的一種全棧的(full-stack)、開放源碼的 Ruby Web 框架。Rails 的目標是使現實中的應用程序編寫起來需要的代碼更少,并且比 J2EE 和 XML 之類的語言更容易。所有層都能夠無縫地一起工作,因此可以使用一種語言編寫從模板到控制流乃至業務邏輯的各種東西。Rails 使用 YAML 而不是 XML 配置文件以及注釋形式的反射和運行時擴展。這里不存在編譯階段 —— 程序修改后將直接運行。

原文轉自:http://www.anti-gravitydesign.com

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