性能測試知多少---測試工具介紹

 繼續這個系列的學習,這一節重點介紹目前流行的性能測試工具以及如何選擇適合項目的工具。在此以前,我已經對性能測試工具的原理與架構作了分析。javascript

http://www.cnblogs.com/fnng/archive/2012/07/31/2617546.html html

 

 

性能測試工具的選擇與評估                                              java

 

  在性能工具原理與架構一章中,咱們瞭解到性能測試工具的原理一般是:經過錄制、回放腳本,模擬多用戶同時訪問被測試系統,模擬產生負載壓力,監控並記錄各類性能指標,生成性能分析結果和報告,從而完性能測試的基本任務。web

  對須要進行性能測試的組織來講,決定使用哪一種性能測試工具也不是一個簡單的問題。咱們有須要對性能需求進行分析,購買成本,人員學習使用成本進行綜合考慮,從而肯定最適合的本次性能測試的工具。數據庫

:這裏所提到的性能測試工具爲狹義上的性能測試工具,特指包含腳本生成、負載生成與測試數據蒐集的性能測試工具,從廣義上來說,在性能測試過程當中所用到一切工具,均可以稱爲性能測試工具,其中包括,軟件協議分析工具,測試數據生成工具,測試監控工具等都屬於性能測試工具範疇。服務器

  我簡單的軟件性能測試工具分爲三類,商業收費工具、開源免費工具、自主開發工具。下面是這三類工具的比較:網絡

經過上面的比較分析,很難判別對某類工具的取捨,各自有其明顯的優點,固然也有明顯的缺點,如何更好選擇工具,這裏就要結合實際性能的需求了。架構

須要考慮如下幾個方面:

性能需求併發

  首先要考慮的是否知足性能需求,例如系統的協議不支持,沒法建立腳本,系統的模擬用戶數達不到,或都某此特殊功能沒法測試,如流媒體性能測試等。一些有性能工具是沒法知足這些需求的,那固然要首先排除。curl

購買成本

  對於商業工具的購買成本也是咱們須要考慮的問題,其實,這個問題也是老闆須要考慮的問題,對性能測試成本的總體預算等。固然了,在知足性能需求的前提下,固然一切從簡。若是隻須要某商業軟件的部分功能,也能夠只購買部分功能。有的是根據支持協議的多少、併發用戶上限來區分,如loadrunner 。

  這裏要多扯一點,loadrunner應該是性能測試領域的巨無霸,它的年服務費多百萬,這不是通常的小公司能承受的,可能許多網友用破解習慣了不覺得然。並且loadrunner是能夠定製的,通常商業軟件都是能夠定製的,也就是說,你有特定的需求,只要你願意花錢,提供商均可以幫你定製開發。這樣算下來成本會很高。

  那麼開源軟件呢? 開源的性能測試工具其實很是的多,由於它們都分別適合在不一樣的需求場景下,因此,它們的體積相比商業軟件會小很大,固然功能也相對簡陋。可是他們在某些狀況下能夠徹底知足某些性能需求,或者能夠經過幾款開源工具配合知足,或者經過對開源工具進行擴展進行知足。對開源工具進行擴展,對測試人員的要求較高。須要測試人員對工具的原理及源代碼有至關有研究。這裏對測試人員自動能力的提高很是有幫助。

  或者你的性能測試項目特殊,找遍市面上的全部性能工具無一款滿意,商業定製成本太高。或者你想構建本身有工具體系。處於公司需求的特殊性與長期性考慮,能夠自主開發一個性能測試工具來用。一次開發,永久收益(固然也須要維護與升級、擴展等),並且更貼近自已的需求。目前不少知明的大公司都有本身的性能測試工具,用於內部使用。 

人員學習成本

  最後要提到的就是人員對工具的學習成本,其實,測試人員在選擇性能測試工具時最早考慮的就是從本身會使用的工具入手,這樣能夠最低的控制學習成生,若是整一個工具,測試人員單學測試腳本就學了半年,老闆早讓你走人了。這也是對性能測試人員要求較高的地方。因此,對於性能測試人員,你最好熟悉一款流程的商業性能工具,一款開源免費性能具,還須要熟悉常見的性能腳本開發語言等,這是基本要求。

 

性能測試工具介紹                                                                      

 

商業工具 :

  QA Load:Compuware公司的QALoad是客戶/服務器系統、企業資源配置(ERP)和電子商務應用的自動化負載測試工具。QALoad是QACenter性能版的一部分,它經過可重複的、真實的測試可以完全地度量應用的可擴展性和性能。QACenter聚集完整的跨企業的自動測試產品,專爲提升軟件質量而設計。QACenter能夠在整個開發生命週期、跨越多種平臺、自動執行測試任務。

 

 

    SilkPerformer:一種在工業領域最高級的企業級負載測試工具。它能夠模仿成千上萬的用戶在多協議和多計算的環境下工做。無論企業電子商務應用的規模大小及其複雜性,經過SilkPerformer,都可以在部署前預測它的性能。可視的用戶化界面、實時的性能監控和強大的管理報告能夠幫助咱們迅速的解決問題,例如加快產品投入市場的時間,經過最小的測試周期保證系統的可靠性,優化性能和確保應用的可擴充性。

 

 

     LoadRunner:一種較高規模適應性的,自動負載測試工具,它能預測系統行爲,優化性能。LoadRunner強調的是整個企業的系統,它經過模擬實際用戶的操做行爲和實行實時性能監測,來幫助您更快的確認和查找問題。此外,LoadRunner 能支持最寬範的協議和技術,爲您的特殊環境,量身定作地提供解決方案。

 

 

  WebRunner:是RadView公司推出的一個性能測試和分析工具,它讓web應用程序開發者自動執行壓力測試;webload經過模擬真實用戶的操做,生成壓力負載來測試web的性能,用戶建立的是基於javascript的測試腳本,稱爲議程agenda,用它來模擬客戶的行爲,經過執行該腳原本衡量web應用程序在真實環境下的性能。

 

 

  IBM Rational Performance Tester(簡稱 RPT)也是一款性能測試工具,適用於基於 Web 的應用程序的性能和可靠性測試。Rational Performance Tester 將易用性與深刻分析功能相結合,從而簡化了測試建立、負載生成和數據收集,以幫助確保應用程序具備支持數以千計併發用戶並穩定運行的性能。 

 

 開源或免費工具:

  Apache JMeter是Apache組織開發的基於Java的壓力測試工具。用於對軟件作壓力測試,它最初被設計用於Web應用測試但後來擴展到其餘測試領域。 它能夠用於測試靜態和動態資源例如靜態文件、Java 小服務程序、CGI 腳本、Java 對象、數據庫, FTP 服務器, 等等。JMeter 能夠用於對服務器、網絡或對象模擬巨大的負載,來在不一樣壓力類別下測試它們的強度和分析總體性能。 

 

 

  AutoBench 是一款基於httperf的Perl腳本。它會在一次測試中調用屢次httperf來對web服務器進行測試,每次會按照給定的參數增長併發鏈接數,將 httperf的測試結果保存爲CSV格式的文件,該文件能夠被Excel直接讀取,方便生成測試報告。藉助於autobench自帶的 bench2graph工具能夠生成漂亮的測試結果對比圖。 

 

 

  ApacheBench 工具程式(ab)是 Apache 網站伺服器軟體的一個附帶的工具軟體,專門用來執行網站伺服器的運行效能,特別是針對 Apache 網站伺服器 的效能分析。這支程式本來是用來檢測 Apache 網站伺服器(Web Server) 所可以提供的效能,特別是能夠看出 Apache 網站伺服器能提供每秒能送出多少網頁,固然的,也能夠用在任何其餘的網站伺服器 Apache ab的全稱是ApacheBench,是 Apache 附帶的一個小工具,專門用於 HTTP Server 的benchmark testing,能夠同時模擬多個併發請求。 

 

 

  curl-loader(也被稱爲「omes-NIK」和「davilka」)是一個開源的C語言編寫的工具,模擬應用負載和成千上萬的幾十萬人的HTTP / HTTPS和FTP/ FTPS的客戶端應用程序的行爲,每一個有其本身的源IP地址。相反,其餘curl-loader使用真正的C編寫的客戶端協議棧,即libcurl和TLS/ openssl的SSL的HTTP和FTP協議棧,支持登陸和驗證口味和模擬用戶行爲的工具。 

 

 

  Iago 是一個網站負載測試工具,Iago 針對一個給定的網站進行訪問錄製併合成流量數據。它不一樣於其餘的負載生成工具,它試圖保持恆定的請求率。例如若是你想按每分鐘100K來請求您的服務,Iago 會試圖保持這個速度進行測試。 

 

 

  Pylot 是一款開源的用以測試 Web Service性能和擴展性的工具,它運行HTTP負載測試,這對於制定容量計劃、肯定基準點、分析系統瓶頸以及系統調優都很是有用。在使用過程 中,Pylot會發起併發請求(HTTP Requests),檢驗服務器響應,以及帶有相關指標的報表。它經過GUI或者Shell/Console來執行和監視對被測試網站的測試過程。

-----------------------------------------------

 關於性能測試工具很是的多,若是你是個開源的粉絲能夠去開源中國轉轉,那裏有許多很是優秀的開源軟件。

相關文章
相關標籤/搜索