五大Java自動化測試框架

時間:2019-07-04 11:09:15點擊量:124 作者:楊超月

五大Java自動化測試框架

【51CTO.com快譯】多年來,Java一直是服務器端應用開發的首選編程語言。隨著時間的推移和自動化測試的興起,業界出現了許多基于Java,并根據不同的業務邏輯而發展起來的開源框架。在此,我向大家介紹并比較五種用到了Java的自動化測試框架。

1.JUnit

由Kent Beck和Erich Gamma開發的JUnit是xUnit框架的一個實例。其設計的宗旨是讓Java開發人員能夠編寫出各種腳本、并執行那些可重復的測試用例。因此,JUnit通常被用來測試各種小塊的程序代碼。同時,您還可以通過將JUnit與Selenium WebDriver相集成,來執行針對某個網站的自動化測試。不過,只要添加了任何新的代碼,您都需要重新執行整個測試用例、以確保無任何損壞。

安裝JUnit的先決條件

由于JUnit是一種基于Java的框架,因此它與Java的Selenium WebDriver高度兼容。您需要準備如下先決條件:

安裝最新版本的JDK。

下載最新版本的JUnit,并設置相關的環境。

熟悉使用面向對象編程語言(尤其是Java)進行應用開發。

JUnit的優點和缺點

JUnit有如下優點:

由于必須閱讀代碼、并查找異常,因此開發人員普遍能夠對以測試為驅動的環境處之泰然。

能夠盡早地檢測出錯誤,進而產生更為可靠的程序代碼。

能夠開發出更具可讀性且無bug的程序代碼,以增強項目相關人員的信心。

最新版本的JUnit(版本4)不但可以更加輕松地識別出各種異常,而且能夠執行那些由舊版JUnit所編寫的測試用例。

可與Java 5及以上版本一起使用。

JUnit的唯一缺點是:

該框架無法執行依賴性測試。

JUnit的特點與競品比較

JUnit與下面將要提到的TestNG具有相似的功能。但是兩者在參數化測試的實現過程上不盡相同。由于歷史悠久,JUnit擁有更好的社區支持,并被定義為使用Selenium WebDriver進行基于Java類應用單元測試的標準。而TestNG雖然目前用戶相對較少,但是其社區規模卻日益增長。因此,我們認為:是選擇JUnit、還是TestNG作為Java測試的框架,完全取決于目標應用的性質和需求。

當然,如果您已選定了使用JUnit的話,請參考《使用JUnit和Selenium執行自動化測試》一文,以針對瀏覽器的兼容性開展分步測試。

2.JBehave

作為測試人員,您一定聽說過行為驅動開發(Behavior Driven Development,BDD)。它能夠以一種透明的方式,向業務用戶描述驗收測試。而JBehave正是一種通過Selenium WebDriver來針對BDD開展Java測試的框架。它可以讓新手輕松地理解BDD概念,進而基于行為開展應用測試。

安裝JBehave的先決條件

用戶使用JBehave的理想方法是與Eclipse相集成。因此,除了具有JDK1.7及更高版本,和Indigo以上的任意Eclipse IDE之外,您還需要配備如下jar文件:

JUnit-4.1.0.jar

Jbehave-core-3.8.jar

Commons-lang-2.4.jar

Paranamer-2.5.jar

Freemarker-2.3.9.jar

Org.apacje.commons.io.jar

Org.apache.commons.collections.jar

Plexus-utils-1.1.jar

JBehave的優點和缺點

與所有其他BDD測試框架一樣,JBehave具有如下優點:

協調具有類似規范、卻身處不同項目的開發團隊,來實現行為驅動式的開發。

根據類似的規范格式,讓項目經理和利益相關者對開發團隊和QA團隊的輸出具有更清楚地了解。

由于JBehave具有更多值得用戶推理和思考的細節,因此目標產品會具有更好的規范性。

由于使用了半正式(semi-formal)語言、以及域詞匯表(domain vocabulary),因此JBehave有助于在團隊結構中保持一致性的行為。

JBehave同樣也有著其他BDD測試工具一樣的缺點:

一款BDD測試工具的成功,主要取決于項目中不同成員,包括:利益相關者、開發人員和測試人員之間的溝通,以及組織的管理。反之,溝通的缺乏則可能會導致無法逾越的問題、有缺陷的應用、業務需求未被滿足、以及各方的互相推諉。

JBehave的特點與競品比較

JBehave與下面將要提到的Serenity有著相同的工作方式。但是,如果您的目標是使得自動驗收測試更為有效的話,那么將Serenity與JBehave相集成,則會獲得更好的測試體驗。

3.

Serenity同樣是一種能被用于行為驅動測試的開源庫。該框架可幫助您編寫出各種結構良好、且易于維護的驗收標準。它在一定程度上擴展了JUnit和WebDriver的功能。

安裝Serenity的先決條件

由于該框架基于Java,因此您顯然需要具備Java、或其他任何面向對象編程語言的知識與經驗。此外,您的電腦上還需要有:

JDK 5或更高版本。

Maven 3.0或更高版本。

由于Maven和Eclipse的組合更易于使用,因此作為IDE工具的Eclipse通常是所有開發人員首選的。

Serenity的優點和缺點

針對行為驅動測試,Serenity具有如下優點:

該框架能夠幫助測試人員創建各種REST服務的測試用例。

用戶不必花費大量的時間,來維護或構建自己的自動化框架。

它能夠在定義、理解測試用例、以及實現方式建立平衡。

它可以與許多自動化框架相集成,其中包括:Selenium、JBehave、基于Java的高級開發框架(如Spring)、甚至是JIRA之類的持續集成工具。

與JBehave類似,Serenity的唯一缺點便是:為了充分發揮其支持行為驅動開發的完整功能,項目參與者需要保持彼此之間的溝通。

Serenity的特點與競品比較

11选5上海时时彩平台