很久沒有做接手項目性能方面的測試,感覺陌生了許多,由于這次一個簡單的web頁面的壓力測試,突然覺得知識的積累不夠深刻,不能學着學着就丢了,如何積累成為自己的才是最重要的,凡是最後忘記的了那隻能說明還是認識和學習不深刻。性能測試一直都是測試行業的一個難點,更是重點,可能我們都想做好它,但是不見得都有信心做好它,性能測試是一個帶着諸多非常不确定因素進行的,因為沒有标準答案,隻能靠綜合技術能力來分析,當然經驗是最重要的,是以就需要不斷去探索、積累,甚至于周圍的同僚進行讨論,吸取多方的經驗。
關于性能,我想大多數人對這個三個概念都很模糊,感覺都差不多。網上相關的說明确實很多,不過看完之後很容易忘記,而且真正做項目測試的時候還是分不清楚,這就是所謂不确定性。是以我想通過動手記錄的方式來加深印象,至少還是需要深入了解才行。性能測試、壓力測試和負載測試是我們最常接觸的測試,關于這三種測試先來看看一個有趣的故事,可以幫助我們直覺地去了解,故事描述得很形象,具體如下:
有一個農夫決定買一匹騾子,他認為這個騾子至少 得能扛動3袋大米,他才會決定買這匹騾子(這相當于使用者提出的性能需求)。結果他來到農貿集市上,試了好幾頭騾子,都不合适,最後終于有一頭騾子能夠比較輕松的扛動這3袋大米,而且還潇灑的走了幾步(這相當于于性能測試通過)。 然後農夫高高興興地牽着這頭騾子回家,而且給它扛了4袋大米(相當于讓系統超負荷運作),因為他跑了太遠才買到了這匹不可多得的騾子,他想看看它到底能有多強,是以農夫決定, 讓這匹騾子就扛着這四袋大米走回家試試看,這匹騾子真的很厲害,剛開始的時候還一颠一跑的,可是後來實在路太遠了,騾子越馱越費勁(在超負荷情況下檢驗系 統能正常運作多久,這相當于壓力測試),快到家的時候,已經是走兩步歇一步了。終于到家了, 農夫非常自豪地叫出自己的老婆,說:“老婆子,快來看看,看我買到了一頭多麼厲害的騾子啊!”,老婆出來後,農夫把他和騾子在一路上的經曆都告訴了老太 婆,誰知這個老太婆卻說:“你真蠢,這麼大老遠的路,也不讓騾子馱着你,竟然和這頭傻騾子一樣走回來!”,農夫聽了,覺得非常後悔,說:“那好吧,既然在 路上它沒有馱我,那就讓它現在補上,也算是對我的補償。”,騾子還沒有反應過來,就看那老農夫一個箭步,跳到了騾子背上(這相當于容量測試的極限點),可憐的騾子,無論如何也不會想到,這狠心的農夫竟然在它走了這麼久之後,不但沒有幫 它卸掉身上的重擔,更沒有給它喝口水,竟然變本加厲的跳到了它那本已彎曲的背上。可憐的騾子啊,就這麼一命嗚乎了!就看見那個騾子、農夫和4袋麥子一起轟然倒地。(相當于已經到了系統的最大拐點,造成了系統癱瘓,無法使用,容量測試結束)。
性能測試(Performance Test):通常收集所有和測試有關的所有性能,通常被不同人在不同場合下進行使用。測試軟體在系統中的運作性能,度量系統與預定義目标的差距。
關注點:how much和how fast
負載測試(Load Test):負載測試是一種性能測試,指資料在超負荷環境中運作,程式是否能夠承擔。通過逐漸增加系統負載,确定在滿足性能名額的情況下,系統所能承受的最大負載量。
關注點:how much
壓力測試(Stress Test):壓力測試是一種高負載下的負載測試,也就是說被系統處于一個負載的情況,再繼續對他進行加壓,形成雙重負載,知道系統崩潰,并關注崩潰後系統的恢複能力,以前再加壓的一個過程,看看系統到底是否已經被徹底破壞掉了。
有個很形象的說法就是:你能夠承擔100千克的重量,而且也能走,但是你能否承擔100千克的重量行走1個月。
我覺得有一句話描述的很好:外部的負載叫壓力,内部的壓力叫負載。負載注重關注内部的以及系統自身一些情況;而壓力更關注系統外部的表象.
本文轉自一米一陽光部落格園部落格,原文連結: http://www.cnblogs.com/candle806/archive/2010/12/08/1900249.html ,如需轉載請自行聯系原作者