性能測試就是豬八戒背媳婦

發表于:2013-05-17來源:博客園作者:qileilove點擊數: 標簽:性能測試
自己給公司同事寫的一點入門小知識,希望對新同行有些幫助。 上次性能測試培訓后,不少同事反饋性能測試的一些基本概念還是難以理解,所以我在這里把那些看起來比較虛無縹緲的概念實例化生活化一下,一來僅供大家參考,二來當做自己的一個簡單總結。

  自己給公司同事寫的一點入門小知識,希望對新同行有些幫助。

  上次性能測試培訓后,不少同事反饋性能測試的一些基本概念還是難以理解,所以我在這里把那些看起來比較虛無縹緲的概念實例化生活化一下,一來僅供大家參考,二來當做自己的一個簡單總結。

  ● 什么是性能測試?

  性能測試可以用資本家模型來描述。資本家自然是希望工人們多干活少拿工資,同樣性能測試也是要求系統多干活少損耗。又要馬兒跑得快又想馬兒少吃草。

  不少前輩總結過,性能測試是在時間和空間上尋找最佳結合點。馬兒跑得快是指時間,不吃草是指空間。性能測試則是尋找時間和空間之間的一個平衡點。

  上述為最樸素和廣義的性能測試。

  ● 性能測試的觀點

  性能測試有如下幾個觀點可以進行關注:

  用戶的觀點:用戶的觀點很簡單,系統快而穩定!所以如果從用戶觀點進行性能測試的話,那么性能測試的最終效果表現為提高用戶體驗。大部分門戶網站的性能測試就是從用戶的觀點來編寫測試用例和腳本的。

  系統的觀點:系統觀點也不難。在已有得性能硬件軟件條件下,進行系統測試從而獲取系統的短板,短板可能是硬件瓶頸,也可能是軟件的缺陷。系統觀點的最終測試效果表現為優化系統軟硬件,消除系統的顯式瓶頸。

  開發的觀點:開發的觀點與系統觀點差不多,但是開發觀點對軟件關注得更為投入。以開發觀點進行性能測試,則性能測試的介入時間會比以上兩種觀點都要來得早。比如系統數據庫設計完畢之后,就可以立即利用性能測試來測試數據庫設計上的瓶頸,而不像上述兩種測試觀點一樣,必須系統功能測試穩定之后方可進行。

  綜上所述,從用戶的觀點去進行性能測試是滿足用戶需求的最好手段;而從系統角度去進行性能測試則可以確定系統的性能指標。而從開發的觀點去進行性能測試則對開發過程很有幫助,也會降低后續出現性能瓶頸的風險。

  ● 性能測試的幾種常見方法

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

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

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

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

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

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

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

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

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

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

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

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

  我們將豬八戒同志作為性能測試的被測試對象。

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

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

原文轉自:http://www.blogjava.net/qileilove/archive/2013/05/03/398722.html

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97