性能測試入門

 
性能測試
在拜讀了段唸的《軟件性能測試過程詳解與案例剖析》一書後,對各種性能測試類型有了豁然開朗的感覺。網上關於性能測試類型方面一直都討論不休並有多種見解,以下是根據書上描述和個人經驗對測試側重點做了進一步探索,不對之處請指正。
    我們所說的性能測試是一種廣義上的說法,包括了以下各種不同的性能測試類型,每種測試類型都帶着明確的測試目的。
性能測試(Performance Testing                         
   
原文摘要:性能測試方法是通過模擬生產運行的業務壓力量和使用場景組合,測試系統的性能是否滿足生成性能要求。即在特定的運行條件下驗證系統的能力狀況。
    個人理解:主要強調在固定的軟硬件環境、確定的測試業務場景下,其主要意義是獲得系統的性能指標。
負載測試(Load Testing)
   
原文摘要:在給定的測試環境下,通過在被測系統上不斷增加壓力,直到性能指標超過預定指標或某種資源使用已經達到飽和狀態,目的是瞭解系統性能容量和處理能力極限。負載測試的主要用途是發現系統性能的拐點,尋找系統能夠支持的最大用戶、業務等處理能力的約束。
    個人理解:也可以理解爲擴展性測試(Scalability Testing),即在固定測試環境,在其它測試角度(負載方面)不變的情況下,變化一個測試角度並持續增加壓力,查看系統的性能曲線和處理極限,以及是否有性能瓶頸存在(拐點)。主要意義是從多個不同的測試角度去探測分析系統的性能變化情況,配合性能調優。測試角度可以是併發用戶數、業務量、數據量等不同方面的負載。
壓力測試(Stress Testing)
   
原文摘要:測試系統在一定飽和狀態下系統能夠處理的會話能力,以及是否出現錯誤,一般用於穩定性測試。
個人理解:可以理解爲資源的極限測試。測試關注在資源處於飽和或超負荷的情況下,系統能否正常運行,是一種在極端壓力下的穩定性測試。其主要意義是通過測試調優保證系統即使在極端的壓力情況下也不會出錯甚至系統崩潰。
    網友補充:壓力測試的目的是調查系統在其資源超負荷的情況下的表現,尤其是對系統的處理時間有什麼影響。這類測試在一種需要反常數量、頻率或資源的方式下執行系統。目標是通過極限測試方法,發現系統在極限或惡劣環境中自我保護能力。主要驗證系統的可靠性。
配置測試(Configuration Testing)
    原文摘要:通過對被測系統的軟硬件環境的調整,瞭解各種不同環境對性能影響的程度,從而找到系統各項資源的最有分配原則。
    個人理解:主要用於性能調優,在經過測試獲得了基準測試數據後,進行環境調整(包括硬件配置、網絡、操作系統、應用服務器、數據庫等),再將測試結果與基準數據進行對比,判斷調整是否達到最佳狀態。
併發測試(Concurrency Testing)
   
原文摘要:模擬併發訪問,測試多用戶併發訪問同一個應用、模塊、數據時是否產生隱藏的併發問題,如內存泄漏、線程鎖、資源爭用問題。
    個人理解:測試目的並非爲了獲得性能指標,而是爲了發現併發引起的問題。
可靠性測試(Reliability Testing)
   
原文摘要:通過給系統加載一定的業務壓力的情況下,讓應用持續運行一段時間,測試系統在這種條件下是否能夠穩定運行。
    個人理解:需要和壓力測試區分開,兩者的測試環境和測試目的不一樣。壓力測試強調在資源極限情況下系統是否出錯,可靠性測試強調在   一定的業務壓力下長時間(如24×7)運行系統,關注系統的運行情況(如資源使用率是否逐漸增加、響應是否是否越來越慢),是否有不穩定徵兆。
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章