對於軟體應用系統,僅僅從功能上滿足使用者的需求是不夠的,還需要從效能、可用性等方面更好地滿足客戶的需要。
1.強度測試或壓力測試
強度或壓力測試是在一種需要異常數量、頻率或資源的方式下,
執行可重複的負載測試
,以檢查程式對異常情況的抵抗能力,找出效能瓶頸。異常情況,主要指那些峰值、極限值、大量資料的長時間處理等,包括:
壓力測試可以分為穩定性測試和破壞性測試:
在壓力測試中,會給程式加上一些跟蹤機制(如log、日誌等),然後檢視監視系統、伺服器等效能的日誌檔案是必要的,找出問題出現的關鍵時間或檢查測試執行引數,通過分析問題或引數從而有目的地調整測試策略或測試環境,使壓力測試結果真實地反映出軟體的效能。 2
.效能測試
系統的效能指標,一般贏在產品需求文件中有明確定義,有三種形式描述軟體系統的效能指標:
效能測試,根據其目的分為:
效能測試的方法,主要有:
表1 http
連線效能表
物理記憶體
(m) 55
45 38
38 32
48 75
46 37
…
178
232
虛擬記憶體
(m)
836
841
831
855
865
858
867
874
884 …
871
1,472
加入時間
(s)
12.04
12.14
11.6
15.48
126.1
104.76
168.1
123.7
218.11 …
12.01
9.17
建會時間
(s)
12.01
11.35
12.38
13.32
13.63
14.06
16.35
14.98
17.68 …
10.9
11.39 延時
(s)
…….
…
…
…
…
…
…
…
…
…
…
…
…
斷開時間
(s)
8.58
9.11
7.94
9.09
8.26
8.35
8.46
11.41
11.1 …
8.79
8.22
測試過程中,併發連線的不斷增加(負載的增加)在系統效能上的表現越來越明顯。在系統效能測試時,載入過程中,每到乙個測試點時須讓系統平穩執行一段時間後再獲取資料,以消除不同測試點的相互影響。從表中可以看出,同樣是300個使用者,1
´300
與60´
5的效能表現差別很大,載入的方式對系統效能影響也較大,所以,盡量模擬不同的載入方式來進行系統的效能測試。除此之外,還可以測試tcp、https等不同連線方式下的資料,進行比較。通過比較和分析,可以清楚知道系統的效能狀況,以及什麼樣的條件下系統效能達到最佳狀況、什麼地方是效能的瓶頸。效能測試要求測試環境應盡量與產品執行環境保持一致,應單獨執行,盡量避免與其他軟體同時使用。 3
.容量測試
通過效能測試,如果找到了系統的極限或苛刻的環境中系統的效能表現,在一定的程度上,我們完成了負載測試和容量測試。容量可以看作系統效能指標中乙個特定環境下的乙個特定效能指標,即設定的界限或極限值。
容量測試目的是通過測試
預先分析出反映軟體系統應用特徵的某項指標的極限值(如最大併發使用者數、資料庫記錄數等),系統在其極限值狀態下
沒有出現任何軟體故障或
還能保持主要功能正常執行
。容量測試還將確定測試物件在給定時間內能夠持續處理的最大負載或工作量。
知道了系統的實際容量,如果不能滿足設計要求,就應該尋求新的技術解決方案,以提高系統的容量。
有了對軟體負載的準確**,不僅能對軟體系統在實際使用中的效能狀況充滿信心,同時也可以幫助使用者經濟地規劃應用系統,優化系統的部署。 3
.壓力測試、
容量測試和效能測試的關係
壓力測試可以看作是容量測試、效能測試和可靠性測試的一種手段,不是直接的測試目標。壓力測試的重點在於發現功能性測試所不易發現的系統方面的缺陷。而容量測試和效能測試是系統測試的主要目標內容,也就是確定軟體產品或系統的非功能性方面的質量特徵,包括具體的特徵值。容量測試和效能測試更著力於提供效能與容量方面的資料,為軟體系統部署、維護、質量改進服務,並可以幫助市場定位、銷售人員對客戶的解釋、廣告宣傳等服務。
壓力測試、容量測試、效能測試,測試的方法相似、相通,在實際測試工作中,往往結合起來進行,以提高測試效率。一般會設定專門的效能測試實驗室,完成這些工作。即使用虛擬的手段模擬實際操作,所需要的客戶端有時還是很大的,所以效能測試實驗室的投資較大。對於許多中小型軟體公司,可以委託第三方完成效能測試,可以很大程度上降低成本。
預知後事如何,請讀下回分解:
第14回 容錯性測試和安全性測試 ®
——系列討論的目錄,見:
軟體測試演義——中高階系列(序)
第13回 負載 效能測試和容量測試的關係和區別
對於軟體應用系統,僅僅從功能上滿足使用者的需求是不夠的,還需要從效能 可用性等方面更好地滿足客戶的需要。1 強度測試或壓力測試 強度或壓力測試是在一種需要異常數量 頻率或資源的方式下,執行可重複的負載測試 以檢查程式對異常情況的抵抗能力,找出效能瓶頸。異常情況,主要指那些峰值 極限值 大量資料的長時...
負載測試 容量測試和強度測試的區別
負載測試 負載測試是一種效能測試1 強度測試或壓力測試強度或壓力測試是在一種需要異常數量 頻率或資源的方式下,執行可重複的負載測試,以檢查程式對異常情況的抵抗能力,找出性 能瓶頸。異常情況,主要指那些峰值 極限值 大量資料的長時間處理等,包括 連線或模擬了最大 實際或實際允許 數量的客戶機 所有客戶...
負載測試壓力測試容量測試的區別
1 負載測試 負載測試是模擬實際軟體系統所承受的負載條件的系統負荷,通過不斷載入 如逐漸增加模擬使用者的數量 或其它載入方式來觀察不同負載下系統的響應時間和資料吞吐量 系統占用的資源 如cpu 記憶體 等,以檢驗系統的行為和特性,以發現系統可能存在的效能瓶頸 記憶體洩漏 不能實時同步等問題。負載測試...