qileilove

          blog已經轉移至github,大家請訪問 http://qaseven.github.io/

          軟件測試之性能測試淺談

          性能測試種類的劃分與定義這里就不說了,各有各的說法,比如性能測試、負載測試、壓力測試這三個詞,在網上能找到N個版本的定義,大體理解就行了,沒必要在文字層面上較這個真。以下的內容也只是我個人的理解,一些名詞的定義可能和其他資料有所不同,但在我的工作中,這樣是比較形象和容易理解的。

            性能測試的目的,簡單說其實就是為了獲取待測系統(tǒng)的響應時間、吞吐量、穩(wěn)定性、容量等信息。而發(fā)現(xiàn)一些具體的性能相關的缺陷(如內存溢出、并發(fā)處理等問題),我認為只是一種附加結果。從更高的層次來說,性能測試最想發(fā)現(xiàn)的,是瓶頸。

            在實際工作,一般的應用系統(tǒng)會從這么幾個方面進行性能測試。

            1、基準測試

            Benchmark或者Baseline測試。一般為單用戶測試,或者是零數(shù)據量環(huán)境下的測試。目的在于建立一個可度量的參考標準,為其他測試場景或者調優(yōu)過程提供對比參考。也可認為是最基礎的性能測試,如果基準測試的結果都不能達到預期要求,那么后續(xù)場景也就沒必要測試了。

            2、日常壓力測試

            在基準測試通過后,應該先進行較小壓力下的測試,首先對系統(tǒng)在日常壓力下的表現(xiàn)進行測試。此壓力需要根據系統(tǒng)使用相關數(shù)據得出,如系統(tǒng)平均每天訪問量、平均在線人數(shù)、每日完成事務數(shù)等。通過此測試,發(fā)現(xiàn)一些較表面的性能問題并進行處理。

            3、峰值壓力測試

            在日常壓力測試通過后,需要進行更大壓力的測試。此處壓力同樣需要相關數(shù)據的支持,一般為未來幾年后的預期壓力。可根據歷史日均壓力、日最高壓力等信息,估算出未來幾年的日均以及日最高壓力。再通過一些通用估算方法、如二八原則(80%的工作在20%時間內完成,相當于2小時完成一天8小時的工作量),將日壓力轉換成峰值壓力。

            峰值壓力為可預期到的最大負載壓力,通過了此測試,則認為系統(tǒng)有能力滿足未來增長的壓力。

            4、容量測試

            驗證了系統(tǒng)是否可滿足預期的壓力后,還需要知道系統(tǒng)能夠承受的最大壓力,也就是容量。一般通過“拐點法”進行測試,逐步增大系統(tǒng)的壓力,直到性能指標不可接受或者出現(xiàn)了明顯的拐點。如圖:

            5、穩(wěn)定性測試

            驗證系統(tǒng)是否可長期穩(wěn)定的運行,是否存在一些短時間內可能無法發(fā)現(xiàn)的缺陷(如內存溢出、數(shù)據庫連接不釋放等)。為了縮短測試工期,一般可將預期一天的壓力集中在2小時內完成(二八原則),這樣持續(xù)加壓10小時,便相當于系統(tǒng)運行5天。注意監(jiān)控各種性能指標是否平穩(wěn),有無下降。

            以上幾種類型的測試,是性能測試過程中最多用到的。當然也也其他一些比較常用的類型,如絕對并發(fā)測試,測試多用戶對某一功能的瞬時請求,主要用于驗證系統(tǒng)是否存在并發(fā)邏輯上的處理問題。此測試也可劃分到不同的壓力測試場景中去,根據不同的用戶壓力,測試相應的絕對并發(fā),一般取在線用戶數(shù)的10%進行測試;突發(fā)壓力測試,對一些不在預期內的突然壓力進行測試(其實既然想到了,就應該是在預期內了)。以銀行門戶網站為例,可能會由于發(fā)布了一條重要消息(政策調整)而導致訪問量激增,這種壓力是否會導致系統(tǒng)宕機或者暫時無法提供服務,就是突發(fā)壓力測試需要考慮的了。也有人將此壓力定義為峰值壓力,這就無所謂了,只要考慮到會有這么一個問題就夠了。

          posted on 2013-01-05 13:36 順其自然EVO 閱讀(266) 評論(0)  編輯  收藏 所屬分類: 性能測試

          <2013年1月>
          303112345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          導航

          統(tǒng)計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 静安区| 漳平市| 武邑县| 汨罗市| 原阳县| 西昌市| 霍林郭勒市| 丹棱县| 抚顺县| 桐乡市| 衡山县| 普安县| 楚雄市| 辽阳市| 龙泉市| 安国市| 南汇区| 新闻| 离岛区| 将乐县| 中牟县| 锡林浩特市| 儋州市| 嘉兴市| 敦煌市| 岑巩县| 禹州市| 永寿县| 张家界市| 天台县| 金堂县| 陵川县| 通山县| 富蕴县| 遂平县| 凌云县| 康马县| 托克托县| 广昌县| 漳浦县| 三明市|