1. 程式人生 > >web應用系統性能測試的種類

web應用系統性能測試的種類

效能測試(Performance Test)包含以下測試型別

壓力測試、負載測試、強度測試、資料庫容量測試、預期指標的效能測試、獨立業務效能測試、組合業務效能測試、疲勞強度效能測試、網路效能測試、大資料量測試、伺服器效能測試、一些特殊的測試。

調整效能最好的辦法就是軟硬體相結合。

效能測試的目的是在軟體功能良好的前提下,發現系統瓶頸並解決。

1、壓力測試(Stress Test

A)進行壓力測試是指實際破壞一個web應用系統,測試系統的反映。壓力測試是測試系統的限制和故障恢復能力。也就是測試web應用系統會不會崩潰,在什麼情況下崩潰。

B)壓力測試: 壓力測試是一種效能測試,它在系統資源特別低的情況下測試軟體系統執行情況,目的是找到系統在哪裡失效以及如何失效的地方。包括:

Spike testing(尖峰衝擊測試):短時間的極端負載測試

Extreme testing(極端測試):在過量使用者下的負載測試

Hammer testing(錘擊測試):連續執行所有能做的操作

C)壓力測試的主要任務就是獲取系統正確執行的極限,檢查系統在瞬間峰值負荷下正確執行的能力。例如,對伺服器做壓力測試時就可以增加併發操作的使用者數量;或者不停的向伺服器傳送請求;或一次性向伺服器傳送特別大的資料等;

看看伺服器保持正常執行能達到的最大狀態,比如模擬上萬使用者從終端同時登入。

2、負載測試(Load Test

A)負載測試是為了測量web系統在某一負載級別上的效能,以保證web系統在需求範圍內能正常工作。

B)負載測試:在一定的工作負荷下,給系統造成的負荷及系統響應的時間。  

C)負載測試是一種效能測試,指資料在超負荷環境中執行,程式是否能夠承擔。 檢驗系統的能力最高能達到什麼程度。比如,對於多個終端的分時系統,讓它所有的終端都開動。在整個系統的全部資源達到“滿負荷”的情形下,測試系統的承受能力。

舉個例子

假設一個人很輕鬆的就能背一袋米;背兩袋米很吃力;最多就能背三袋米;那麼,

一般效能測試,就是讓他背一袋米,去操場上跑圈,看多久能累倒。(一般效能測試指的是讓被測系統在正常的軟硬體環境下執行,看能執行多長時間直到系統崩潰)

負載測試,讓他背兩袋米,去操場上跑圈,看多久能累倒。(how much

壓力測試,讓他背兩袋米;三袋米;四袋米....直到他累到,看看他能背幾袋米,結果只能背三袋。(how much

3、強度測試

在異常或極端的情況下(比如資源減少或使用者過多的情況),驗證系統的執行情況。還可以確定測試物件能夠處理的最大工作量。例如:一個系統在記憶體366M下可以正常執行。但是降到358M下就不可以執行,顯示記憶體不足,這個系統對記憶體的要求就是366M

強度測試的目的是找出因資源不足或資源爭用(一般指一些共享資源,比如資料庫鎖或網路寬頻)導致的錯誤。

4、資料庫容量測試

通過儲存過程往資料庫表中插入一定的資料,,看看相關頁面是否能夠及時顯示資料。還可以確定測試物件在給定時間內能夠持續處理的最大負載或工作量。

5、預期指標的效能測試

系統在需求分析和設計階段都會提出一些效能測試,完成這些指標的相關效能的測試是效能測試的首要工作之一。

這些指標主要如下:

“系統可以支援併發使用者200個”、“系統響應時間不得超過20秒”等。

6、獨立業務效能測試

獨立業務實際是指一些核心業務模組對應的業務。核心業務的特點有:功能比較複雜、使用比較繁瑣。

核心業務模組的重點測試內容使用者併發測試,併發的主要內容是指模擬一定數量的使用者同時使用某一核心的相同或者不同的功能,並且持續一段時間。

7、組合業務效能測試

組合業務效能測試是最接近使用者實際使用情況的測試,它是效能測試的核心內容。

通常情況下,按照使用者實際使用人數比例來模擬各個模組的組合併發情況。組合效能測試經常和伺服器效能測試結合起來,在通過工具模擬使用者操作的同時,還通過測試工具的監控功能,採集伺服器的計數器資訊,進而全面分析系統瓶頸。

組合業務效能測試的核心內容使用者併發測試

突出特點是根據使用者使用系統的情況分成不同的使用者組進行併發,每一組的使用者比例要根據實際情況來匹配。

8、疲勞強度效能測試

指在系統穩定執行的情況下,以一定的負載壓力來長時間執行系統的測試。其主要目的是確定系統長時間處理較大業務量時的效能。(通過疲勞強度效能測試基本可以判定系統裕興一段時間後是否穩定)。

9、網路效能測試

展示寬頻、延遲、負載和埠的變化時如何影響使用者的響應時間的。主要是測試應用系統的使用者數目與網路頻寬的關係。

10、大資料量測試

主要是針對對資料庫有特殊要求的系統進行的測試。主要分為三中型別:

A)實時大資料量:模擬使用者工作是的實時大資料量;主要目的是測試使用者較多或者某些業務產生較大資料量是,系統能夠穩定的執行。

B)極限狀態下的測試:主要是測試系統使用一段時間即系統積累一定量的資料時,能否正常地執行業務。

C)前面兩種的結合:測試系統已經積累較大資料量時,一些實時產生較大資料量的模組能否穩定的工作。

11、伺服器效能測試

軟體和伺服器是產生系統瓶頸的兩大來源。

初級伺服器效能測試主要指在業務系統工作或者進行前面其他幾種效能測試的時候,監控伺服器的一些計數器的信心,通過這些計數器對伺服器進行綜合性能分析,為調優或提高系統性能提供依據。

高階伺服器效能測試一般有專門的系統管理員進行,如資料庫伺服器有專門的DBA來進行測試和調優。

12、一些特殊的測試

主要指配置測試,記憶體洩漏測試的一些特殊的web效能測試。