效能測試 vs 負載測試 vs 壓力測試
阿新 • • 發佈:2019-01-02
壓力 測試可以分為穩定性測試和破壞性測試:
穩定性壓力測試。在選定的壓力值下,持續執行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.容量測試軟體測試通過 效能測試,如果找到了系統的極限或苛刻的環境中系統的效能表現,在一定的程度上,我們完成了負載測試和容量測試。容量可以看作系統性能指標中一個特定環境 下的一個特定效能指標,即設定的界限或極限值。容量測試目的是通過測試預先分析出反映軟體系統應用特徵的某項指標的極限值(如最大併發使用者數、資料庫記錄 數等),系統在其極限值狀態下沒有出現任何軟體故障或還能保持主要功能正常執行。容量測試還將確定測試物件在給定時間內能夠持續處理的最大負載或工作量。對軟體容量的測試,能讓軟體開發商或使用者瞭解該軟體系 統的承載能力或提供服務的能力,如某個電子商務網站所能承受的、同時進行交易或結算的線上使用者數。知道了系統的實際容量,如果不能滿足設計要求,就應該尋 求新的技術解決方案,以提高 系統的容量。有了對軟體負載的準確預測,不僅能對軟體系統在實際使用中的效能狀況充滿信心,同時也可以幫助使用者經濟地規劃應用系統,優化系統的部署。
壓力測試、容量測試和效能測試的關係:壓力測試可以看作是容量測試、效能測試和可靠性測試的一種手段,不是直接的測試目標。壓力測試的重點在於發現功能 性測試所不易發現的系統方面的缺陷。而容量測試和效能測試是系統測試的主要目標內容,也就是確定軟體產品或系統的非功能性方面的質量特徵,包括具體的特徵 值。容量測試和效能測試更著力於提供效能與容量方面的資料,為軟體系統部署、維護、質量改進服務,並可以幫助市場定位、銷售人員對客戶的解釋、廣告宣傳等 服務。壓力測試、容量測試、效能測試,測試的方法相似、相通,在實際測試工作中,往往結合起來進行,以提高測試效率。一般會設定專門的效能測試實驗室,完 成這些工作。即使用虛擬的手段模擬實際操作,所需要的客戶端有時還是很大的,所以效能測試實驗室的投資較大。
穩定性壓力測試。在選定的壓力值下,持續執行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.容量測試軟體測試通過 效能測試,如果找到了系統的極限或苛刻的環境中系統的效能表現,在一定的程度上,我們完成了負載測試和容量測試。容量可以看作系統性能指標中一個特定環境 下的一個特定效能指標,即設定的界限或極限值。容量測試目的是通過測試預先分析出反映軟體系統應用特徵的某項指標的極限值(如最大併發使用者數、資料庫記錄 數等),系統在其極限值狀態下沒有出現任何軟體故障或還能保持主要功能正常執行。容量測試還將確定測試物件在給定時間內能夠持續處理的最大負載或工作量。對軟體容量的測試,能讓軟體開發商或使用者瞭解該軟體系 統的承載能力或提供服務的能力,如某個電子商務網站所能承受的、同時進行交易或結算的線上使用者數。知道了系統的實際容量,如果不能滿足設計要求,就應該尋 求新的技術解決方案,以提高 系統的容量。有了對軟體負載的準確預測,不僅能對軟體系統在實際使用中的效能狀況充滿信心,同時也可以幫助使用者經濟地規劃應用系統,優化系統的部署。
壓力測試、容量測試和效能測試的關係:壓力測試可以看作是容量測試、效能測試和可靠性測試的一種手段,不是直接的測試目標。壓力測試的重點在於發現功能 性測試所不易發現的系統方面的缺陷。而容量測試和效能測試是系統測試的主要目標內容,也就是確定軟體產品或系統的非功能性方面的質量特徵,包括具體的特徵 值。容量測試和效能測試更著力於提供效能與容量方面的資料,為軟體系統部署、維護、質量改進服務,並可以幫助市場定位、銷售人員對客戶的解釋、廣告宣傳等 服務。壓力測試、容量測試、效能測試,測試的方法相似、相通,在實際測試工作中,往往結合起來進行,以提高測試效率。一般會設定專門的效能測試實驗室,完 成這些工作。即使用虛擬的手段模擬實際操作,所需要的客戶端有時還是很大的,所以效能測試實驗室的投資較大。