1. 程式人生 > >效能測試的幾種方法

效能測試的幾種方法

 負載測試:負載測試是使用者觀點的測試行為。簡單說來就是負載測試就是讓系統在一定得負載壓力下進行正常的工作,觀察系統的表現能否滿足使用者的需求。

  使用者的需求從何而來?需求分析——特指效能測試的需求分析。由此看來需求分析是相當重要的。

  負載測試是站在使用者的角度去觀察在一定條件下軟體系統的效能表現。

  負載測試的預期結果是使用者的效能需求得到滿足。此指標一般體現為響應時間、交易容量、併發容量、資源使用率等。

  負載測試也是最常用的效能測試方法,因此也有不少人將負載測試混淆為效能測試。

  壓力測試:壓力測試的關鍵字就是“極端”。通過對系統的極端加壓,從而觀察系統的所表現出來效能問題。再對此效能問題進行分析,從而達到系統優化的目的。所以壓力測試就是一定要讓系統出問題,如果系統沒有出問題,那麼壓力測試的手段和方法就肯定存在問題。

  併發測試:驗證系統的併發能力。通過一定的併發量觀察系統在該併發量的情況下所表現出來的行為特徵,確定系統是否滿足設計的併發需要。併發測試是系統觀點的測試行為。

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

  穩定性測試:很簡單,長時間進行負載測試,從而觀察系統的穩定性。

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

  好吧,如果以上概念仍然過於“神乎其技”讓人如同滿文**過生日一般如墜雲裡霧裡,下面我將會以打比方的方式讓大家更好的理解上述內容。

↓↓↓↓↓↓

  《西遊記》中有一場景叫做:“豬八戒背媳婦”,下面我們就以這個來打比方向大家描述幾種效能測試方法的異同點。

  我們將豬八戒同志作為效能測試的被測試物件。

  負載測試:豬同志身上揹著的高小姐可以被視為加在“豬八戒人豬混合系統”上的負載。當然了,豬八戒身強體壯,背個高小姐應該是問題不大的。負載測試就 是讓豬八戒揹著高小姐走路(這裡的走路就是一定得系統行為,通常這種系統行為通過指令碼來進行模擬),我們觀察豬八戒的生理和心理指標是否存在異常從而斷定 “豬八戒人豬混合系統”的瓶頸所在。如果豬八戒揹著揹著腰痠背疼腿抽筋,那麼豬無能同志可能是缺鈣了,需要補鈣;如果他揹著揹著頭暈眼花四肢麻木,那麼豬 同志應該是脂肪肝、酒精肝三高患者的傑出代表,這就證明豬八戒需要減肥了。如果豬八戒揹著小媳婦身輕如燕、健步如飛,那麼我們可以判斷豬八戒同志是個好同 志,“豬八戒人豬混合系統”是個好系統。當然,這只是在沒有測試標準的衡量基礎上得到的結論,為了更進一步的測試“豬八戒人豬混合系統”,我們需要給這個 系統一些指標,這個指標舉例如下:揹著體重為45公斤的高小姐走上一段山路十八彎總長為10公里的羊腸小道,在此過程中豬八戒同志的平均時速不能低於 8km/h,其心跳不能快於60次/秒。好吧,再進行一次測試,我們發現在測試過程中豬八戒同志依然健步如飛,身輕如燕,但是其心跳卻高於60次/秒。於 是在豬八戒同志心跳高於60次/秒的那一刻,我們可以停止測試,幫豬八戒同志找出瓶頸,待此瓶頸問題被解決後,我們再對其進行測試。當然,如果豬八戒一背 上高小姐就顯得異常吃力,舉步維艱,那麼我們可以認為高小姐應該減肥了(負載過大),我們應該讓高小姐節食一段時間,體重達到正常標準後再進行測試。以上 就是負載測試的一個通俗例子。

  壓力測試:還是豬八戒同志背媳婦。我們發現他一次背一個媳婦異常輕鬆,於是乎我們必須加大負載,讓豬八戒在極端的情況下進行背媳婦活動。我們可以讓豬 八戒同志一次背10個媳婦,當然這並不符合一夫一妻制,因此我們選擇讓豬八戒同志來背孫悟空同學。孫同學是石頭裡蹦出來的,所以密度大,質量大,符合極端 負載的標準。

測試開始了,豬同志背上孫同學立即大汗淋漓、哭爹喊娘。好了,極端負載的條件達到。我們可以觀察豬八戒的表現以確定豬八戒同志全身最薄弱的部位了。 如果我們發現豬八戒同志腹部力量不足從而導致背孫同學極度吃力,那麼我們可以讓豬八戒去練腹肌,讓他的腹部力量得到增強。這樣我們也找到了系統的瓶頸,對 系統進行了優化。

  如果豬八戒背上孫悟空依然輕輕鬆鬆,神情自若,那麼我們可以猜測豬八戒背的孫同學不是孫悟空而是孫尚香。於是我們可以選擇更大的負載進行測試。

  壓力測試一定要測出來問題,否則我們有理由認為壓力負載過小,不符合測試要求。

  併發測試:主要是測試豬八戒一次能背幾個媳婦。如果“豬八戒人豬混合系統”的設計目標是“一次至少背上三到四個高小姐”的話,我們就有尺度來衡量豬八戒的表現是否達標。

  基準測試:如果豬八戒同志在被高小姐的時候沒有服用任何的違禁藥品,那麼我們可以將此次的測試結果作為一個基點,然後讓豬八戒同志喝點紅牛或者是學習 滿文**同學嗑點小藥,然後進行同樣的負載測試,檢視****或者是喝紅牛對豬八戒背高小姐這個行為是否產生了利弊影響。這裡的****可以值得是軟體更 換了一種新演算法,也可以理解系統更換了新的中介軟體。當然我們也可以不讓豬八戒同志背高小姐,而換成是讓孫悟空同學背高小姐,觀察這兩次測試的測試結果,從 而確定究竟那一種系統更能勝任“背高小姐”這個重任。

  穩定性測試:讓豬八戒背高小姐背上七七四十九天,觀察豬同學的表現。若“豬八戒人豬混合系統”的設計要求為至少能連續背高小姐走上49天,而實際豬八戒只走了36天的話,我們可以認為“豬八戒人豬混合系統”不達標,需要優化。

  可恢復性測試:先讓豬八戒背孫悟空同志走上半天,此時豬八戒已經累得接近崩潰,然後再讓豬八戒背上高小姐,檢視豬八戒是否能從疲勞中恢復,從而擔當起背高小姐的重任。