《西遊記》中有一場景叫做:「豬八戒背媳婦」,下面我們就以這個來打比方向大家描述幾種效能測試方法的異同點。
我們將豬八戒同志作為效能測試的被測試物件。
負載測試:豬同志身上揹著的高小姐可以被視為加在「豬八戒人豬混合系統」上的負載。當然了,豬八戒身強體壯,背個高小姐應該是問題不大的。負載測試就 是讓豬八戒揹著高小姐走路(這裡的走路就是一定得系統行為,通常這種系統行為通過指令碼來進行模擬),我們觀察豬八戒的生理和心理指標是否存在異常從而斷定 「豬八戒人豬混合系統」的瓶頸所在。如果豬八戒揹著揹著腰痠背疼腿抽筋,那麼豬無能同志可能是缺鈣了,需要補鈣;如果他揹著揹著頭暈眼花四肢麻木,那麼豬 同志應該是脂肪肝、酒精肝三高患者的傑出代表,這就證明豬八戒需要**了。如果豬八戒揹著小媳婦身輕如燕、健步如飛,那麼我們可以判斷豬八戒同志是個好同 志,「豬八戒人豬混合系統」是個好系統。當然,這只是在沒有測試標準的衡量基礎上得到的結論,為了更進一步的測試「豬八戒人豬混合系統」,我們需要給這個 系統一些指標,這個指標舉例如下:揹著體重為45公斤的高小姐走上一段山路十八彎總長為10公里的羊腸小道,在此過程中豬八戒同志的平均時速不能低於 8km/h,其心跳不能快於60次/秒。好吧,再進行一次測試,我們發現在測試過程中豬八戒同志依然健步如飛,身輕如燕,但是其心跳卻高於60次/秒。於 是在豬八戒同志心跳高於60次/秒的那一刻,我們可以停止測試,幫豬八戒同志找出瓶頸,待此瓶頸問題被解決後,我們再對其進行測試。當然,如果豬八戒一背 上高小姐就顯得異常吃力,舉步維艱,那麼我們可以認為高小姐應該**了(負載過大),我們應該讓高小姐節食一段時間,體重達到正常標準後再進行測試。以上 就是負載測試的乙個通俗例子。
壓力測試:還是豬八戒同志背媳婦。我們發現他一次背乙個媳婦異常輕鬆,於是乎我們必須加大負載,讓豬八戒在極端的情況下進行背媳婦活動。我們可以讓豬 八戒同志一次背10個媳婦,當然這並不符合一夫一妻制,因此我們選擇讓豬八戒同志來背孫悟空同學。孫同學是石頭裡蹦出來的,所以密度大,質量大,符合極端 負載的標準。
測試開始了,豬同志背上孫同學立即大汗淋漓、哭爹喊娘。好了,極端負載的條件達到。我們可以觀察豬八戒的表現以確定豬八戒同志全身最薄弱的部位了。 如果我們發現豬八戒同志腹部力量不足從而導致背孫同學極度吃力,那麼我們可以讓豬八戒去練腹肌,讓他的腹部力量得到增強。這樣我們也找到了系統的瓶頸,對 系統進行了優化。
如果豬八戒背上孫悟空依然輕輕鬆鬆,神情自若,那麼我們可以猜測豬八戒背的孫同學不是孫悟空而是孫尚香。於是我們可以選擇更大的負載進行測試。
壓力測試一定要測出來問題,否則我們有理由認為壓力負載過小,不符合測試要求。
併發測試:主要是測試豬八戒一次能背幾個媳婦。如果「豬八戒人豬混合系統」的設計目標是「一次至少背上三到四個高小姐」的話,我們就有尺度來衡量豬八戒的表現是否達標。
基準測試:如果豬八戒同志在被高小姐的時候沒有服用任何的違禁藥品,那麼我們可以將此次的測試結果作為乙個基點,然後讓豬八戒同志喝點紅牛或者是嗑點小藥,然後進行同樣的負載測試,檢視藥物或者是喝紅牛對豬八戒背高小姐這個行為是否產生了利弊影響。這裡的喝紅牛可以指的是軟體更 換了一種新演算法,也可以理解系統更換了新的中介軟體。當然我們也可以不讓豬八戒同志背高小姐,而換成是讓孫悟空同學背高小姐,觀察這兩次測試的測試結果,從 而確定究竟那一種系統更能勝任「背高小姐」這個重任。
穩定性測試:讓豬八戒背高小姐背上七七四十九天,觀察豬同學的表現。若「豬八戒人豬混合系統」的設計要求為至少能連續背高小姐走上49天,而實際豬八戒只走了36天的話,我們可以認為「豬八戒人豬混合系統」不達標,需要優化。
可恢復性測試:先讓豬八戒背孫悟空同志走上半天,此時豬八戒已經累得接近崩潰,然後再讓豬八戒背上高小姐,檢視豬八戒是否能從疲勞中恢復,從而擔當起背高小姐的重任。
sprintf舉例說明
最近需要把圖形的座標轉換為字元來檢驗圖形座標的正確與否,所以較多的用到了sprintf 函式。例如 int sign 100 char s1 10 sprintf s1,d sign pdc textout 0,0,s1 這裡就把sprintf 函式的用法總結一下。int sprintf char ...
python argparse舉例說明
目的 想從命令列通過命令來指定是否執行程式中的某個函式 模組 更新關於另乙個例子 這裡只舉例說明 原因是看了很多博文之後,還是沒有解決筆者上面說的那個問題,即如何從命令列決定是否執行某段函式問題 設定乙個引數,名為foreground,簡寫f 即在終端可以輸入 foreground也可以輸入 f。跟...
c 引用 舉例說明
簡介 引用就是某一變數 目標 的乙個別名,對引用的操作與對變數直接操作完全一樣。c 11中新增了 右值引用 我們這裡所說的引用通常指 左值引用 例 int a 10 int rea a rea指向a,是a的另乙個名字 int rerea 錯誤 引用必須被初始化輸出a 和 rea 都是10。需要注意定...