您好,登錄后才能下訂單哦!
了解了我們前面說的性能測試負載模型,那么我們在該模型基礎上怎么開展測試呢?
截下來我們在之前介紹的負載模型基礎上說一下性能測試策略。
性能測試策略就是根據不同的測試目的、不同的關注點來選擇不同的測試類型進行測試。
回顧一下我們前面描述的測試模型的公式M=F{L,O,T}和場景的定義場景即系統運行的剖面。所謂的測試類型就是指選擇不同的剖面運行不同的時間段。如下圖所示:
在模型章節中我們提出的三維模型,我們提出這樣一種假設:隨著時間的變化,用戶不斷均勻的增加。
在這種假設中,系統運行的模型如上圖所示,在上圖中我們分別取了3個剖面,S1、S2、S3。
S1剖面是指從零點開始,隨用戶量增加,場景重合度逐漸增加,緩存的資源重用率增加,因此隨著用戶量增加,系統的平均性能表現隨用戶量的增加而增加的更快;
S2剖面是指繼續隨用戶量的增加,場景的重合度已經增加到極限,繼續增加用戶因此導致的資源耗費開始隨用戶增加線性增加,系統的平均性能表現隨用戶量的增加而增加變緩,但是此時系統可支持的用戶量還可以繼續增加;
S3剖面是繼續增加用戶量,系統的容量已經增加到極限,此時,繼續增加用戶,此時開始出現資源征用,開始出現頻繁的等待而導致的系統的平均新能表現隨用戶的增加開始出現下降,系統的容量也開始達到極限不再增加。
注:系統的平均性能表現是指性能指標(如響應時間)的“增加”率;
--------------羞--------恥--------的--------分--------割--------線------------
負載測試,就是指關注性能測試模型中的負載量屬性,即M=F{L,O,T}中,變化量為L。O和T保持不變。
對應于我們上面的三個剖面,就是負載測試分別在S1、S2、S3三個場景即剖面下運行相同的一段時間,評估系統的性能表現和不同的負載量下的系統性能變化曲線。(或有更多場景,但至少包含S1場景作為初始測試目標、S2場景作為系統預期目標、S3場景作為測試終止目標)
具體場景設置如S1場景下運行半小時,然后負載量增加到S2剖面的負載量,在此場景下繼續運行半小時,然后繼續將負載量增加到S3剖面的負載量,在此場景下再次運行半小時。
基于此,一般需要確認系統的容量(S3剖面)、確認系統的最佳性能表現(S2剖面)等此類測試目的,或者有如TPS預期達到100,或者系統支持500用戶在線使用系統等明確預期目標的,一般都需要進行負載測試。
壓力測試,就是指負載量為最大,即此時的屬性L為最大值保持不變,O保持不變,變化的為T,即運行時間變化。
對應于我們上面的三個剖面,就是指系統在S3剖面的負載量下運行。T小于等于2的情況下,就是我們常說的壓力測試;當T大于等于8的情況下,就是我們常說的負載測試。
壓力測試主要關注系統的穩定性,即系統在可能的最大負載下連續運行一段時間是否可以平穩的運行而不出現異常。
對于穩定性有要求的測試目的,在確定測試策略時需要選擇進行壓力測試。
并發測試,就是關注的對象為負載對象,即M=F{L,O,T}中,O為變化量,每一輪測試只關注某一個測試對象,在某個負載下的性能表現。
在一個比較嚴密的并發測試過程中,一定是會進行多輪,即每輪測試關注對象O都由其原本的節點變化為其直接下級的節點,以更深層次的定位問題。
由此,也引出了我們選擇進行并發測試的關鍵字,定位更深層次的問題。如資源爭用、資源泄漏等問題。一般在測試目的需要針對某一個功能或者組件進行測試,都需要選擇進行并發測試。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。