JUnit是由 Erich Gamma 和 Kent Beck 編寫(xiě)的一個(gè)回歸測(cè)試框架(regression testing framework)。Junit測(cè)試是程序員測(cè)試,即所謂白盒測(cè)試,因?yàn)槌绦騿T知道被測(cè)試的軟件如何(How)完成功能和完成什么樣(What)的功能。Junit是一套框架,繼承TestCase類(lèi),就可以用Junit進(jìn)行自動(dòng)測(cè)試了。
Cactus是一個(gè)基于JUnit框架的簡(jiǎn)單測(cè)試框架,用來(lái)單元測(cè)試服務(wù)端Java代碼。Cactus框架的主要目標(biāo)是能夠單元測(cè)試服務(wù)端的使用Servlet對(duì)象的Java方法如HttpServletRequest,HttpServletResponse,HttpSession等
Abbot是一個(gè)用來(lái)測(cè)試Java GUIs的框架。用簡(jiǎn)單的基于XML的腳本或者Java代碼,你就可以開(kāi)始一個(gè)GUI。
Junitperf實(shí)際是junit的一個(gè)decorator,通過(guò)編寫(xiě)用于junitperf的單元測(cè)試,我們也可使測(cè)試過(guò)程自動(dòng)化。
DbUnit是為數(shù)據(jù)庫(kù)驅(qū)動(dòng)的項(xiàng)目提供的一個(gè)對(duì)JUnit 的擴(kuò)展,除了提供一些常用功能,它可以將你的數(shù)據(jù)庫(kù)置于一個(gè)測(cè)試輪回之間的狀態(tài)。
Mockrunner用在J2EE環(huán)境中進(jìn)行應(yīng)用程序的單元測(cè)試。它不僅支持Struts actions, servlets,過(guò)濾器和標(biāo)簽類(lèi)還包括一個(gè)JDBC和一個(gè)JMS測(cè)試框架,可以用于測(cè)試基于EJB的應(yīng)用程序。
DBMonster是一個(gè)用生成隨機(jī)數(shù)據(jù)來(lái)測(cè)試SQL數(shù)據(jù)庫(kù)的壓力測(cè)試工具。
MockEJB是一個(gè)不需要EJB容器就能運(yùn)行EJB并進(jìn)行測(cè)試的輕量級(jí)框架。
StrutsTestCase 是Junit TestCase類(lèi)的擴(kuò)展,提供基于Struts框架的代碼測(cè)試。StrutsTestCase同時(shí)提供Mock 對(duì)象方法和Cactus方法用來(lái)實(shí)際運(yùn)行Struts ActionServlet,你可以通過(guò)運(yùn)行servlet引擎來(lái)測(cè)試。因?yàn)镾trutsTestCase使用ActionServlet控制器來(lái)測(cè)試你的代碼,因此你不僅可以測(cè)試Action對(duì)象的實(shí)現(xiàn),而且可以測(cè)試mappings,from beans以及forwards聲明。StrutsTestCase不啟動(dòng)servlet容器來(lái)測(cè)試struts應(yīng)用程序(容器外測(cè)試)也屬于Mock對(duì)象測(cè)試,但是與EasyMock不同的是,EasyMock是提供了創(chuàng)建Mock對(duì)象的API,而StrutsTest則是專(zhuān)門(mén)負(fù)責(zé)測(cè)試Struts應(yīng)用程序的Mock對(duì)象測(cè)試框架。
JFCUnit使得你能夠?yàn)镴ava偏移應(yīng)用程序編寫(xiě)測(cè)試?yán)?。它為從用代碼打開(kāi)的窗口上獲得句柄提供了支持;為在一個(gè)部件層次定位部件提供支持;為在部件中發(fā)起事件(例如按一個(gè)按鈕)以及以線(xiàn)程安全方式處理部件測(cè)試提供支持。
JTestCase 使用XML文件來(lái)組織多測(cè)試案例數(shù)據(jù),聲明條件(操作和期望的結(jié)果),提供了一套易于使用的方法來(lái)檢索XML中的測(cè)試案例,按照數(shù)據(jù)文件的定義來(lái)聲明結(jié)果。
SQLUnit是一個(gè)單元測(cè)試框架,用于對(duì)數(shù)據(jù)庫(kù)存儲(chǔ)過(guò)程進(jìn)行加歸測(cè)試。用 Java/JUnit/XML開(kāi)發(fā)。
JTR (Java Test Runner)是一個(gè)開(kāi)源的基于反轉(zhuǎn)控制(IOC)的J2EE測(cè)試框架。它允許你構(gòu)建復(fù)雜的J2EE測(cè)試套件(Test Suites)并連到應(yīng)用服務(wù)器執(zhí)行測(cè)試,可以包括多個(gè)測(cè)試實(shí)例。JTR的licensed是GPL協(xié)議。
Marathon是一個(gè)針對(duì)使用Java/Swing開(kāi)發(fā)GUI應(yīng)用程序的測(cè)試框架,它由recorder, runner 和 editor組成,測(cè)試腳本是python代碼。Marathon的焦點(diǎn)是放在最終用戶(hù)的測(cè)試上。
TestNG是根據(jù)JUnit 和 NUnit思想而構(gòu)建的一個(gè)測(cè)試框架,但是TestNG增加了許多新的功能使得它變得更加強(qiáng)大與容易使用比如:
*支持JSR 175注釋?zhuān)↗DK 1.4利用JavaDoc注釋同樣也支持)
*靈活的Test配置
*支持默認(rèn)的runtime和logging JDK功能
*強(qiáng)大的執(zhí)行模型(不再TestSuite)
*支持獨(dú)立的測(cè)試方法。
Surrogate Test framework是一個(gè)值得稱(chēng)贊單元測(cè)試框架,特別適合于大型,復(fù)雜Java系統(tǒng)的單元測(cè)試。這個(gè)框架能與JUnit,MockEJB和各種支持模擬對(duì)象(mock object )的測(cè)試工具無(wú)縫給合。這個(gè)框架基于AspectJ技術(shù)。
MockCreator可以為給定的interface或class生成模擬對(duì)象(Mock object)的源碼。
jMock利用mock objects思想來(lái)對(duì)Java code進(jìn)行測(cè)試。jMock具有以下特點(diǎn):容易擴(kuò)展,讓你快速簡(jiǎn)單地定義mock objects,因此不必打破程序間的關(guān)聯(lián),讓你定義靈活的超越對(duì)象之間交互作用而帶來(lái)測(cè)試局限,減少你測(cè)試地脆弱性。
EasyMock為Mock Objects提供接口并在JUnit測(cè)試中利用Java的proxy設(shè)計(jì)模式生成它們的實(shí)例。EasyMock最適合于測(cè)試驅(qū)動(dòng)開(kāi)發(fā)。
The Grinder是一個(gè)負(fù)載測(cè)試框架。在BSD開(kāi)源協(xié)議下免費(fèi)使用。
XMLUnit不僅有Java版本的還有.Net版本的。Java開(kāi)發(fā)的XMLUnit提供了兩個(gè)JUnit 擴(kuò)展類(lèi)XMLAssert和XMLTestCase,和一組支持的類(lèi)。這些類(lèi)可以用來(lái)比較兩張XML之間的不同之處,展示XML利用XSLT來(lái),校驗(yàn)XML,求得XPath表達(dá)式在XML中的值,遍歷XML中的某一節(jié)點(diǎn)利DOM展開(kāi),
Jameleon一個(gè)自動(dòng)化測(cè)試工具。它被用來(lái)測(cè)試各種各樣的應(yīng)用程序,所以它被設(shè)計(jì)成插件模式。為了使整個(gè)測(cè)試過(guò)程變得簡(jiǎn)單Jameleon提供了一個(gè)GUI,因此Jameleon實(shí)現(xiàn)了一個(gè)Swing 插件。
J2MEUnit是應(yīng)用在J2ME應(yīng)用程序的一個(gè)單元測(cè)試框架。它基于JUnit.
Jetif是一個(gè)用純Java實(shí)現(xiàn)的回歸測(cè)試框架。它為Java程序單元測(cè)試以及功能測(cè)試提供了一個(gè)簡(jiǎn)單而且可 伸縮的架構(gòu),可以用于個(gè)人開(kāi)發(fā)或企業(yè)級(jí)開(kāi)發(fā)的測(cè)試。它容易使用,功能強(qiáng)大,而且擁有一些企業(yè)級(jí)測(cè)試的 重要功能。Jetif來(lái)源于JUnit, JTestCase以及TestNG的啟發(fā),有幾個(gè)基本的概念直接來(lái)自于JUnit, 比如說(shuō)斷言機(jī)制,Test Listener的概念,因此從JUnit轉(zhuǎn)到Jetif是非常容易的。
GroboUtils使得擴(kuò)展Java測(cè)試變得可能。它包括用在Java不同方面測(cè)試的多個(gè)子項(xiàng)目。在GroboUtils中最常被到的工具是:多線(xiàn)程測(cè)試(multi-threaded tests),整體單元測(cè)試(hierarchial unit tests),代碼覆蓋工具(code coverage tool)。
TESTARE是用來(lái)簡(jiǎn)化分布式應(yīng)用程序(比如:在SERVLETS,JMS listeners, CORBA ORBs或RMI環(huán)境下)測(cè)試開(kāi)發(fā)過(guò)程的一個(gè)測(cè)試框架.
MockLib是一個(gè)很小的包所以可容易地動(dòng)態(tài)創(chuàng)建一個(gè)模擬對(duì)象.你可以從模擬的系統(tǒng)中拋出異常來(lái)確保你的系統(tǒng)能夠正確處理錯(cuò)誤.它同樣也是一個(gè)線(xiàn)程安全的模擬對(duì)象庫(kù).
JellyUnit是一個(gè)基于Jelly的JUnit測(cè)試機(jī)制.它允許用Jelly腳本來(lái)完成單元測(cè)試.尤其是對(duì)于XML,XPath,SQL,HTTP,JMS和SOAP交互的測(cè)試特別有用.
這個(gè)項(xiàng)目繼承于JUnit目的是提供一個(gè)分布式的測(cè)試環(huán)境.它給開(kāi)發(fā)者/測(cè)試人員一個(gè)運(yùn)行遠(yuǎn)程JUnits和復(fù)雜測(cè)試案例的能力,這個(gè)案例由幾個(gè)并行運(yùn)行的遠(yuǎn)程JUnit測(cè)試組成。
JUnitEE是對(duì)JUnit的一個(gè)簡(jiǎn)單擴(kuò)展,可以支持在一個(gè)J2EE應(yīng)用程序服務(wù)器上執(zhí)行標(biāo)準(zhǔn)的測(cè)試案例。它主要由一個(gè)把測(cè)試結(jié)果輸出為html的servlet組成。
posted on 2006-02-27 13:26
瀟瀟雨 閱讀(255)
評(píng)論(0) 編輯 收藏 所屬分類(lèi):
JAVA