先說說這三種測試的英文名字:
性能測試(Performance Test)
負載測試(Load Test)
壓力測試(Stress Test)
再來說說這三種測試的具體概念及例子:
1)性能測試
性能測試主要評價系統或組件的性能是否和具體的性能需求一致,例如:對訪問速度的性能需求或對內存使用情況的需求。特定性能測試的關注點在於組件或系統在規定的時間內和特定的條件下響應用戶或系統輸入的能力。
不同的性能的度量方法取決於不同的被測對象。對於一個單獨軟件組件,其性能可以根據CPU主頻來判定。而帶客戶端的系統,其性能則要根據系統處理特定用戶請求的響應時間來判定。對於那些由多種組件(如客戶端、服務器、數據庫)構成的系統,則要進行各組件之間的性能測試。
2)負載測試
負載測試是一種通過增加負載來評估組件或系統的性能的測試方法。例如:通過增加並發用戶數和(或)事務數量來測量組件或系統能夠承受的負載。負載測試和性能測試的主要區別在於負載測試時,系統負載是逐漸增加的,而不是一步到位,負載測試需要觀察系統在各種不同的負載情況下是否都能夠正常工作。
3)壓力測試
壓力測試是評估系統處於或超過預期負載時系統的運行情況。壓力測試的關注點在於系統在峰值負載或超出最大載荷情況下的處理能力。在壓力級別逐漸增加時,系統性能應該按照預期緩慢下降,但是不應該崩潰。壓力測試還可以發現系統崩潰的臨界點,從而發現系統中的薄弱環節。
例如:系統最大支持的同時在線用戶數是1000個,壓力測試需要測試在1000個用戶甚至2000個用戶同時在線時系統的表現。雖然測試時負載已經超過了系統的設計能力,但是在這種情況下被測試系統也不應該發生崩潰。壓力測試也可以針對系統資源進行測試,例如:在系統內存耗盡情況下,測試系統的運行情況,這種情況下被測試系統也不應該崩潰。
=====================================================================
(以下為轉載,如有侵權請告知,僅用作學習交流)
最后附上一篇關於負載測試、容量測試、壓力測試、強度測試、性能測試的區別的文章:
地址是:http://www.360doc.com/content/10/0521/09/498983_28682834.shtml
發現網上對於這幾概念非常的混亂,Wally專門收集了一下比較經典的解釋,嘿嘿:
性能測試(或稱多用戶並發性能測試)、負載測試、強度測試、容量測試是性能測試領域里的幾個方 面
性能測試(Performance Test):通常收集所有和測試有關的所有性能,通常被不同人在不同場合下進行使用。測試軟件在系統中的運行性能,度量系統與預定義目標的差距。
關注點:how much和how fast
負載測試(Load Test):負載測試是一種性能測試,指數據在超負荷環境中運行,程序是否能夠承擔。通 過逐步增加系統負載,確定在滿足性能指標的情況下,系統所能承受的最大負載量。
關注點:how much
強度測試(Stress Test): 強度測試是一種性能測試,他在系統資源特別低的情況下軟件系統運行情況,目的是找到系統在哪里失效以及如何失效的地方。包括
Spike testing:短時間的極端負載測試
Extreme testing:在過量用戶下的負載測試
Hammer testing:連續執行所有能做的操作
壓力測試:通過逐步增加系統 負載,確定在什么負載條件下系統處於失效狀態,以此來獲得系統能提供的最大服務級別。
容量測試(Volume Test):確定系統可處理同時在線的最大用戶數,使系統承受超額的數據容量來發 現它是否能夠正確處理。
關注點:how much(而不是how fast)
容量測試,通常和數據 庫有關,容量和負 載的區別在於:容量關注的是大容量,而不需要表現實際的使用。
其中,容量測試、負載測試、強度測試的英文解釋為:
Volume Testing = Large amounts of data
Load Testing = Large amount of users
Stress Testing = Too many users, too much data, too little time and too little room
舉例:一個人背X斤
負載測試:200斤情況下,是否能堅持5分鍾。
壓力測試:200,300,400...斤情況下,他的表現,什么時候失敗,失敗之后什么表現,重新扛200是否正常。
容量測試:在堅持5分鍾的情況下,他一次最多能扛多少斤。
負載測試:負載測試是 一種性能測試,指數據在超負 荷環境中運行,程序是否能夠承擔。 強度測試:強度測試是一種性能測試,他在系統資源特別低的情況下軟件系統運行情況。
容量測試:確定系統可處理同時在線的最大用戶數。
1.強度測試或壓力測試:強度或壓力測試是在一種需要異常數量、頻率或資源的方式下,執行可重復的負載測試,以檢查程序對異常情況的抵抗能力,找出性能瓶 頸。
異常情況,主要指那些峰值、極限值、大量數據的長時間處理等,包括:連接或模擬了最大(實際或實際允許)數量的客戶機; 所有客戶機在長時間內執行相同的、性能可能最不穩定的重要業務功能;已達到最大的數 據庫大小,而且同時執行多個查詢或報表事務當中斷的正常頻率為每秒一至兩個時,運行每秒產生十個中 斷的測試用例;運行可能導致虛存操作系統崩潰或大量數據對磁盤進行存取操作的測試用例等。
壓力 測試可以分為穩定性測試和破壞性測試:
穩定性壓力測試。在選定的壓力值下,持續運行24小時以上的測試。通過壓力測試,可以考察各項性能指標是否在指定范圍內,有無內存泄漏、有無功能性故障 等。 破壞性壓力測試。在壓力穩定性測試中可能會出現一些問題,如系統性能明顯降低,但很難暴露出其真實的原因。通過破壞性不斷加壓的手段,往往能快速造成系統 的崩潰或讓問題明顯的暴露出來。
在壓力測試中,會給程序加上一些跟蹤機制(如log日志等),然后查看監視系統、服務器等性能的日志文件是必要的,找出問題出現的關鍵時間或檢查測試運行參數,通過分析問題或參數從而有目的地調整測試策略或測 試環境,使壓力測試結果真實地反映出軟件的性能。
2.性能測試系統的性能指標,一般贏在產品需求文檔中有明確定義,有三種形式描述軟件系統的性能指標:
給出產品性能的主要指標,如在100000記錄中查詢一個特定數據的時間為0.5秒。以某個已發布的版本為基線,如比上一個版本的性能提高30-50%。 和競爭對手的同類產品比較。
性能測試,根據其目的分為:產品性能質量測試,通過測試,決定產品是否達到產品規格書所要求的性能指標(非功能性需求)基准值測試,通過對當前產品的性能 測試,確定產品具體的性能指標,建立性能指標基准。基准值,作為后繼產品發布的性能參考(在新版本中,性能指標要求只升不降)或和競爭對手產品比較的參 考。
性能規划測試,通過不斷的測試,確定所需要的硬件配置(內存、CPU、網絡等)、軟件配置,以滿足實現定義的性能指標要求。這種測試,對於軟件系統的部署 是非常有意義的。同時,也可以進一步了解硬件參數、軟件參數對系統性能的影響程度,從而保證系統具有很好的擴充性或事先制定較好的系統增容的計划。
性能測試的方法,主要有:穩定壓力加載,一次性將負載加到某個水平,持續一段時間,也稱為flat測試。 逐漸加載或交替加載到某個負載水平,也稱為“ramp-up”測試。 峰谷測試,確定從系統高峰時間的負載轉為幾乎空閑、再攀升到高負載這樣峰值交替情況下的系統性能狀態/指標。這種測試兼有容量測試的特點或屬於容量測試的 一部分。
性能測試,一般都通過測試工具來模擬人為的操作而進行。性能測試的重點在於測試環境的建立、前期數據的設計與后期數據的分析。因為性能測試需要獲得一定特定條 件下(如100、200、500、1000個實時的連接)的系統占用資源(CPU、內存等)數據或系統行為表現,而且還要依靠測試工具或軟件系統記錄下這 些指標變化的數據結果。例如,如果對一個Browser/Server結構的網絡實時在線的培訓系統軟件進行測試,系統性能焦點是在不同數量的並發連接 下,服務器的CPU、內存的占用率、客戶端的響應時間等。測試過程中,並發連接的不斷增加(負載的增加)在系統性能上的表現越來越明顯。在系統性能測試 時,加載過程中,每到一個測試點時須讓系統平穩運行一段時間后再獲取數據,以消除不同測試點的相互影響。從表中可以看出,同樣是300個用戶,1?00與 60?的性能表現差別很大,加載的方式對系統性能影響也較大,所以,盡量模擬不同的加載方式來進行系統的性能測試。除此之外,還可以測試TCP、 HTTPS等不同連接方式下的數據,進行比較。通過比較和分析,可以清楚知道系統的性能狀況,以及什么樣的條件下系統性能達到最佳狀況、什么地方是性能的 瓶頸。性能測試要求測試環境應盡量與產品運行環境保持一致,應單獨運行,盡量避免與其 他軟件同時使用。
3.容量測試軟件測試通過 性能測試,如果找到了系統的極限或苛刻的環境中系統的性能表現,在一定的程度上,我們完成了負載測試和容量測試。容量可以看作系統性能指標中一個特定環境 下的一個特定性能指標,即設定的界限或極限值。容量測試目的是通過測試預先分析出反映軟件系統應用特征的某項指標的極限值(如最大並發用戶數、數據庫記錄 數等),系統在其極限值狀態下沒有出現任何軟件故障或還能保持主要功能正常運行。容量測試還將確定測試對象在給定時間內能夠持續處理的最大負載或工作量。對軟件容量的測試,能讓軟件開發商或用戶了解該軟件系 統的承載能力或提供服務的能力,如某個電子商務網站所能承受的、同時進行交易或結算的在線用戶數。知道了系統的實際容量,如果不能滿足設計要求,就應該尋 求新的技術解決方案,以提高 系統的容量。有了對軟件負載的准確預測,不僅能對軟件系統在實際使用中的性能狀況充滿信心,同時也可以幫助用戶經濟地規划應用系統,優化系統的部署。
壓力測試、容量測試和性能測試的關系:壓力測試可以看作是容量測試、性能測試和可靠性測試的一種手段,不是直接的測試目標。壓力測試的重點在於發現功能 性測試所不易發現的系統方面的缺陷。而容量測試和性能測試是系統測試的主要目標內容,也就是確定軟件產品或系統的非功能性方面的質量特征,包括具體的特征 值。容量測試和性能測試更着力於提供性能與容量方面的數據,為軟件系統部署、維護、質量改進服務,並可以幫助市場定位、銷售人員對客戶的解釋、廣告宣傳等 服務。壓力測試、容量測試、性能測試,測試的方法相似、相通,在實際測試工作中,往往結合起來進行,以提高測試效率。一般會設置專門的性能測試實驗室,完 成這些工作。即使用虛擬的手段模擬實際操作,所需要的客戶端有時還是很大的,所以性能測試實驗室的投資較大。
**********轉摘:https://blog.csdn.net/tgzjz/article/details/48174527