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