性能測試分析

一.軟件測試分類數據庫

二 狹義與廣義的性能測試服務器

三 測試類型介紹網絡

四 負載測試與壓力測試的區別架構

五 性能測試、負載測試和壓力測試三者的關係和區別併發

六 爲什麼要進行性能測試(性能測試的目的,性能測試的好處)  
七 性能測試步驟
工具

八 常見性能測試工具及常見性能監控工具
性能

========================================================
測試

一 軟件測試分類優化



二 狹義與廣義的性能測試spa

1.狹義的性能測試

         A. 性能測試方法是經過模擬生產運行的業務壓力量和使用場景組合,測試系統的性能是否知足生成性能要求。即在特定的運行條件下驗證系統的能力情況

         B. 狹義的性能測試主要是測試系統是否知足要求,是一種驗收測試其中一項功能。主要針對關心業務指標的測試

2.廣義的性能測試

          廣義的性能測試包含負載測試、壓力測試配置測試、併發測試、可靠性測試、性能測試(狹義)
------------------------------------------------
三 測試類型介紹

1.性能測試

         A. 性能測試方法是經過模擬生產運行的業務壓力量和使用場景組合,測試系統的性能是否知足生成性能要求。即在特定的運行條件下驗證系統的能力情況。

         B. 主要強調在固定的軟硬件環境、肯定的測試業務場景下,其主要意義是得到系統的性能指標。

2.負載測試

        A. 在給定的測試環境下,經過在被測系統上不斷增長壓力,直到性能指標超過預約指標或某種資源使用已經達到飽和狀態,目的是瞭解系統性能容量和處理能力極限。負載測試的主要用途是發現系統性能的拐點,尋找系統可以支持的最大用戶、業務等處理能力的約束。

        B. 也能夠理解爲擴展性測試(Scalability Testing),即在固定測試環境,在其它測試角度(負載方面)不變的狀況下,變化一個測試角度並持續增長壓力,查看系統的性能曲線和處理極限,以及是否有性能瓶頸存在(拐點)。主要意義是從多個不一樣的測試角度去探測分析系統的性能變化狀況,配合性能調優。測試角度能夠是併發用戶數、業務量、數據量等不一樣方面的負載。


3.壓力測試

       A. 測試系統在必定飽和狀態下系統可以處理的會話能力,以及是否出現錯誤,通常用於穩定性測試。

       B. 能夠理解爲資源的極限測試。測試關注在資源處於飽和或超負荷的狀況下,系統可否正常運行,是一種在極端壓力下的穩定性測試。

       C. 壓力測試的目的是調查系統在其資源超負荷的狀況下的表現,尤爲是對系統的處理時間有什麼影響。主要驗證系統的可靠性。

4.配置測試

     A. 經過對被測系統的軟硬件環境的調整,瞭解各類不一樣環境對性能影響的程度,從而找到系統各項資源的最有分配原則。

        B. 主要用於性能調優,在通過測試得到了基準測試數據後,進行環境調整(包括硬件配置、網絡、操做系統、應用服務器、數據庫等),再將測試結果與基準數據進行對比,判斷調整是否達到最佳狀態

5.併發測試

        A. 模擬併發訪問,測試多用戶併發訪問同一個應用、模塊、數據時是否產生隱藏的併發問題,如內存泄漏、線程鎖、資源爭用問題。

        B. 測試目的並不是爲了得到性能指標,而是爲了發現併發引發的問題。好比系統死鎖、資源競爭。

6.可靠性測試

        A. 經過給系統加載必定的業務壓力的狀況下,讓應用持續運行一段時間,測試系統在這種條件下是否可以穩定運行。

        B. 須要和壓力測試區分開,二者的測試環境和測試目的不同。壓力測試強調在資源極限狀況下系統是否出錯,可靠性測試強調在必定的業務壓力下長時間(如24×7)運行系統,關注系統的運行狀況(如資源使用率是否逐漸增長、響應是不是否愈來愈慢),是否有不穩定徵兆。

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

四 負載測試與壓力測試的區別

     負載測試:在必定的工做負荷下,給系統形成的負荷及系統響應的時間。是測試軟件自己所能承受的最大負荷的性能測試;

     壓力測試:在必定的負荷條件下,長時間連續運行系統給系統性能形成的影響。是一種破壞性的性能測試。

五 性能測試、負載測試和壓力測試三者的關係和區別
負載測試和壓力測試,都屬於性能測試的子集。下面舉個跑步的例子進行解釋。

——性能測試,表示在一個給定的基準下,能執行的最好狀況。例如,在沒有負重的狀況下,你跑100米須要花多少時間或者說你最快的速度(這裏,沒有負重是基準)

——負載測試,也是性能測試,可是他是在不一樣的負載下的。對於剛纔那個例子,若是擴展爲:在50公斤、100公斤……等負載的狀況下,你跑100米須要花多少時間?

——壓力測試,是在強度狀況下的性能測試。對於剛纔那個例子,若是改成:在一陣強風的狀況下,你在負重或沒有負重的狀況下,跑100米須要花多少時間?

        性能測試是動力,負載測試是載重,壓力測試是強度

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

六 爲什麼要進行性能測試(性能測試的目的,性能測試的好處)            

         目的是驗證軟件系統是否可以達到用戶提出的性能指標,同時發現軟件系統中存在的性能瓶頸,優化軟件,最後起到優化系統的目的

      1.評估系統的能力:測試中獲得的負荷和響應時間數據能夠被用於驗證所計劃的模型的能力,並幫助做出決策

      2.識別體系中的弱點:受控的負荷能夠被增長到一個極端的水平,並突破它,從而修復體系的瓶頸或薄弱的地方。

      3.系統調優:重複運行測試,驗證調整系統的活動獲得了預期的結果,從而改進性能。檢測軟件中的問題:
                 長時間的測試執行可致使程序發生因爲內存泄露引發的失敗,揭示程序中的隱含的問題或衝突

      4.驗證穩定性、可靠性:在一個生產負荷下執行測試必定的時間是評估系統穩定性和可靠性是否知足要求的惟一方法

實際體現(須要注意性能測試成本因素)

    1.優化性能

    2.最小化成本

    3.最小化風險

    4.交付高質量的系統

性能測試目標

    1.評價系統當前性能

    2.尋找瓶頸,優化性能

    3.預測系統將來性能、穩定性
------------------------------------------------
七 性能測試步驟

1.性能測試注意事項

2.性能測試步驟

3.常見性能指標

4.性能計數器

5.LoadRunner 工具性能測試的步驟


1.性能注意事項

   1.1 優化性能

   1.2 最小化成本

   1.3 最小化風險

   1.4 交付高質量的系統



須要注意性能測試成本因素

 • 評價系統當前性能

 • 尋找瓶頸,優化性能

 • 預測系統將來性能、穩定性

-----------------------------------Start----------------------------------

2.性能測試步驟



-----------------------------------One----------------------------------

  ——軟件架構

                  瞭解軟件的工做過程,好比這個是提供頁面訪問功能的仍是提供API接口服務的,或者是其餘的一些原創調用服務

  ——通訊協議

                 瞭解通訊協議,才能根據通訊協議選擇合適的工具,選擇對的協議進行後期的腳步編寫、執行等工做

  ——邏輯功能

                 瞭解邏輯功能,才能對需求有進一步理解:如需求說要知足1000人在線,可是這1000人都在作什麼,每種功能事務的人數是多少?


 -----------------------------------Two----------------------------------

——需求分解

                 對一句話需求進行分解、分解到各個功能的需求:如該論壇系統支持10W人同時在線:你須要根據現有的論壇的在線人數、發帖數、PV數進行計算、獲得新系統的10W在線對於的每秒發帖數、每秒PV數等具體到單一功能、單一事務的性能需求

  ——需求理解

                 針對分解的需求在根據其餘的需求或者行業規則,制定出每種事務、單一功能具體的性能指標:如響應時間、每秒事務數等數據,好比頁面打開速度遵循135原則

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

3.常見性能指標

 -----------------------------------Three----------------------------------


   ——選擇理念

                  專業、穩定、高效

                  如今性能測試工具:我的建議選擇loadrunner

   ——特色

                 專業--工業級性能測試解決方案

                 穩定—HP國際公司提供

                高效使用範圍廣、完善的幫助文檔
 -----------------------------------Four----------------------------------

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

4.性能計數器

 -----------------------------------Five----------------------------------

 -----------------------------------Six----------------------------------


 ——驗證

        迴歸測試主要驗證性能問題解決狀況

——優化

        對於解決上輪測試未發現的問題
 -----------------------------------------------------------------------

5.LoadRunner 工具性能測試的步驟

 1.Ø規劃負載測試

              定義性能測試要求,例如併發用戶數量、典型業務流程和要求的響應時間

 2.Ø建立 Vuser腳本

             在自動化腳本中錄製最終用戶活動

 3.Ø定義場景

            使用 LoadRunner Controller 設置負載測試環境、手動、面向目標

 4.Ø運行場景

           使用 LoadRunner Controller 驅動、管理並監控負載測試

 5.Ø分析結果

         使用 LoadRunner Analysis 建立圖和報告並評估性能

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

內容回顧



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

八 常見性能測試工具及常見性能監控工具

A商用

    –HPMercury LoadRunner

    –IBMRational Robot

    –QALoad

    –IBMPerformance Tester

    –WAS-MicrosoftWeb Application Stress Tool

    –BorlandSilk Performer

    –RadviewWebload

    –PureLoad

B開源

      –Jmeter

      –OpenSTA

      –ABApache Bench

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

系統監控

     -NMON

     -Top

     -ProcessMonitor

     -Windows自帶性能監控工具

     -Sitescope

     -loadrunner

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

相關文章
相關標籤/搜索