Java常用測試工具大全
第一部分:九款性能測試
Java入門
如果你才剛開始接觸Java世界,那么要做的第一件事情是,安裝JDK——Java Development Kit(Java開發(fā)工具包),它自帶有Java Runtime Environment
(JRE)和JVM(Java運(yùn)行時(shí)環(huán)境)。它能讓你在自己的電腦上編譯、運(yùn)行、測試你的Java程序。
此外,你還需要IDE(集成開發(fā)環(huán)境)。選擇有很多,如IntelliJ、Eclipse和NetBeans。
Java測試工具
下面是我精選的8個(gè)最棒的Java測試工具和框架。
1.Arquillian
Arquillian是JVM一個(gè)高度創(chuàng)新性和可擴(kuò)展的測試平臺(tái),支持Java開發(fā)人員輕松創(chuàng)建自動(dòng)化集合的,功能性的和驗(yàn)收的測試。Arquillian允許在運(yùn)行時(shí)間執(zhí)行測試。Arquillian可以用來管理單個(gè)或多個(gè)容器的生命周期,捆扎測試用例,從屬類和資源。它還能夠部署歸檔到容器中,在容器中執(zhí)行測試、捕獲結(jié)果,并創(chuàng)建報(bào)告。
Arquillian集成了常見的測試框架,如JUnit 4、TestNG 5,并允許使用現(xiàn)有的IDE發(fā)布測試,并且由于其模塊化的設(shè)計(jì)使得能夠運(yùn)行Ant和Maven測試插件。
官方網(wǎng)站:http://arquillian.org/
2.JTest
JTest也被稱為“Parasoft JTest”,是一款通過Parasoft制作的自動(dòng)化的Java軟件測試和靜態(tài)分析軟件。JTest包含的功能有:單元測試情況下的生成和執(zhí)行、靜態(tài)代碼分析、數(shù)據(jù)流的靜態(tài)分析、度量分析、回歸測試、運(yùn)行時(shí)錯(cuò)誤檢測。
此外,它還具備了同行代碼審查流程自動(dòng)化和運(yùn)行時(shí)錯(cuò)誤檢測的功能,如:競態(tài)條件、異常、資源和內(nèi)存泄漏、安全漏洞攻擊。
官方網(wǎng)站:http://www.parasoft.com/product/jtest/
3.The Grinder
“The Grinder”是一個(gè)Java負(fù)載測試框架,不但運(yùn)行簡單,而且其分布式測試采用了許多負(fù)載注入機(jī)器。只要有Java API,The Grinder就可以負(fù)載測試。這包括HTTP Web服務(wù)器、SOAP和REST Web服務(wù)器、應(yīng)用程序服務(wù)器、以及用強(qiáng)大的Jython和Clojure語言寫的包含了自定義協(xié)議的測試腳本。The Grinder的GUI控制臺(tái)允許對(duì)多個(gè)負(fù)載注射器進(jìn)行監(jiān)測和控制,并自動(dòng)管理客戶端連接和cookies、SSL、代理感知和節(jié)流連接。
The Grinder在BSD風(fēng)格的開源許可下是免費(fèi)的。
官方網(wǎng)站:http://grinder.sourceforge.net/download.html
4.TestNG
TestNG是一款為Java編程語言設(shè)計(jì)的測試框架,靈感來自于JUnit和NUnit。 TestNG的主要功能是覆蓋范圍更廣的測試分類,如單元、功能性、端到端,一體化等。它還有一些新的功能,可以使之更強(qiáng)大和更容易使用,如:注解、具備大型線程池各種策略的運(yùn)行測試、多線程的代碼測試、靈活的測試配置、參數(shù)化數(shù)據(jù)驅(qū)動(dòng)的測試支持,等等。
TestNG支持各種各樣的工具和插件,比如Eclipse、IDEA、Maven等等。
官方網(wǎng)站:http://testng.org/doc/download.html
5.JUnit的
JUnit是一個(gè)為Java編程語言設(shè)計(jì)的單元測試框架。 JUnit為測試驅(qū)動(dòng)開發(fā)框架的發(fā)展發(fā)揮了重要作用。它是現(xiàn)在被統(tǒng)稱為xUnit的單元測試框架大家庭的組成成員之一,源于SUnit。
在編譯時(shí),JUnit可以連接作為JAR,用于編寫可重復(fù)的測試。
官方網(wǎng)站:https://github.com/junit-team/junit/wiki/Download-and-Install
6.JWalk
JWalk是一個(gè)為Java編程語言設(shè)計(jì)的單元測試工具包。它可支持被稱為懶人系統(tǒng)單元測試的測試模式。JWalkTester工具能執(zhí)行由程序員提供的編譯過的任意Java類中的任何測試。通過靜態(tài)和動(dòng)態(tài)分析,以及提示后面的程序員,它能夠使得測試符合惰性規(guī)范。
官方網(wǎng)站:http://staffwww.dcs.shef.ac.uk/people/A.Simons/jwalk/download.html
7.Mockito
Mockito是一款在MITLicense可用的支持Java的開源測試框架。Mockito允許程序員使用自動(dòng)化的單元測試創(chuàng)建和測試雙對(duì)象(模擬對(duì)象),以達(dá)到測試驅(qū)動(dòng)開發(fā)(TDD)和行為驅(qū)動(dòng)開發(fā)(BDD)的目的。
官方網(wǎng)站:http://mockito.org/
8.Powermock
PowerMock是一款支持單元測試源代碼的Java框架。雖然PowerMock可以作為Mocking框架,例如Mockito和EasyMock的擴(kuò)展而運(yùn)行,但是它具備了更強(qiáng)大的能力。PowerMock利用自定義的類加載器和字節(jié)碼操縱器,來確保靜態(tài)方法的模擬、靜態(tài)初始化的刪除、函數(shù)構(gòu)造、最終的類和方法以及私有方法。它的主要目的是通過最少的方法和注釋來擴(kuò)展現(xiàn)有的API,以獲得額外的功能。
它在開源Apache License 2.0條件下可用,也可以在Powermock Google Code site找到它.
官方網(wǎng)站:https://code.google.com/p/powermock/
補(bǔ)充
9.Jemeter
Apache JMeter是Apache組織開發(fā)的基于Java的壓力測試工具。用于對(duì)軟件做壓力測試,它最初被設(shè)計(jì)用于Web應(yīng)用測試,但后來擴(kuò)展到其他測試領(lǐng)域。 它可以用于測試靜態(tài)和動(dòng)態(tài)資源,例如靜態(tài)文件、Java小服務(wù)程序、CGI 腳本、Java 對(duì)象、數(shù)據(jù)庫、FTP 服務(wù)器, 等等。JMeter 可以用于對(duì)服務(wù)器、網(wǎng)絡(luò)或?qū)ο竽M巨大的負(fù)載,來自不同壓力類別下測試它們的強(qiáng)度和分析整體性能。另外,JMeter能夠?qū)?yīng)用程序做功能/回歸測試,通過創(chuàng)建帶有斷言的腳本來驗(yàn)證你的程序返回了你期望的結(jié)果。為了最大限度的靈活性,JMeter允許使用正則表達(dá)式創(chuàng)建斷言。
Apache jmeter 可以用于對(duì)靜態(tài)的和動(dòng)態(tài)的資源(文件,Servlet,Perl腳本,java 對(duì)象,數(shù)據(jù)庫和查詢,F(xiàn)TP服務(wù)器等等)的性能進(jìn)行測試。它可以用于對(duì)服務(wù)器、網(wǎng)絡(luò)或?qū)ο竽M繁重的負(fù)載來測試它們的強(qiáng)度或分析不同壓力類型下的整體性能。你可以使用它做性能的圖形分析或在大并發(fā)負(fù)載測試你的服務(wù)器/腳本/對(duì)象。
下載地址:http://archive.apache.org/dist/jmeter/binaries/
第二部分:工具完善補(bǔ)充(有重復(fù))
ParasoftJtest
Jtest是Parasoft公司推出的一款針對(duì)java語言的自動(dòng)化白盒測試工具,它通過自動(dòng)實(shí)現(xiàn)java的單元測試和代碼標(biāo)準(zhǔn)校驗(yàn),來提高代碼的可靠性。
https://www.parasoftchina.cn/products/jtest/
Abbot
Abbot是一款測試Java GUIs的JUnit擴(kuò)展程序。
https://www.parasoftchina.cn/products/jtest/
JProfiler
JProfiler是一個(gè)全功能的Java剖析工具(profiler),主要用于檢查和跟蹤系統(tǒng)(限于Java開發(fā)的)的性能的工具。
https://www.ej-technologies.com/products/jprofiler/overview.html
AppLoader
AppLoader是一款負(fù)載測試和功能測試軟件,模擬數(shù)百萬個(gè)最終用戶與應(yīng)用程序的交互。
Agitator
Agitator幫助開發(fā)者創(chuàng)建和維護(hù)所有代碼的單元測試。
http://www.agitar.com/products/downloads/
Cactus
Cactus是一個(gè)基于JUnit框架的簡單測試框架,用來單元測試服務(wù)端Java代碼。Cactus框架的主要目標(biāo)是能夠單元測試服務(wù)端的使用Servlet對(duì)象的Java方法如HttpServletRequest
,HttpServletResponse
,HttpSession
等
https://jakarta.apache.org/cactus/
GJ-Coverage
測試Java程序的覆蓋率工具,支持J2ME, J2SE, and J2EE。
http://www.testersedge.com/gjtk/index.html
JCover
Java代碼覆蓋率測試工具。
https://codework.com/JCover/product.html
JMeter
開源的Java桌面應(yīng)用程序,旨在加載測試功能行為和衡量績效。
JStyle
Java源代碼分析器。
HttpUnit
HttpUnit是一個(gè)開源的測試工具,是基于JUnit的一個(gè)測試框架,主要關(guān)注于測試Web應(yīng)用,解決使用JUnit框架無法對(duì)遠(yuǎn)程Web內(nèi)容進(jìn)行測試的弊端。HttpUnit提供的幫助類讓測試者可以通過Java類和服務(wù)器進(jìn)行交互,并且將服務(wù)器端的響應(yīng)當(dāng)作文本或者DOM對(duì)象進(jìn)行處理。
Junit
是通用的測試 java 程序的測試框架JUnit可以對(duì)Java代碼進(jìn)行白盒測試。通過JUnitk可以用mock objects進(jìn)行隔離測試;用Cactus進(jìn)行容器內(nèi)測試;用Ant和Maven進(jìn)行自動(dòng)構(gòu)建;在Eclipse內(nèi)進(jìn)行測試;對(duì)Java應(yīng)用程序、Filter、Servlet、EJB、JSP、數(shù)據(jù)庫應(yīng)用程序、Taglib等進(jìn)行單元測試。
總結(jié)
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
java實(shí)現(xiàn)ftp上傳 如何創(chuàng)建文件夾
這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)ftp上傳的相關(guān)資料,教大家如何創(chuàng)建文件夾?具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-04-04mybatis插入數(shù)據(jù)后如何返回新增數(shù)據(jù)的id值
當(dāng)往mysql數(shù)據(jù)庫插入一條數(shù)據(jù)時(shí),有時(shí)候需要知道剛插入的信息,下面這篇文章主要給大家介紹了關(guān)于mybatis插入數(shù)據(jù)后如何返回新增數(shù)據(jù)id值的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-06-06SpringMVC中的HandlerMapping和HandlerAdapter詳解
這篇文章主要介紹了SpringMVC中的HandlerMapping和HandlerAdapter詳解,在Spring MVC中,HandlerMapping(處理器映射器)用于確定請(qǐng)求處理器對(duì)象,請(qǐng)求處理器可以是任何對(duì)象,只要它們使用了@Controller注解或注解@RequestMapping,需要的朋友可以參考下2023-08-08springboot通過jar包啟動(dòng)中文日志亂碼問題及解決
這篇文章主要介紹了springboot通過jar包啟動(dòng)中文日志亂碼問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-06-06詳解@ConfigurationProperties如何裝載到Spring容器中
這篇文章主要為大家詳細(xì)介紹了@ConfigurationProperties該如何裝載到Spring容器中,文中的示例代碼講解詳細(xì),需要的小伙伴可以參考一下2023-07-07SpringSecurity6.x多種登錄方式配置小結(jié)
SpringSecurity6.x變了很多寫法,本文就來介紹一下SpringSecurity6.x多種登錄方式配置小結(jié),具有一定的參考價(jià)值,感興趣的可以了解一下2023-12-12