一、JUnit
JUnit是由Erich Gamma 和Kent Beck 編寫的一個回歸測試框架(regression testing framework)。Junit測試是程序員測試,即所謂白盒測試,因為程序員知道被測試的軟件如何(How)完成功能和完成什麼樣(What)的功能。Junit是一套框架,繼承TestCase類,就可以用Junit進行自動測試了。
http://www.junit.org/
二、Cactus
Cactus是一個基於JUnit框架的簡單測試框架,用來單元測試服務端Java代碼。Cactus框架的主要目標是能夠單元測試服務端的使用Servlet對象的Java方法如HttpServletRequest,HttpServletResponse,HttpSession等。
http://jakarta.apache.org/cactus/
三、Abbot
Abbot是一個用來測試Java GUIs的框架。用簡單的基於XML的腳本或者Java代碼,你就可以開始一個GUI。
http://abbot.sourceforge.net/
四、JUnitPerf
Junitperf實際是junit的一個decorator,通過編寫用於junitperf的單元測試,我們也可使測試過程自動化。
http://www.clarkware.com/software/JUnitPerf.html
五、DbUnit
DbUnit是為數據庫驅動的項目提供的一個對JUnit 的擴展,除了提供一些常用功能,它可以將你的數據庫置於一個測試輪回之間的狀態。
http://dbunit.sourceforge.net/
六、Mockrunner
Mockrunner用在J2EE環境中進行應用程序的單元測試。它不僅支持Struts actions, servlets,過濾器和標簽類還包括一個JDBC和一個JMS測試框架,可以用於測試基於EJB的應用程序。
http://mockrunner.sourceforge.net/index.html
七、DBMonster
DBMonster是一個用生成隨機數據來測試SQL數據庫的壓力測試工具。
http://dbmonster.kernelpanic.pl/
八、MockEJB
MockEJB是一個不需要EJB容器就能運行EJB並進行測試的輕量級框架。
http://mockejb.sourceforge.net/
九、StrutsTestCase
StrutsTestCase 是Junit TestCase類的擴展,提供基於Struts框架的代碼測試。StrutsTestCase同時提供Mock 對象方法和Cactus方法用來實際運行Struts ActionServlet,你可以通過運行servlet引擎來測試。因為StrutsTestCase使用ActionServlet控制器來測試你的代碼,因此你不僅可以測試Action對象的實現,而且可以測試mappings,from beans以及forwards聲明。StrutsTestCase不啟動servlet容器來測試struts應用程序(容器外測試)也屬於Mock對象測試,但是與EasyMock不同的是,EasyMock是提供了創建Mock對象的API,而StrutsTest則是專門負責測試Struts應用程序的Mock對象測試框架。
http://strutstestcase.sourceforge.net/
十、JFCUnit
JFCUnit使得你能夠為Java偏移應用程序編寫測試例子。它為從用代碼打開的窗口上獲得句柄提供了支持;為在一個部件層次定位部件提供支持;為在部件中發起事件(例如按一個按鈕)以及以線程安全方式處理部件測試提供支持。
http://jfcunit.sourceforge.net/
十一、JTestCase
JTestCase 使用XML文件來組織多測試案例數據,聲明條件(操作和期望的結果),提供了一套易於使用的方法來檢索XML中的測試案例,按照數據文件的定義來聲明結果。
http://jtestcase.sourceforge.net/
十二、SQLUnit
SQLUnit是一個單元測試框架,用於對數據庫存儲過程進行回歸測試。用Java/JUnit/XML開發。
http://sqlunit.sourceforge.net
十三、JTR
JTR (Java Test Runner)是一個開源的基於反轉控制(IOC)的J2EE測試框架。它允許你構建復雜的J2EE測試套件(Test Suites)並連到應用服務器執行測試,可以包括多個測試實例。JTR的licensed是GPL協議。
http://jtrunner.sourceforge.net/
十四、Marathon
Marathon是一個針對使用Java/Swing開發GUI應用程序的測試框架,它由recorder, runner 和editor組成,測試腳本是python代碼。Marathon的焦點是放在最終用戶的測試上。
http://marathonman.sourceforge.net
十五、iTestNG
TestNG是根據JUnit 和NUnit思想而構建的一個測試框架,但是TestNG增加了許多新的功能使得它變得更加強大與容易使用比如:
◆支持JSR 175注釋(JDK 1.4利用JavaDoc注釋同樣也支持)
◆靈活的Test配置
◆支持默認的runtime和logging JDK功能
◆強大的執行模型(不再TestSuite)
◆支持獨立的測試方法。
http://testng.org/
十六、Surrogate Test framework
Surrogate Test framework是一個值得稱贊單元測試框架,特別適合於大型,復雜Java系統的單元測試。這個框架能與JUnit,MockEJB和各種支持模擬對象(mock object )的測試工具無縫給合。這個框架基於AspectJ技術。
http://surrogate.sourceforge.net
十七、MockCreator
MockCreator可以為給定的interface或class生成模擬對象(Mock object)的源碼。
http://mockcreator.sourceforge.net/
十八、jMock
jMock利用mock objects思想來對Java code進行測試。jMock具有以下特點:容易擴展,讓你快速簡單地定義mock objects,因此不必打破程序間的關聯,讓你定義靈活的超越對象之間交互作用而帶來測試局限,減少你測試地脆弱性。
http://www.jmock.org/
十九、EasyMock
EasyMock為Mock Objects提供接口並在JUnit測試中利用Java的proxy設計模式生成它們的實例。EasyMock最適合於測試驅動開發。
http://www.easymock.org/
二十、The Grinder
The Grinder是一個負載測試框架。在BSD開源協議下免費使用。
http://grinder.sourceforge.net/
二十一、XMLUnit
XMLUnit不僅有Java版本的還有.Net版本的。Java開發的XMLUnit提供了兩個JUnit 擴展類XMLAssert和XMLTestCase,和一組支持的類。這些類可以用來比較兩張XML之間的不同之處,展示XML利用XSLT來,校驗XML,求得XPath表達式在XML中的值,遍歷XML中的某一節點利DOM展開。
http://xmlunit.sourceforge.net/
二十二、Jameleon
Jameleon一個自動化測試工具。它被用來測試各種各樣的應用程序,所以它被設計成插件模式。為了使整個測試過程變得簡單Jameleon提供了一個GUI,因此Jameleon實現了一個Swing 插件。
http://jameleon.sourceforge.net/index.html
二十三、J2MEUnit
J2MEUnit是應用在J2ME應用程序的一個單元測試框架。它基於JUnit。
http://j2meunit.sourceforge.net/
二十四、Jetif
Jetif是一個用純Java實現的回歸測試框架。它為Java程序單元測試以及功能測試提供了一個簡單而且可伸縮的架構,可以用於個人開發或企業級開發的測試。它容易使用,功能強大,而且擁有一些企業級測試的重要功能。Jetif來源於JUnit, JTestCase以及TestNG的啟發,有幾個基本的概念直接來自於JUnit,比如說斷言機制,Test Listener的概念,因此從JUnit轉到Jetif是非常容易的。
http://jetif.sourceforge.net/
二十五、GroboUtils
GroboUtils使得擴展Java測試變得可能。它包括用在Java不同方面測試的多個子項目。在GroboUtils中最常被到的工具是:多線程測試(multi-threaded tests),整體單元測試(hierarchial unit tests),代碼覆蓋工具(code coverage tool)。
http://groboutils.sourceforge.net/
二十六、Testare
TESTARE是用來簡化分布式應用程序(比如:在SERVLETS,JMS listeners, CORBA ORBs或RMI環境下)測試開發過程的一個測試框架。
https://testare.dev.java.net/