1、簡(jiǎn)介:
jtest是parasoft公司推出的一款針對(duì)java語(yǔ)言的自動(dòng)化白盒測(cè)試工具,它通過(guò)自動(dòng)實(shí)現(xiàn)java的單元測(cè)試和代碼標(biāo)準(zhǔn)校驗(yàn),來(lái)提高代碼的可靠性。Jtest先分析每個(gè)java類(lèi),然后自動(dòng)生成junit測(cè)試用例并執(zhí)行用例,從而實(shí)現(xiàn)代碼的最大覆蓋,并將代碼運(yùn)行時(shí)未處理的異常暴露出來(lái);另外,它還可以檢查以DbC(Design by Contract)規(guī)范開(kāi)發(fā)的代碼的正確性。用戶(hù)還可以通過(guò)擴(kuò)展測(cè)試用例的自動(dòng)生成器來(lái)添加更多的junit用例。Jtest還能按照現(xiàn)有的超過(guò)350個(gè)編碼標(biāo)準(zhǔn)來(lái)檢查并自動(dòng)糾正大多數(shù)常見(jiàn)的編碼規(guī)則上的偏差,用戶(hù)可自定義這些標(biāo)準(zhǔn),通過(guò)簡(jiǎn)單的幾個(gè)點(diǎn)擊,就能預(yù)防類(lèi)似于未處理異常、函數(shù)錯(cuò)誤、內(nèi)存泄漏、性能問(wèn)題、安全隱患這樣的代碼問(wèn)題。
2、優(yōu)勢(shì):
1)使預(yù)防代碼錯(cuò)誤成為可能,從而大大節(jié)約成本,提高軟件質(zhì)量和開(kāi)發(fā)效率
2)使單元測(cè)試——包括白盒、黑盒以及回歸測(cè)試成為可能
3)使代碼規(guī)范檢查和自動(dòng)糾正成為可能
4)鼓勵(lì)開(kāi)發(fā)團(tuán)隊(duì)橫向協(xié)作來(lái)預(yù)防代碼錯(cuò)誤
3、特征:
1)通過(guò)簡(jiǎn)單的點(diǎn)擊,自動(dòng)實(shí)現(xiàn)代碼基本錯(cuò)誤的預(yù)防,這包括單元測(cè)試和代碼規(guī)范的檢查
2)生成并執(zhí)行junit單元測(cè)試用例,對(duì)代碼進(jìn)行即時(shí)檢查
3)提供了進(jìn)行黑盒測(cè)試、模型測(cè)試和系統(tǒng)測(cè)試的快速途徑
4)確認(rèn)并阻止代碼中不可捕獲的異常、函數(shù)錯(cuò)誤、內(nèi)存泄漏、性能問(wèn)題、安全弱點(diǎn)的問(wèn)題
5)監(jiān)視測(cè)試的覆蓋范圍
6)自動(dòng)執(zhí)行回歸測(cè)試
7)支持DbC編碼規(guī)范
8)檢驗(yàn)超過(guò)350個(gè)來(lái)自java專(zhuān)家的開(kāi)發(fā)規(guī)范
9)自動(dòng)糾正違反超過(guò)160個(gè)編碼規(guī)范的錯(cuò)誤
10)允許用戶(hù)通過(guò)圖形方式或自動(dòng)創(chuàng)建方式來(lái)自定義編碼規(guī)范
11)支持大型團(tuán)隊(duì)開(kāi)發(fā)中測(cè)試設(shè)置和測(cè)試文件的共享
12)實(shí)現(xiàn)和IBM Websphere Studio /Eclipse IDE 的安全集成
4、價(jià)格:昂貴
二、JMETER
1、簡(jiǎn)介:
JMeter是Apache組織的開(kāi)放源代碼項(xiàng)目,它是功能和性能測(cè)試的工具,100%的用java實(shí)現(xiàn)。使用JMeter進(jìn)行性能測(cè)試
2、特征:
JMeter可以用于測(cè)試靜態(tài)或者動(dòng)態(tài)資源的性能(文件、Servlets、Perl腳本、java對(duì)象、數(shù)據(jù)庫(kù)和查詢(xún)、ftp服務(wù)器或者其他的資源)。JMeter用于模擬在服務(wù)器、網(wǎng)絡(luò)或者其他對(duì)象上附加高負(fù)載以測(cè)試他們提供服務(wù)的受壓能力,或者分析他們提供的服務(wù)在不同負(fù)載條件下的總性能情況。你可以用JMeter提供的圖形化界面分析性能指標(biāo)或者在高
負(fù)載情況下測(cè)試服務(wù)器/腳本/對(duì)象的行為。
3、價(jià)格:未知
三、JUNIT
1、簡(jiǎn)介:
JUnit是一個(gè)開(kāi)源的java測(cè)試框架,它是Xuint測(cè)試體系架構(gòu)的一種實(shí)現(xiàn)。在JUnit單元測(cè)試框架的設(shè)計(jì)時(shí),設(shè)定了三個(gè)總體目標(biāo),第一個(gè)是簡(jiǎn)化測(cè)試的編寫(xiě),這種簡(jiǎn)化包括測(cè)試框架的學(xué)習(xí)和實(shí)際測(cè)試單元的編寫(xiě);第二個(gè)是使測(cè)試單元保持持久性;第三個(gè)則是可以利用既有的測(cè)試來(lái)編寫(xiě)相關(guān)的測(cè)試。
2、優(yōu)勢(shì):
2.1)junit是完全Free的。
2.2)使用方便。在你提升程序代碼的品質(zhì)時(shí)JUnit測(cè)試仍允許你更快速的撰寫(xiě)程序那聽(tīng)起來(lái)似乎不是很直覺(jué),但那是事實(shí)。當(dāng)你使用JUnit撰寫(xiě)測(cè)試,你將花更少的時(shí)間除蟲(chóng),同時(shí)對(duì)你程序代碼的改變更俱有信心。這個(gè)信心讓你更積極重整程序代碼并增加新的功能。沒(méi)有測(cè)試,對(duì)于重整及增加新功能你會(huì)變得沒(méi)有信心;因?yàn)槟悴恢烙猩趺礀|西會(huì)破壞產(chǎn)出的結(jié)果。采用一個(gè)綜合的測(cè)試系列,你可以在改變程序代碼之后快速的執(zhí)行多個(gè)測(cè)試并對(duì)于你的變動(dòng)并未破壞任何東西感到有信心。在執(zhí)行測(cè)試時(shí)如果發(fā)現(xiàn)臭蟲(chóng),原始碼仍然清楚的在你腦中,因此很容易找到臭蟲(chóng)。在JUnit中撰寫(xiě)的測(cè)試幫助你以一種極大(extreme)的步伐撰寫(xiě)程序及快速的找出缺點(diǎn)。
2.3)JUnit非常簡(jiǎn)單撰寫(xiě)測(cè)試應(yīng)該很簡(jiǎn)單--這是重點(diǎn)!如果撰寫(xiě)測(cè)試太復(fù)雜或太耗時(shí)間,便無(wú)法要求程序設(shè)計(jì)師撰寫(xiě)測(cè)試。使用JUnit你可以快速的撰寫(xiě)測(cè)試并檢測(cè)你的程序代碼并逐步隨著程序代碼的成長(zhǎng)增加測(cè)試。只要你寫(xiě)了一些測(cè)試,你想要快速并頻繁的執(zhí)行測(cè)試而不至于中斷建立設(shè)計(jì)及開(kāi)發(fā)程序。使用JUnit執(zhí)行測(cè)試就像編譯你的程序代碼那么容易。事實(shí)上,你應(yīng)該執(zhí)行編譯時(shí)也執(zhí)行測(cè)試。編譯是檢測(cè)程序代碼的語(yǔ)法而測(cè)試是檢查程序代碼的完整性(integrity)。
2.4)JUnit測(cè)試檢驗(yàn)其結(jié)果并提供立即的回饋。如果你是以人工比對(duì)測(cè)試的期望與實(shí)際結(jié)果那么測(cè)試是很不好玩的,而且讓你的速度慢下來(lái)。JUnit測(cè)試可以自動(dòng)執(zhí)行并且檢查他們自己的結(jié)果。當(dāng)你執(zhí)行測(cè)試,你獲得簡(jiǎn)單且立即的回饋;比如測(cè)試是通過(guò)或失敗。而不再需要人工檢查測(cè)試結(jié)果的報(bào)告。
2.5)JUnit測(cè)試可以合成一個(gè)測(cè)試系列的層級(jí)架構(gòu)。JUnit可以把測(cè)試組織成測(cè)試系列;這個(gè)測(cè)試系列可以包含其它的測(cè)試或測(cè)試系列。JUnit測(cè)試的合成行為允許你組合多個(gè)測(cè)試并自動(dòng)的回歸(regression)從頭到尾測(cè)試整個(gè)測(cè)試系。
你也可以執(zhí)行測(cè)試系列層級(jí)架構(gòu)中任何一層的測(cè)試。
2.6)撰寫(xiě)JUnit測(cè)試所費(fèi)不多。使用Junit測(cè)試框架,你可以很便宜的撰寫(xiě)測(cè)試并享受由測(cè)試框架所提供的信心。撰寫(xiě)一個(gè)測(cè)試就像寫(xiě)一個(gè)方法一樣簡(jiǎn)單;測(cè)試是檢驗(yàn)要測(cè)試的程序代碼并定義期望的結(jié)果。這個(gè)測(cè)試框架提供自動(dòng)執(zhí)行
測(cè)試的背景;這個(gè)背景并成為其它測(cè)試集合的一部份。在測(cè)試少量的投資將持續(xù)讓你從時(shí)間及品質(zhì)中獲得回收。
2.7)JUnit測(cè)試提升軟件的穩(wěn)定性。你寫(xiě)的測(cè)試愈少;你的程序代碼變的愈不穩(wěn)定。測(cè)試使得軟件穩(wěn)定并逐步累積信心;因?yàn)槿魏巫儎?dòng)不會(huì)造成漣漪效應(yīng)而漫及整個(gè)軟件。測(cè)試可以形成軟件的完整結(jié)構(gòu)的膠結(jié)。
2.8)JUnit測(cè)試是開(kāi)發(fā)者測(cè)試。JUnit測(cè)試是高度區(qū)域性(localized)測(cè)試;用以改善開(kāi)發(fā)者的生產(chǎn)力及程序代碼品質(zhì)。不像功能測(cè)試(function test)視系統(tǒng)為一個(gè)黑箱以確認(rèn)軟件整體的工作性為主,單元測(cè)試是由內(nèi)而外測(cè)試系統(tǒng)基礎(chǔ)的建構(gòu)區(qū)塊。開(kāi)發(fā)者撰寫(xiě)并擁有JUnit測(cè)試。每當(dāng)一個(gè)開(kāi)發(fā)反復(fù)(iteration)完成,這個(gè)測(cè)試便包裹成為交付軟件的一部份提供一種溝通的方式,「這是我交付的軟件并且是通過(guò)測(cè)試
2.9)JUnit測(cè)試是以Java寫(xiě)成的。使用Java測(cè)試Java軟件形成一個(gè)介于測(cè)試及程序代碼間的無(wú)縫(seamless)邊界。
在測(cè)試的控制下測(cè)試變成整個(gè)軟件的擴(kuò)充同時(shí)程序代碼可以被重整。Java編譯器的單元測(cè)試靜態(tài)語(yǔ)法檢查可已幫助測(cè)試程序并且確認(rèn)遵守軟件接口的約定.一段測(cè)試的程序代碼無(wú)法單獨(dú)的執(zhí)行,它需要是執(zhí)行環(huán)境的一部份。
同時(shí),它需要自動(dòng)執(zhí)行的單元測(cè)試--譬如在系統(tǒng)中周期性的執(zhí)行所有的測(cè)試以證明沒(méi)有任何東西被破壞。由于單元測(cè)試需要符合特定的準(zhǔn)則:一個(gè)成功的測(cè)試不應(yīng)該是人工檢查的(那可要到天荒地老了啊),一個(gè)未通過(guò)測(cè)試的失敗應(yīng)可以產(chǎn)出文件以供診斷修改。而Junit可以提供給我們這些便利.。這樣所有測(cè)試開(kāi)發(fā)者所需撰寫(xiě)的只是測(cè)試碼本身了。跟optimizeit、Jtest那些昂貴而又超級(jí)麻煩的tool比較起來(lái),其利昭然可見(jiàn)!
3、價(jià)格:免費(fèi)
聯(lián)系客服