天天看點

性能測試方法

  性能測試、壓力測試和負載測試是教科書式的測試方法.

        本博文隻對理論知識做原理講解,不涉及實踐細節.

  性能測試(Performance Test):通常收集所有和測試有關的所有性能,通常被不同人在不同場合下進行使用。測試軟體在系統中的運作性能,度量系統與預定義目标的差距。

  關注點:承載能力 和 系統響應速度

  負載測試(Load Test):負載測試是一種性能測試,指資料在超負荷環境中運作,程式是否能夠承擔。通過逐漸增加系統負載,确定在滿足性能名額的情況下,系統所能承受的最大負載量。

  關注點:最大承載力

  壓力測試(Stress Test):壓力測試是一種高負載下的負載測試,也就是說被系統處于一個負載的情況,再繼續對他進行加壓,形成雙重負載,直至系統崩潰,并關注崩潰後系統的恢複能力,以前再加壓的一個過程,看看系統到底是否已經被徹底破壞掉了。

       外部的負載叫壓力,内部的壓力叫負載。負載注重關注内部的以及系統自身一些情況;而壓力更關注系統外部的表象.

      下面舉兩個例子加深印象:

      一号例子:

        開學了,老師需要挑選一名班長來幫她管理50名學生,班長主要任務是每次上課前在30秒内完成對所有學生的考勤稽核工作.(結合性能測試綱要,第一步,我們收集了客戶的性能需求,分析出主要業務邏輯是課前點名工作,性能測試通過名額是30秒内完成50名學生的點名工作,根據以上情報轉化為點名業務場景.)

       有三名候選人,老師測驗了他們點名的能力,最後,三名都在30秒内完成50名學生的點名(性能測試通過),但是老師隻能保留一名候選人做班長,于是她開始思考怎麼增加難度(設計測試),他想出兩個方案,決定用兩個方案的綜合得分來衡量三名候選人.

       1号方案:增加規定時間内的點名人數(增加基礎資料量--内部壓力,負載測試),于是,老師不斷增加他們在30秒内點名的人數,直到兩名候選人被淘汰.

      2号方案:縮減規定人數的點名時間(增加機關時間内的外部壓力,壓力測試),于是,老師不斷縮減他們完成50人點名的時間,直到兩名候選人被淘汰.

      老師終于獲得了強悍的班長(測試完畢).

      此時,她邪惡的念頭又誕生了,再繼續縮減時間會怎樣?再繼續增加點名人數會怎樣?于是乎,你們懂的,可憐的班長終于在老師淩厲的攻勢下跪了.(相當于已經到了系統的最大拐點,造成了系統癱瘓,無法使用,容量測試結束)。

      二号例子: