天天看點

JTEST,JMETER,Jnuit三種測試工具介紹

一、JTEST 1、簡介: jtest是parasoft公司推出的一款針對java語言的自動化白盒測試工具,它通過自動實作java的單元測試和代碼标準校驗,來提高代碼的可靠性。Jtest先分析每個java類,然後自動生成junit測試用例并執行用例,  

一、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單元測試用例,對代碼進行即時檢查

  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、價格:免費

原文連結:http://www.ltesting.net/ceshi/ceshijishu/dycs/2012/0326/204504_2.html