新聞中心

EEPW首頁(yè) > 測(cè)試測(cè)量 > 設(shè)計(jì)應(yīng)用 > 什么是性能測(cè)試,就是豬八戒背媳婦?

什么是性能測(cè)試,就是豬八戒背媳婦?

作者: 時(shí)間:2016-12-23 來(lái)源:網(wǎng)絡(luò) 收藏
性能測(cè)試可以用資本家模型來(lái)描述。資本家自然是希望工人們多干活少拿工資,同樣性能測(cè)試也是要求系統(tǒng)多干活少損耗。又要馬兒跑得快又想馬兒少吃草。

不少前輩總結(jié)過(guò),性能測(cè)試是在時(shí)間和空間上尋找最佳結(jié)合點(diǎn)。馬兒跑得快是指時(shí)間,不吃草是指空間。性能測(cè)試則是尋找時(shí)間和空間之間的一個(gè)平衡點(diǎn)。

本文引用地址:http://butianyuan.cn/article/201612/333327.htm

上述為最樸素和廣義的性能測(cè)試。

性能測(cè)試的觀點(diǎn)

性能測(cè)試有如下幾個(gè)觀點(diǎn)可以進(jìn)行關(guān)注:

用戶的觀點(diǎn):用戶的觀點(diǎn)很簡(jiǎn)單,系統(tǒng)快而穩(wěn)定!所以如果從用戶觀點(diǎn)進(jìn)行性能測(cè)試的話,那么性能測(cè)試的最終效果表現(xiàn)為提高用戶體驗(yàn)。大部分門戶網(wǎng)站的性能測(cè)試就是從用戶的觀點(diǎn)來(lái)編寫測(cè)試用例和腳本的。

系統(tǒng)的觀點(diǎn):系統(tǒng)觀點(diǎn)也不難。在已有得性能硬件軟件條件下,進(jìn)行系統(tǒng)測(cè)試從而獲取系統(tǒng)的短板,短板可能是硬件瓶頸,也可能是軟件的缺陷。系統(tǒng)觀點(diǎn)的最終測(cè)試效果表現(xiàn)為優(yōu)化系統(tǒng)軟硬件,消除系統(tǒng)的顯式瓶頸。

開(kāi)發(fā)的觀點(diǎn):開(kāi)發(fā)的觀點(diǎn)與系統(tǒng)觀點(diǎn)差不多,但是開(kāi)發(fā)觀點(diǎn)對(duì)軟件關(guān)注得更為投入。以開(kāi)發(fā)觀點(diǎn)進(jìn)行性能測(cè)試,則性能測(cè)試的介入時(shí)間會(huì)比以上兩種觀點(diǎn)都要來(lái)得早。比如系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)完畢之后,就可以立即利用性能測(cè)試來(lái)測(cè)試數(shù)據(jù)庫(kù)設(shè)計(jì)上的瓶頸,而不像上述兩種測(cè)試觀點(diǎn)一樣,必須系統(tǒng)功能測(cè)試穩(wěn)定之后方可進(jìn)行。

綜上所述,從用戶的觀點(diǎn)去進(jìn)行性能測(cè)試是滿足用戶需求的最好手段;而從系統(tǒng)角度去進(jìn)行性能測(cè)試則可以確定系統(tǒng)的性能指標(biāo)。而從開(kāi)發(fā)的觀點(diǎn)去進(jìn)行性能測(cè)試則對(duì)開(kāi)發(fā)過(guò)程很有幫助,也會(huì)降低后續(xù)出現(xiàn)性能瓶頸的風(fēng)險(xiǎn)。

性能測(cè)試的幾種常見(jiàn)方法

負(fù)載測(cè)試:負(fù)載測(cè)試是用戶觀點(diǎn)的測(cè)試行為。簡(jiǎn)單說(shuō)來(lái)就是負(fù)載測(cè)試就是讓系統(tǒng)在一定得負(fù)載壓力下進(jìn)行正常的工作,觀察系統(tǒng)的表現(xiàn)能否滿足用戶的需求。

用戶的需求從何而來(lái)?需求分析——特指性能測(cè)試的需求分析。由此看來(lái)需求分析是相當(dāng)重要的。

負(fù)載測(cè)試是站在用戶的角度去觀察在一定條件下軟件系統(tǒng)的性能表現(xiàn)。

負(fù)載測(cè)試的預(yù)期結(jié)果是用戶的性能需求得到滿足。此指標(biāo)一般體現(xiàn)為響應(yīng)時(shí)間、交易容量、并發(fā)容量、資源使用率等。

負(fù)載測(cè)試也是最常用的性能測(cè)試方法,因此也有不少人將負(fù)載測(cè)試混淆為性能測(cè)試。

壓力測(cè)試:壓力測(cè)試的關(guān)鍵字就是“極端”。通過(guò)對(duì)系統(tǒng)的極端加壓,從而觀察系統(tǒng)的所表現(xiàn)出來(lái)性能問(wèn)題。再對(duì)此性能問(wèn)題進(jìn)行分析,從而達(dá)到系統(tǒng)優(yōu)化的目的。所以壓力測(cè)試就是一定要讓系統(tǒng)出問(wèn)題,如果系統(tǒng)沒(méi)有出問(wèn)題,那么壓力測(cè)試的手段和方法就肯定存在問(wèn)題。

并發(fā)測(cè)試:驗(yàn)證系統(tǒng)的并發(fā)能力。通過(guò)一定的并發(fā)量觀察系統(tǒng)在該并發(fā)量的情況下所表現(xiàn)出來(lái)的行為特征,確定系統(tǒng)是否滿足設(shè)計(jì)的并發(fā)需要。并發(fā)測(cè)試是系統(tǒng)觀點(diǎn)的測(cè)試行為。

基準(zhǔn)測(cè)試:顧名思義,基準(zhǔn)測(cè)試要有一個(gè)基準(zhǔn)點(diǎn),也就是說(shuō)供比較基點(diǎn)。當(dāng)軟件系統(tǒng)中增加一個(gè)新的模塊的時(shí)候,需要做基準(zhǔn)測(cè)試,以判斷新模塊對(duì)整個(gè)軟件系統(tǒng)的性能影響。按照基準(zhǔn)測(cè)試的方法,需要打開(kāi)/關(guān)閉新模塊至少各做一次測(cè)試。關(guān)閉模塊之前的系統(tǒng)各個(gè)性能指標(biāo)記下來(lái)作為基準(zhǔn)(Benchmark),然后與打開(kāi)模塊狀態(tài)下的系統(tǒng)性能指標(biāo)作比較,以判斷模塊對(duì)系統(tǒng)性能的影響。

穩(wěn)定性測(cè)試:很簡(jiǎn)單,長(zhǎng)時(shí)間進(jìn)行負(fù)載測(cè)試,從而觀察系統(tǒng)的穩(wěn)定性。

可恢復(fù)性測(cè)試:測(cè)試系統(tǒng)能否快速地從錯(cuò)誤狀態(tài)中恢復(fù)到正常狀態(tài)。比如,在一個(gè)配有負(fù)載均衡的系統(tǒng)中,主機(jī)承受了壓力無(wú)法正常工作后,備份機(jī)是否能夠快速地接管負(fù)載。可恢復(fù)測(cè)試通常結(jié)合壓力測(cè)試一起來(lái)做。

好吧,如果以上概念仍然過(guò)于“神乎其技”讓人如同滿文過(guò)生日一般如墜云里霧里,下面我將會(huì)以打比方的方式讓大家更好的理解上述內(nèi)容。

《西游記》中有一場(chǎng)景叫做:“豬八戒背媳婦”,下面我們就以這個(gè)來(lái)打比方向大家描述幾種性能測(cè)試方法的異同點(diǎn)。

我們將豬八戒同志作為性能測(cè)試的被測(cè)試對(duì)象。

負(fù)載測(cè)試:豬同志身上背著的高小姐可以被視為加在“豬八戒人豬混合系統(tǒng)”上的負(fù)載。當(dāng)然了,豬八戒身強(qiáng)體壯,背個(gè)高小姐應(yīng)該是問(wèn)題不大的。負(fù)載測(cè)試就是讓豬八戒背著高小姐走路(這里的走路就是一定得系統(tǒng)行為,通常這種系統(tǒng)行為通過(guò)腳本來(lái)進(jìn)行模擬),我們觀察豬八戒的生理和心理指標(biāo)是否存在異常從而斷定“豬八戒人豬混合系統(tǒng)”的瓶頸所在。如果豬八戒背著背著腰酸背疼腿抽筋,那么豬無(wú)能同志可能是缺鈣了,需要補(bǔ)鈣;如果他背著背著頭暈眼花四肢麻木,那么豬同志應(yīng)該是脂肪肝、酒精肝三高患者的杰出代表,這就證明豬八戒需要減肥了。如果豬八戒背著小媳婦身輕如燕、健步如飛,那么我們可以判斷豬八戒同志是個(gè)好同志,“豬八戒人豬混合系統(tǒng)”是個(gè)好系統(tǒng)。當(dāng)然,這只是在沒(méi)有測(cè)試標(biāo)準(zhǔn)的衡量基礎(chǔ)上得到的結(jié)論,為了更進(jìn)一步的測(cè)試“豬八戒人豬混合系統(tǒng)”,我們需要給這個(gè)系統(tǒng)一些指標(biāo),這個(gè)指標(biāo)舉例如下:背著體重為45公斤的高小姐走上一段山路十八彎總長(zhǎng)為10公里的羊腸小道,在此過(guò)程中豬八戒同志的平均時(shí)速不能低于8km/h,其心跳不能快于60次/秒。好吧,再進(jìn)行一次測(cè)試,我們發(fā)現(xiàn)在測(cè)試過(guò)程中豬八戒同志依然健步如飛,身輕如燕,但是其心跳卻高于60次/秒。于是在豬八戒同志心跳高于60次/秒的那一刻,我們可以停止測(cè)試,幫豬八戒同志找出瓶頸,待此瓶頸問(wèn)題被解決后,我們?cè)賹?duì)其進(jìn)行測(cè)試。當(dāng)然,如果豬八戒一背上高小姐就顯得異常吃力,舉步維艱,那么我們可以認(rèn)為高小姐應(yīng)該減肥了(負(fù)載過(guò)大),我們應(yīng)該讓高小姐節(jié)食一段時(shí)間,體重達(dá)到正常標(biāo)準(zhǔn)后再進(jìn)行測(cè)試。以上就是負(fù)載測(cè)試的一個(gè)通俗例子。

壓力測(cè)試:還是豬八戒同志背媳婦。我們發(fā)現(xiàn)他一次背一個(gè)媳婦異常輕松,于是乎我們必須加大負(fù)載,讓豬八戒在極端的情況下進(jìn)行背媳婦活動(dòng)。我們可以讓豬八戒同志一次背10個(gè)媳婦,當(dāng)然這并不符合一夫一妻制,因此我們選擇讓豬八戒同志來(lái)背孫悟空同學(xué)。孫同學(xué)是石頭里蹦出來(lái)的,所以密度大,質(zhì)量大,符合極端負(fù)載的標(biāo)準(zhǔn)。
測(cè)試開(kāi)始了,豬同志背上孫同學(xué)立即大汗淋漓、哭爹喊娘。好了,極端負(fù)載的條件達(dá)到。我們可以觀察豬八戒的表現(xiàn)以確定豬八戒同志全身最薄弱的部位了。如果我們發(fā)現(xiàn)豬八戒同志腹部力量不足從而導(dǎo)致背孫同學(xué)極度吃力,那么我們可以讓豬八戒去練腹肌,讓他的腹部力量得到增強(qiáng)。這樣我們也找到了系統(tǒng)的瓶頸,對(duì)系統(tǒng)進(jìn)行了優(yōu)化。

如果豬八戒背上孫悟空依然輕輕松松,神情自若,那么我們可以猜測(cè)豬八戒背的孫同學(xué)不是孫悟空而是孫尚香。于是我們可以選擇更大的負(fù)載進(jìn)行測(cè)試。

壓力測(cè)試一定要測(cè)出來(lái)問(wèn)題,否則我們有理由認(rèn)為壓力負(fù)載過(guò)小,不符合測(cè)試要求。

并發(fā)測(cè)試:主要是測(cè)試豬八戒一次能背幾個(gè)媳婦。如果“豬八戒人豬混合系統(tǒng)”的設(shè)計(jì)目標(biāo)是“一次至少背上三到四個(gè)高小姐”的話,我們就有尺度來(lái)衡量豬八戒的表現(xiàn)是否達(dá)標(biāo)。

基準(zhǔn)測(cè)試:如果豬八戒同志在被高小姐的時(shí)候沒(méi)有服用任何的違禁藥品,那么我們可以將此次的測(cè)試結(jié)果作為一個(gè)基點(diǎn),然后讓豬八戒同志喝點(diǎn)紅?;蛘呤菍W(xué)習(xí)滿文**同學(xué)嗑點(diǎn)小藥,然后進(jìn)行同樣的負(fù)載測(cè)試,查看****或者是喝紅牛對(duì)豬八戒背高小姐這個(gè)行為是否產(chǎn)生了利弊影響。這里的****可以值得是軟件更換了一種新算法,也可以理解系統(tǒng)更換了新的中間件。當(dāng)然我們也可以不讓豬八戒同志背高小姐,而換成是讓孫悟空同學(xué)背高小姐,觀察這兩次測(cè)試的測(cè)試結(jié)果,從而確定究竟那一種系統(tǒng)更能勝任“背高小姐”這個(gè)重任。

穩(wěn)定性測(cè)試:讓豬八戒背高小姐背上七七四十九天,觀察豬同學(xué)的表現(xiàn)。若“豬八戒人豬混合系統(tǒng)”的設(shè)計(jì)要求為至少能連續(xù)背高小姐走上49天,而實(shí)際豬八戒只走了36天的話,我們可以認(rèn)為“豬八戒人豬混合系統(tǒng)”不達(dá)標(biāo),需要優(yōu)化。

可恢復(fù)性測(cè)試:先讓豬八戒背孫悟空同志走上半天,此時(shí)豬八戒已經(jīng)累得接近崩潰,然后再讓豬八戒背上高小姐,查看豬八戒是否能從疲勞中恢復(fù),從而擔(dān)當(dāng)起背高小姐的重任。



關(guān)鍵詞: 性能測(cè)試硬件軟

評(píng)論


技術(shù)專區(qū)

關(guān)閉