負載測試、壓力測試和性能測試的異同-1_第1頁
負載測試、壓力測試和性能測試的異同-1_第2頁
負載測試、壓力測試和性能測試的異同-1_第3頁
負載測試、壓力測試和性能測試的異同-1_第4頁
負載測試、壓力測試和性能測試的異同-1_第5頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第第頁負載測試、壓力測試和性能測試的異同負載測試、壓力測試和性能測試的異同

發(fā)表于:2023-10-27來源::點擊數:標簽:性能測試負載異同壓力

負載測試、壓力測試和性能測試的異同軟件測試負載測試(Loadtesting)、壓力測試(StressTest,應稱為強度測試)和性能測試,這三個概念常常引起混淆,難以區(qū)分,從而造成不正確的理解和錯誤的使用。之前,也有不少討論,比較有名的,應歸為GrigGheorgh

負載測試、壓力測試和性能測試的異同軟件測試

負載測試(Loadtesting)、壓力測試(StressTest,應稱為強度測試)和性能測試,這三個概念常常引起混淆,難以區(qū)分,從而造成不正確的理解和錯誤的使用。之前,也有不少討論,比較有名的,應歸為GrigGheorghiu's的兩篇博客:

Performancevs.loadvs.stresstesting

Moreonperformancevs.loadtesting

負載測試、壓力測試和性能測試的測試目的不同,但其手段和方法在一定程度上比較相似,通常會使用相同的測試環(huán)境和測試工具,而且都會監(jiān)控系統(tǒng)所占用資源的情況以及其它相應的性能指標,這也是造成人們容易產生概念混淆的主要原因。

我們知道,軟件總是運行在一定的環(huán)境下,這種環(huán)境包括支撐軟件運行的軟硬件環(huán)境和影響軟件運行的外部條件。為了讓客戶使用軟件系統(tǒng)感到滿意,必須確保系統(tǒng)運行良好,達到高安全、高可靠和高性能。其中,系統(tǒng)是否具有高性能的運行特征,不僅取決于系統(tǒng)本身的設計和程序算法,而且取決于系統(tǒng)的運行環(huán)境。系統(tǒng)的運行環(huán)境會依賴于一些關鍵因素,例如:

系統(tǒng)架構,如分布式服務器集群還是集中式主機系統(tǒng)等。

硬件配置,如服務器的配置,CPU、內存等配置越高,系統(tǒng)的性能會越好。

網絡帶寬,隨著帶寬的提高,客戶端訪問服務器的速度會有較大的改善。

支撐軟件的選定,如選定不同的數據庫管理系統(tǒng)(Oracle、MySQL等)和web應用服務器(Tomcat、GlassFish、Jboss、WebLogic等),對應用系統(tǒng)的性能都有影響。

外部負載,同時有多少個用戶連接、用戶上載文件大小、數據庫中的記錄數等都會對系統(tǒng)的性能有影響。一般來說,系統(tǒng)負載越大,系統(tǒng)的性能會降低。

從上面可以看出,使系統(tǒng)的性能達到一個最好的狀態(tài),不僅通過對處在特定環(huán)境下的系統(tǒng)進行測試以完成相關的驗證,而且往往要根據測試的結果,對系統(tǒng)的設計、代碼和配置等進行調整,提高系統(tǒng)的性能。許多時候,系統(tǒng)性能的改善是測試、調整、再測試、再調整、……一個持續(xù)改進的過程,這就是我們經常說的性能調優(yōu)(perormancetuning)。

在了解了這樣一個背景之后,就比較容易理解為什么在性能測試中常常要談負載測試。從測試的目的出發(fā)、從用戶的需求出發(fā),就比較容易區(qū)分性能測試、負載測試和壓力測試。性能測試是為了獲得系統(tǒng)在某種特定的條件下(包括特定的負載條件下)的性能指標數據,而負載測試、壓力測試是為了發(fā)現軟件系統(tǒng)中所存在的問題,包括性能瓶頸、內存泄漏等。通過負載測試,也是為了獲得系統(tǒng)正常工作時所能承受的最大負載,這時負載測試就成為容量測試。通過壓力測試,可以知道在什么極限情況下系統(tǒng)會崩潰、系統(tǒng)是否具有自我恢復性等,但更多的是為了確定系統(tǒng)的穩(wěn)定性。

那么,如何給負載測試、壓力測試下個定義呢?根據上述討論,我們可以給出如下的定義:

負載測試是模擬實際軟件系統(tǒng)所承受的負載條件的系統(tǒng)負荷,通過不斷加載(如逐漸增加模擬用戶的數量)或其它加載方式來觀察不同負載下系統(tǒng)的響應時間和數據吞吐量、系統(tǒng)占用的資源(如CPU、內存)等,以檢驗系統(tǒng)的行為和特性,以發(fā)現系統(tǒng)可能存在的性能瓶頸、內存泄漏、不能實時同步等問題。負載測試更多地體現了一種方法或一種技術。

壓力測試是在強負載(大數據量、大量并發(fā)用戶等)下的測試,查看應用系統(tǒng)在峰值使用情況下操作行為,從而有效地發(fā)現系統(tǒng)的某項功能隱患、系統(tǒng)是否具有良好的容錯能力和可恢復能力。壓力測試分為高負載下的長時間(如24小時以上)的穩(wěn)定性壓力測試和極限負載情況下導致系統(tǒng)崩潰的破壞性壓力測試。

壓力測試可以被看作是負載測試的一種,即高負載下的負載測試,或者說壓力測試采用負載測試技術。通過壓力測試,可以更快地發(fā)現內存泄漏問題,還可以更快地發(fā)現影響系統(tǒng)穩(wěn)定性的問題。例如,在正常負載情況下,某些功能不能正常使用或系統(tǒng)出錯的概率比較低,可能一個月只出現一次,但在高負載(壓力測試)下,可能一天就出現,從而發(fā)現有缺陷的功能或其它系統(tǒng)問題。通過負載測試,可以證明這一點,某個電子商務網站的訂單提交功能,在10個并發(fā)用戶時錯誤率是零,在50個并發(fā)用戶時錯誤率是1%,而在200個并發(fā)用戶時錯誤率是20%。

負載測試是為了發(fā)現系統(tǒng)的性能問題,負載測試需要通過系統(tǒng)性能特性或行為來發(fā)現問題,從而為性能改進提供幫助,從這個意義看,負載測試可以看作性能測試的一部分。但它們兩者的目的是不一樣的,負載測試是為了發(fā)現缺陷,而性能測試是為了獲取性能指標。因為性能測試過程中,也可以不調整負載,而是在同樣負載情況下改變系統(tǒng)的結構、改變算法、改變硬件配置等等來得到性能指標數據,從這個意義看,負載測試可以看作是性能測試所c的一種技術,即性能測試使用負載測試的技術、使用負載測試的工具。性能測試要獲得在不同的負載情況下的性能指標數據。

通過負載測試和壓力測試都可以獲得系統(tǒng)正常工作時的極限負載或最大容量。容量測試,自然也是采用負載測試技術來實現,而在破壞性的壓力測試中,容量的確定可以看作是一種副產品——間接結果。

綜合所述,負載測試、壓力測試和性能測試的概念可以概括如下:

負載測試是通過改變系統(tǒng)負載方式、增加負載等來發(fā)現系統(tǒng)中所存在的性能問題。負載測試是一種測試方法,可以為性能測試、壓力測試所采用。負載測試的加載方式也有很多種,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論