效能測試工作的完整過程,目的,最關鍵的是什麼
系統測試分類:功能測試(正確性,容錯性,併發邏輯,關聯內容),安全測試,效能測試(壓力測試,響應時間),強度測試,容量測試,恢復測試,使用者介面測試,介面間測試。。。
效能測試的概念---在正常,峰值以及異常負載條件下,測試系統的各項效能指標;通過自動化的測試工具模擬進行。
效能測試主要是測試軟體執行中的各項指標是否符合需求;壓力測試是效能測試的重點,壓力測試是通過工具產生並執行併發事務來模擬軟體系統的實際執行狀態,從而獲得各種效能指標。
效能測試的目的---
1) 評估系統的能力----測試中得到的負荷和響應時間資料可被用於驗證所計劃的模型的能力,並幫助作出決策。
2) 識別體系中的弱點----受控的負荷被增加到一個極端水平,並突破它,從而修復體系的瓶頸或薄弱的地方。
3) 系統調優---重複執行測試,驗證調整系統的活動得到了預期的結果,從而改進效能。檢測軟體中的問題,長時間的測試執行可導致程式發生由於記憶體洩漏引起的失敗,揭示程式中的隱含問題或衝突。
4) 驗證穩定性,可靠性---在一個生產負荷下執行測試一定的時間是評估系統穩定性和可靠性是否滿足要求的唯一方法。
效能測試的內容---
負載測試、壓力測試、容量測試、網路效能測試
其中,容量測試、負載測試、強度測試的英文解釋為:
Volume Testing = Large amounts of data
Load Testing = Large amount of users
Stress Testing = Too many users, too much data, too little time and too little room
效能測試(Performance Test):通常收集所有和測試有關的所有效能,通常被不同人在不同場合下進行使用。
關注點:how much和how fast
負載測試(Load Test):負載測試是一種效能測試,指資料在超負荷環境中執行,程式是否能夠承擔。
關注點:how much
強度測試(Stress Test): 強度測試是一種效能測試,他在系統資源特別低的情況下軟體系統執行情況,目的是找到系統在哪裡失效以及如何失效的地方。包括
Spike testing:短時間的極端負載測試
Extreme testing:在過量使用者下的負載測試
Hammer testing:連續執行所有能做的操作
壓力測試的目的:
1) 發現影響系統性能的瓶頸
2) 評價系統性能
3) 對系統資源進行優化
4) 提高響應時間和吞吐量
執行壓力測試時的另一個任務就是監測系統資源,可以使用一些工具來監測並記錄資源使用情況。
監測的物件有:網路阻塞情況;主機CPU使用情況;記憶體使用情況;快取使用情況;資料庫系統中的資料鎖;回滾段;重做日誌緩衝區等。
監測的結果包括圖象與資料檔案,並且圖象可以實時顯示,也可以在壓力測試執行結束後分析。可以使用作業系統、資料庫系統軟體附帶的監測工具。
通過資源監測的結果很容易找到系統的瓶頸,並對產生瓶頸的資源進行調整、優化。
可能大家覺得效能測試、負載測試和強度測試比較混淆。沒錯,這三個概念是比較容易使人糊塗。負載測試和強度測試,都屬於效能測試的子集。下面舉個跑步的例子進行解釋。
效能測試,表示在一個給定的基準下,能執行的最好情況。例如,在沒有負重的情況下,你跑100米需要花多少時間(這邊,沒有負重是基準)?
負載測試,也是效能測試,但是他是在不同的負載下的。對於剛才那個例子,如果擴充套件為:在50公斤、100公斤……等情況下,你跑100米需要花多少時間?
強度測試,是在強度情況下的效能測試。對於剛才那個例子,如果改為:在一陣強風的情況下,你在負重或沒有負重的情況下,跑100米需要花多少時間?