自動(dòng)化測(cè)試可以快速自動(dòng)完成大量測(cè)試用例,節(jié)約巨大的人工測(cè)試成本;同時(shí)它需要擁有專業(yè)開發(fā)技能的人才能完成開發(fā),且需要大量時(shí)間進(jìn)行維護(hù)(在需求經(jīng)常變化的情況下)珊膜,所以大部分具有很好開發(fā)技能的人員不是很愿意編寫自動(dòng)化用例。但由于軟件規(guī)模的高速增長(zhǎng)宣脉,人力資源的逐步稀缺车柠,自動(dòng)化測(cè)試已是勢(shì)在必行。
下面是我精選的7個(gè)Java測(cè)試工具和框架塑猖。
1.Arquillian?
Arquillian是JVM一個(gè)高度創(chuàng)新性和可擴(kuò)展的測(cè)試平臺(tái)竹祷,支持Java開發(fā)人員輕松創(chuàng)建自動(dòng)化集合的,功能性的和驗(yàn)收的測(cè)試羊苟。Arquillian允許在運(yùn)行時(shí)間執(zhí)行測(cè)試塑陵。Arquillian可以用來(lái)管理單個(gè)或多個(gè)容器的生命周期,捆扎測(cè)試用例蜡励,從屬類和資源令花。它還能夠部署歸檔到容器中,在容器中執(zhí)行測(cè)試凉倚、捕獲結(jié)果兼都,并創(chuàng)建報(bào)告。 Arquillian集成了常見的測(cè)試框架占遥,如JUnit 4俯抖、TestNG 5输瓜,并允許使用現(xiàn)有的IDE發(fā)布測(cè)試瓦胎,并且由于其模塊化的設(shè)計(jì)使得能夠運(yùn)行Ant和Maven測(cè)試插件。
官方網(wǎng)站:Arquillian · Write Real Tests
2.JTest?
JTest也被稱為“Parasoft JTest”尤揣,是一款通過(guò)Parasoft制作的自動(dòng)化的Java軟件測(cè)試和靜態(tài)分析軟件搔啊。JTest包含的功能有:?jiǎn)卧獪y(cè)試情況下的生成和執(zhí)行、靜態(tài)代碼分析北戏、數(shù)據(jù)流的靜態(tài)分析负芋、度量分析、回歸測(cè)試嗜愈、運(yùn)行時(shí)錯(cuò)誤檢測(cè)旧蛾。 此外,它還具備了同行代碼審查流程自動(dòng)化和運(yùn)行時(shí)錯(cuò)誤檢測(cè)的功能蠕嫁,如:競(jìng)態(tài)條件锨天、異常、資源和內(nèi)存泄漏剃毒、安全漏洞攻擊病袄。
官方網(wǎng)站:Jtest - Parasoft's Automated Java Testing Tool
3.The Grinder?
“The Grinder”是一個(gè)Java負(fù)載測(cè)試框架搂赋,不但運(yùn)行簡(jiǎn)單,而且其分布式測(cè)試采用了許多負(fù)載注入機(jī)器益缠。只要有Java API脑奠,The Grinder就可以負(fù)載測(cè)試。這包括HTTP Web服務(wù)器幅慌、SOAP和REST Web服務(wù)器宋欺、應(yīng)用程序服務(wù)器、以及用強(qiáng)大的Jython和Clojure語(yǔ)言寫的包含了自定義協(xié)議的測(cè)試腳本胰伍。The Grinder的GUI控制臺(tái)允許對(duì)多個(gè)負(fù)載注射器進(jìn)行監(jiān)測(cè)和控制迄靠,并自動(dòng)管理客戶端連接和cookies、SSL喇辽、代理感知和節(jié)流連接掌挚。 The Grinder在BSD風(fēng)格的開源許可下是免費(fèi)的。?
官方網(wǎng)站:Downloading The Grinder
4.TestNG?
TestNG是一款為Java編程語(yǔ)言設(shè)計(jì)的測(cè)試框架菩咨,靈感來(lái)自于JUnit和NUnit吠式。 TestNG的主要功能是覆蓋范圍更廣的測(cè)試分類,如單元抽米、功能性特占、端到端,一體化等云茸。它還有一些新的功能是目,可以使之更強(qiáng)大和更容易使用,如:注解标捺、具備大型線程池各種策略的運(yùn)行測(cè)試懊纳、多線程的代碼測(cè)試、靈活的測(cè)試配置亡容、參數(shù)化數(shù)據(jù)驅(qū)動(dòng)的測(cè)試支持嗤疯,等等。 TestNG支持各種各樣的工具和插件闺兢,比如Eclipse茂缚、IDEA、Maven等等屋谭。?
官方網(wǎng)站:TestNG - Welcome
5.JUnit?
JUnit是一個(gè)為Java編程語(yǔ)言設(shè)計(jì)的單元測(cè)試框架脚囊。 JUnit為測(cè)試驅(qū)動(dòng)開發(fā)框架的發(fā)展發(fā)揮了重要作用。它是現(xiàn)在被統(tǒng)稱為xUnit的單元測(cè)試框架大家庭的組成成員之一桐磁,源于SUnit悔耘。 在編譯時(shí),JUnit可以連接作為JAR所意,用于編寫可重復(fù)的測(cè)試淮逊。
?官方網(wǎng)站:JUnit - About
6.Powermock?
PowerMock是一款支持單元測(cè)試源代碼的Java框架催首。雖然PowerMock可以作為Mocking框架,例如Mockito和EasyMock的擴(kuò)展而運(yùn)行泄鹏,但是它具備了更強(qiáng)大的能力郎任。PowerMock利用自定義的類加載器和字節(jié)碼操縱器,來(lái)確保靜態(tài)方法的模擬备籽、靜態(tài)初始化的刪除舶治、函數(shù)構(gòu)造、最終的類和方法以及私有方法车猬。它的主要目的是通過(guò)最少的方法和注釋來(lái)擴(kuò)展現(xiàn)有的API霉猛,以獲得額外的功能。
7.Cucumber
Cucumber 是 BDD 模式下實(shí)現(xiàn)可執(zhí)行規(guī)范(Executable Specifications)的開源工具珠闰,但是它的使命并不局限于做自動(dòng)化驗(yàn)收測(cè)試惜浅,更加重要的在于其能夠在團(tuán)隊(duì)成員之間構(gòu)建統(tǒng)一的交流基礎(chǔ)(feature 文件)、規(guī)范交流用語(yǔ)(Domain Specific Language)伏嗜、提高各個(gè)利益相關(guān)方(Business Stakeholders)溝通效率和效果坛悉,從而達(dá)到提升產(chǎn)品質(zhì)量、做成客戶期望得到的產(chǎn)品這一最終目標(biāo)承绸。
官方網(wǎng)站:Cucumber
大家平時(shí)都喜歡用什么測(cè)試工具和框架裸影,可以在評(píng)論區(qū)進(jìn)行分享。