淺談性能測(cè)試
負(fù)載測(cè)試(Load Test)
負(fù)載測(cè)試是一種性能測(cè)試,指數(shù)據(jù)在超負(fù)荷環(huán)境中運(yùn)行,程序是否能夠承擔(dān)。通過(guò)逐步增加系統(tǒng)負(fù)載,確定在滿足性能指標(biāo)的情況下,系統(tǒng)所能承受的最大負(fù)載量。
很久沒有做接手項(xiàng)目性能方面的測(cè)試,感覺陌生了許多,由于這次一個(gè)簡(jiǎn)單的web頁(yè)面的壓力測(cè)試,突然覺得知識(shí)的積累不夠深刻,不能學(xué)著學(xué)著就丟了,如何積累成為自己的才是最重要的,凡是最后忘記的了那只能說(shuō)明還是認(rèn)識(shí)和學(xué)習(xí)不深刻。性能測(cè)試一直都是測(cè)試行業(yè)的一個(gè)難點(diǎn),更是重點(diǎn),可能我們都想做好它,但是不見得都有信心做好它,性能測(cè)試是一個(gè)帶著諸多非常不確定因素進(jìn)行的,因?yàn)闆]有標(biāo)準(zhǔn)答案,只能靠綜合技術(shù)能力來(lái)分析,當(dāng)然經(jīng)驗(yàn)是最重要的,所以就需要不斷去探索、積累,甚至于周圍的同事進(jìn)行討論,吸取多方的經(jīng)驗(yàn)。
關(guān)于性能,我想大多數(shù)人對(duì)這個(gè)三個(gè)概念都很模糊,感覺都差不多。網(wǎng)上相關(guān)的說(shuō)明確實(shí)很多,不過(guò)看完之后很容易忘記,而且真正做項(xiàng)目測(cè)試的時(shí)候還是分不清楚,這就是所謂不確定性。所以我想通過(guò)動(dòng)手記錄的方式來(lái)加深印象,至少還是需要深入理解才行。性能測(cè)試、壓力測(cè)試和負(fù)載測(cè)試是我們最常接觸的測(cè)試,關(guān)于這三種測(cè)試先來(lái)看看一個(gè)有趣的故事,可以幫助我們直觀地去理解,故事描述得很形象,具體如下:
有一個(gè)農(nóng)夫決定買一匹騾子,他認(rèn)為這個(gè)騾子至少 得能扛動(dòng)3袋大米,他才會(huì)決定買這匹騾子(這相當(dāng)于用戶提出的性能需求)。結(jié)果他來(lái)到農(nóng)貿(mào)集市上,試了好幾頭騾子,都不合適,最后終于有一頭騾子能夠比較輕松的扛動(dòng)這3袋大米,而且還瀟灑的走了幾步(這相當(dāng)于于性能測(cè)試通過(guò))。 然后農(nóng)夫高高興興地牽著這頭騾子回家,而且給它扛了4袋大米(相當(dāng)于讓系統(tǒng)超負(fù)荷運(yùn)行),因?yàn)樗芰颂h(yuǎn)才買到了這匹不可多得的騾子,他想看看它到底能有多強(qiáng),所以農(nóng)夫決定, 讓這匹騾子就扛著這四袋大米走回家試試看,這匹騾子真的很厲害,剛開始的時(shí)候還一顛一跑的,可是后來(lái)實(shí)在路太遠(yuǎn)了,騾子越馱越費(fèi)勁(在超負(fù)荷情況下檢驗(yàn)系 統(tǒng)能正常運(yùn)行多久,這相當(dāng)于壓力測(cè)試),快到家的時(shí)候,已經(jīng)是走兩步歇一步了。終于到家了, 農(nóng)夫非常自豪地叫出自己的老婆,說(shuō):”老婆子,快來(lái)看看,看我買到了一頭多么厲害的騾子啊!”,老婆來(lái)后,農(nóng)夫把他和騾子在一路上的經(jīng)歷都告訴了老太 婆,誰(shuí)知這個(gè)老太婆卻說(shuō):”你真蠢,這么大老遠(yuǎn)的路,也不讓騾子馱著你,竟然和這頭傻騾子一樣走回來(lái)!”,農(nóng)夫聽了,覺得非常后悔,說(shuō):”那好吧,既然在 路上它沒有馱我,那就讓它現(xiàn)在補(bǔ)上,也算是對(duì)我的補(bǔ)償。”,騾子還沒有反應(yīng)過(guò)來(lái),就看那老農(nóng)夫一個(gè)箭步,跳到了騾子背上(這相當(dāng)于容量測(cè)試的極限點(diǎn)),可憐的騾子,無(wú)論如何也不會(huì)想到,這狠心的農(nóng)夫竟然在它走了這么久之后,不但沒有幫 它卸掉身上的重?fù)?dān),更沒有給它喝口水,竟然變本加厲的跳到了它那本已彎曲的背上。可憐的騾子啊,就這么一命嗚乎了!就看見那個(gè)騾子、農(nóng)夫和4袋麥子一起轟然倒地。(相當(dāng)于已經(jīng)到了系統(tǒng)的最大拐點(diǎn),造成了系統(tǒng)癱瘓,無(wú)法使用,容量測(cè)試結(jié)束)。
性能測(cè)試(Performance Test)
通常收集所有和測(cè)試有關(guān)的所有性能,通常被不同人在不同場(chǎng)合下進(jìn)行使用。測(cè)試軟件在系統(tǒng)中的運(yùn)行性能,度量系統(tǒng)與預(yù)定義目標(biāo)的差距。
關(guān)注點(diǎn):how much和how fast
負(fù)載測(cè)試(Load Test):負(fù)載測(cè)試是一種性能測(cè)試,指數(shù)據(jù)在超負(fù)荷環(huán)境中運(yùn)行,程序是否能夠承擔(dān)。通過(guò)逐步增加系統(tǒng)負(fù)載,確定在滿足性能指標(biāo)的情況下,系統(tǒng)所能承受的最大負(fù)載量。
關(guān)注點(diǎn):how much
壓力測(cè)試(Stress Test):壓力測(cè)試是一種高負(fù)載下的負(fù)載測(cè)試,也就是說(shuō)被系統(tǒng)處于一個(gè)負(fù)載的情況,再繼續(xù)對(duì)他進(jìn)行加壓,形成雙重負(fù)載,知道系統(tǒng)崩潰,并關(guān)注崩潰后系統(tǒng)的恢復(fù)能力,以前再加壓的一個(gè)過(guò)程,看看系統(tǒng)到底是否已經(jīng)被徹底破壞掉了。
有個(gè)很形象的說(shuō)法就是:你能夠承擔(dān)100千克的重量,而且也能走,但是你能否承擔(dān)100千克的重量行走1個(gè)月。
我覺得有一句話描述的很好:外部的負(fù)載叫壓力,內(nèi)部的壓力叫負(fù)載。負(fù)載注重關(guān)注內(nèi)部的以及系統(tǒng)自身一些情況;而壓力更關(guān)注系統(tǒng)外部的表象。
posted on 2013-11-21 11:51 順其自然EVO 閱讀(228) 評(píng)論(0) 編輯 收藏 所屬分類: 性能測(cè)試