負載測試、容量測試和強度測試的區別

負載測試:負載測試是一種性能測試,指數據在超負荷環境中運行,程序是否能夠承擔。 強度測試:強度測試是一種性能測試,他在系統資源特別低的情況下軟件系統運行情況。
 容量測試:確定系統可處理同時在線的最大用戶數。

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.容量測試軟件測試專業網站:51Testing軟件測試網/HX E n m m B
通過性能測試,如果找到了系統的極限或苛刻的環境中系統的性能表現,在一定的程度上,我們完成了負載測試和容量測試。容量可以看作系統性能指標中一個特定環境下的一個特定性能指標,即設定的界限或極限值。容量測試目的是通過測試預先分析出反映軟件系統應用特徵的某項指標的極限值(如最大併發用戶數、數據庫記錄數等),系統在其極限值狀態下沒有出現任何軟件故障或還能保持主要功能正常運行。容量測試還將確定測試對象在給定時間內能夠持續處理的最大負載或工作量。對軟件容量的測試,能讓軟件開發商或用戶瞭解該軟件系統的承載能力或提供服務的能力,如某個電子商務網站所能承受的、同時進行交易或結算的在線用戶數。知道了系統的實際容量,如果不能滿足設計要求,就應該尋求新的技術解決方案,以提高系統的容量。有了對軟件負載的準確預測,不僅能對軟件系統在實際使用中的性能狀況充滿信心,同時也可以幫助用戶經濟地規劃應用系統,優化系統的部署。

   壓力測試、容量測試和性能測試的關係:壓力測試可以看作是容量測試、性能測試和可靠性測試的一種手段,不是直接的測試目標。壓力測試的重點在於發現功能性測試所不易發現的系統方面的缺陷。而容量測試和性能測試是系統測試的主要目標內容,也就是確定軟件產品或系統的非功能性方面的質量特徵,包括具體的特徵值。容量測試和性能測試更着力於提供性能與容量方面的數據,爲軟件系統部署、維護、質量改進服務,並可以幫助市場定位、銷售人員對客戶的解釋、廣告宣傳等服務。壓力測試、容量測試、性能測試,測試的方法相似、相通,在實際測試工作中,往往結合起來進行,以提高測試效率。一般會設置專門的性能測試實驗室,完成這些工作。即使用虛擬的手段模擬實際操作,所需要的客戶端有時還是很大的,所以性能測試實驗室的投資較大。

發佈了33 篇原創文章 · 獲贊 5 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章