一、JTEST
1、簡介:
jtest是parasoft公司推出的一款針對java語言的自動化白盒測試載入器,它通過自動實現java的單元測試和代碼標準校正,來提高代碼的可靠性。Jtest先分析每個java類,然後自動產生junit測試案例並執行用例,從而實現代碼的最大覆蓋,並將代碼運行時未處理的異常暴露出來;另外,它還可以檢查以DbC(Design by Contract)規範開發的代碼的正確性。使用者還可以通過擴充測試案例的自動產生器來添加更多的junit用例。Jtest還能按照現有的超過350個編碼通訊協定來檢查並自動糾正大多數常見的編碼規則上的偏差,使用者可自訂這些標準,通過簡單的幾個點擊,就能預防類似於未處理異常、函數錯誤、記憶體流失、效能問題、安全隱患這樣的代碼問題。
2、優勢:
1)使預防代碼錯誤成為可能,從而大大節約成本,提高軟體品質和開發效率
2)使單元測試——包括白盒、黑盒以及迴歸測試成為可能
3)使代碼規範檢查和自動糾正成為可能
4)鼓勵Team Dev橫向協作來預防代碼錯誤
3、特徵:
1)通過簡單的點擊,自動實現代碼基本錯誤的預防,這包括單元測試和代碼規範的檢查
2)產生並執行junit單元測試用例,對代碼進行即時檢查
3)提供了進行黑箱測試、模型測試和系統測試的快速途徑
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、價格:免費