JUnit, HttpUnit, Castus, JMeter之間的區別- -

 

  ·單元測試:JUnit (http://www.junit.org)

  JUnit是由 Erich Gamma 和 Kent Beck 編寫的一個迴歸測試框架(regression testing framework),用於Java開發人員編寫單元測試之用。下面介紹的開源測試工具,很多都是對於JUnit的擴展。

  它目前的版本爲3.7,爲編寫單元測試提供了主要的接口。目前主流的IDE都提供了對於JUnit的支持。

  XP強調測試先行,尤其重視單元測試。系統集成商需要通過軟件開發過程的執行,來強化JUnit的使用。

  目前很多商業測試軟件都提供了與JUnit的聯合使用,例如獲得1999和2000年Jolt測試類工具亞軍和生產率大獎的Jtest (ParaSoft公司產品,內置200餘條編碼規範,提供Java代碼靜態和動態檢查,同時還可以自動生成簡單的測試用例等等)就可以導入和導出JUnit的測試用例。

  ·集成與功能測試:HttpUnit (http://httpunit.sourceforge.net) & Cactus (http://jakarta.apache.org/cactus/)

  HttpUnit是一套通過HTTP連接測試Web應用程序的Java類。在結合JUnit的情況下,HttpUnit可以作爲一種創建測試程序的強大工具用來保證Web應用程序正常的端對端功能。

  雖然JUnit自身就可以通過編寫單一類的測試程序對服務器端Java代碼進行測試,不過,有了HttpUnit的幫助,JUnit就可以擴展爲模擬Web瀏覽器-Web服務器的工作方式對整個Web程序結構進行測試。

  Cactus爲我們提供了一種測試SERVLET等WEB組件的有效手段。它是JUnit的一個擴展,但是它又和JUnit有一些不同。Cactus的測試分爲三種不同的測試類別,JspTestCase, ServletTestCase, FilterTestCase, 而不是像JUnit就一種TestCase。Cactus的測試代碼有服務器端和客戶端兩個部分,他們協同工作。



  一般意義上,可以採用Cactus作集成測試;而使用HttpUnit做功能測試。

  雖然在集成與功能測試方面,有很多優秀的開源工具,但是在實際應用過程中,還是採用商業測試軟件的比較多,對於複雜應用更是如此。這是因爲集成與功能測試大部分還是由專門的測試人員進行,而他們對於已有的商業軟件,例如Rational Robot、E-Test Suite、WinRunner等都比較熟悉,同時商業軟件也提供了更爲強大的功能。

  ·壓力與性能測試: JMeter (http://jakarta.apache.org/jmeter/)

  由於企業應用越來越複雜,用戶數量也是越來越多,系統的性能參數以及衆多的非功能性需求在開發中獲得了越來越多的重視。因此,很多壓力與性能測試工具也開始出現,這其中有一定影響的是Apache Software Foundation的JMeter。

  JMeter是100%的JAVA桌面應用,用來測試系統的負載與性能。它最開始設計是用來測試WEB應用,後來加以擴展,可以測試Http,FTP,支持JDBC的關係型數據庫的性能與壓力。同時,JMeter提供一定的定製功能,系統集成商可以自行開發針對EJB、CORBA或者SOAP的插件。

  壓力與性能測試方面,由於測試比較複雜,實際企業應用測試中,也是採用商業測試軟件比較多,例如LoadRunner、JProbe Suite以及與JBuilder8 同步發佈的OptimizerIT;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章