1. 程式人生 > >常見效能測試的方法有哪些?舉例解釋一下?

常見效能測試的方法有哪些?舉例解釋一下?

常見效能測試的方法有哪些?舉例解釋一下?

1.負載測試

在這裡,負載測試指的是最常見的驗證一般效能需求而進行的效能測試,在上面我們提到了使用者最常見的效能需求就是“既要馬兒跑,又要馬兒少吃草” 。因此負載測試主要是考察軟體系統在既定負載下的效能表現。
我們對負載測試可以有如下理解:
(1)負載測試是站在使用者的角度去觀察在一定條件下軟體系統的效能表現。
(2)負載測試的預期結果是使用者的效能需求得到滿足。此指標一般體現為響應時間、交易容量、併發容
量、資源使用率等。

2.壓力測試

壓力測試是為了考察系統在**條件下的表現,條件可以是超負荷的交易量和併發使用者數。注意,這個

條件並不一定是使用者的效能需求,可能要遠遠高於使用者的效能需求。可以這樣理解,壓力測試和負載測試不同的是,壓力測試的預期結果就是系統出現問題,而我們要考察的是系統處理問題的方式。比如說,我們期待一個系統在面臨壓力的情況下能夠保持穩定,處理速度可以變慢,但不能系統崩潰。因此,壓力測試是能讓我們識別系統的弱點和在極限負載下程式將如何執行。
例子:負載測試關心的是使用者規則和需求,壓力測試關心的是軟體系統本身。

3.併發測試

驗證系統的併發處理能力。一般是和伺服器端建立大量的併發連線,通過客戶端的響應時間和伺服器端的效能監測情況來判斷系統是否達到了既定的併發能力指標。負載測試往往就會使用併發來創造負載,之所以把併發測試單獨提出來,是因為併發測試往往涉及伺服器的併發容量,以及多程序/多執行緒協調同步可能帶來的問題。這是要特別注意,必須測試的。

4.基準測試

當軟體系統中增加一個新的模組的時候,需要做基準測試,以判斷新模組對整個軟體系統的效能影響。
按照基準測試的方法,需要開啟/關閉新模組至少各做一次測試。關閉模組之前的系統各個效能指標記下來作為基準(Benchmark),然後與開啟模組狀態下的系統性能指標作比較,以判斷模組對系統性能的影響。

5.穩定性測試

“路遙知馬力” ,在這裡我們要說的是和效能測試有關的穩定性測試,即測試系統在一定負載下執行長時間後是否會發生問題。軟體系統的有些問題是不能一下子就暴露出來的,或者說是需要時間積累才能達到能夠
度量的程度。為什麼會需要這樣的測試呢?因為有些軟體的問題只有在執行一天或一個星期甚至更長的時間才會暴露。這種問題一般是程式佔用資源卻不能及時釋放而引起的。比如,記憶體洩漏問題就是經過一段時間積累才會慢慢變得顯著,在執行初期卻很難檢測出來;還有客戶端和伺服器在負載執行一段時間後,建立了大量的連線通路,卻不能有效地複用或及時釋放。

6.可恢復測試

測試系統能否快速地從錯誤狀態中恢復到正常狀態。比如,在一個配有負載均衡的系統中,主機承受了
壓力無法正常工作後,備份機是否能夠快速地接管負載。可恢復測試通常結合壓力測試一起來做。