性能測試結(jié)果的可靠性_第1頁
性能測試結(jié)果的可靠性_第2頁
性能測試結(jié)果的可靠性_第3頁
性能測試結(jié)果的可靠性_第4頁
性能測試結(jié)果的可靠性_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、第14章  通用性能測試結(jié)果分析截至第13章,小白已經(jīng)完成了LoadRunner測試腳本的編寫、場景的建立,并成功地執(zhí)行測試及分析了整個測試結(jié)果、產(chǎn)生了測試報告。本書對于 LoadRunner這一強大的工具也已經(jīng)基本介紹完畢了。但是,在實際工作中,性能測試工程師可能并不一定采用LoadRunner,而是使用其他的工 具甚至自行編程來取得相關(guān)的性能測試數(shù)據(jù)。那么,有沒有通用的一些分析性能測試數(shù)據(jù)的經(jīng)驗?zāi)??本章的?nèi)容就能夠回答上述這個問題。如果說第12章中LoadRunner所提供的性能圖表與測試報告是汽車中的自動擋,那么本章就是汽車中的手動擋。作為一名性能測試工程師,必須能夠脫離工具軟

2、件的束縛,直接從原始的數(shù)據(jù)中得到正確的結(jié)論,才稱得上合格。初學(xué)者都知道,性能測試得到的數(shù)據(jù),如果不進(jìn)行分析,得到的結(jié)果是沒有多大價值的。而在分析性能測試結(jié)果的過程中,往往需要用到簡單的數(shù)學(xué)知識來進(jìn) 行評估、敏銳的觀察能力來發(fā)現(xiàn)隱藏在數(shù)據(jù)中的性能問題;另外,出色的文檔編寫能力和圖表制作能力則有利于將測試工程師了解到的事實有效地傳遞到相關(guān)人員的 印象當(dāng)中。其中,工作中最重要、也可能是最耗費時間與精力、同時又是收獲最大的部分就是發(fā)現(xiàn)性能問題。本章將依據(jù)以上這幾種能力分為3節(jié)來介紹:第1節(jié)介紹判別測試數(shù)據(jù)是否可靠的要點,其中包含了一些簡單的統(tǒng)計學(xué)知識。第2節(jié)通過幾個范例來講解發(fā)現(xiàn) 性能的技巧與經(jīng)驗。第

3、3節(jié)將列出編寫性能測試報告的注意事項與要點,同時,對Office Excel軟件中的畫圖功能也進(jìn)行了較詳細(xì)的說明。14.1  性能測試結(jié)果的可靠性性能測試的結(jié)果往往由大量數(shù)據(jù)組成,在我們拿到這些數(shù)據(jù)之后,首先要判斷這些數(shù)據(jù)是否可靠。一些簡單的統(tǒng)計學(xué)指標(biāo)可以使我們很快地從數(shù)據(jù)中獲得對于 性能的基本印象。因此,本節(jié)先借助一些數(shù)學(xué)知識,讓我們能夠使用統(tǒng)計學(xué)上的簡單指標(biāo)對結(jié)果進(jìn)行簡單歸納;之后,再介紹判斷性能測試結(jié)果可靠性的幾條經(jīng)驗規(guī) 則。本節(jié)中將要介紹、同時也是測試結(jié)果分析中較為常用的數(shù)學(xué)指標(biāo)有如下幾種:平均值(Mean Value);中值(Median Value);正常值(Normal

4、 Value);標(biāo)準(zhǔn)偏差(Standard Deviation);正態(tài)分布(Normal Distribution);一致分布(Uniform Distribution);置信區(qū)間(Confidence Intervals)。為了理解方便,我們就使用小白獲得的一手響應(yīng)時間作為例子,學(xué)習(xí)如上數(shù)學(xué)指標(biāo)的具體含義,從而獲得總體性能的更直觀印象。小白手中有關(guān)公司網(wǎng)站響應(yīng)時間的數(shù)據(jù)一共分為4組,分別代表了客戶端不同操作端系統(tǒng)、不同瀏覽器下訪問首頁的數(shù)據(jù),分別如表14-1、表14-2、表14-3、表14-4所示。表14-1  Windows XP下通過IE 6訪問公司網(wǎng)站的響應(yīng)時間數(shù)據(jù)(秒)56

5、4813104457810表14-2  Windows XP下通過Firefox 3訪問公司網(wǎng)站的響應(yīng)時間數(shù)據(jù)(秒)112578224121311表14-3  Windows Vista下通過IE 7訪問公司網(wǎng)站的響應(yīng)時間數(shù)據(jù)(秒)666812121448666表14-4  Windows Vista下通過Firefox 3訪問公司網(wǎng)站的響應(yīng)時間數(shù)據(jù)(秒)6678876696119從以上數(shù)據(jù)來初步觀察,響應(yīng)時間長短參差不齊,表面上看分布也沒有什么規(guī)律?!緦崙?zhàn)演練:平均值的計算】(5+6+4+8+13+10+4+4+5+7+8+10)/12 = 7;(1+12+5+

6、7+8+2+2+4+12+13+1+1)/12 = 5.67;(6+6+6+8+12+12+14+4+8+6+6+6+6)/12 = 8.33;(6+6+7+8+8+7+6+6+9+6+11+9)/12 = 7.41。以上數(shù)值的單位均為秒。從結(jié)果中可以發(fā)現(xiàn),表14-2響應(yīng)時間的平均值確實是最短的。但是,需要注意的是,表14-2中的數(shù)據(jù)"兩極分化"比較嚴(yán) 重,既有很短的1秒,也有很長的13秒,而在平均值5.67秒附近的數(shù)值卻很少。這樣的情況就可能暴露出網(wǎng)站性能的某些問題,或者是數(shù)據(jù)采集中的不科學(xué) 性。讀者在實際工作中得到測試結(jié)果的時候,不能單單記錄數(shù)值,同時還要思考如下等問題

7、:響應(yīng)時間很短是否由于緩存的緣故?響應(yīng)時間很長是否是Web應(yīng)用代碼的問題?不同瀏覽器的響應(yīng)時間有什么規(guī)律?在測試過程中,對得到的數(shù)據(jù)多問幾個為什么,有助于提高測試的準(zhǔn)確性?!局兄凳鞘裁础克^中值(Median Value),就是將數(shù)據(jù)從小到大排列起來,中間那個數(shù)的數(shù)值。將中值的定義應(yīng)用于實際,比如對于表14-1來說,其數(shù)據(jù)從小到大的排列依次為:1. 4 4 4 5 5 6 7 8 8 10 10 13 如果這一系列數(shù)據(jù)的個數(shù)為單數(shù),中值就是中間那個數(shù)的值。如果類似表14-1的

8、情況,數(shù)據(jù)個數(shù)是12,為偶數(shù),則中值一般認(rèn)為是最中間兩個數(shù)值(這里是第6個和第7個)的平均值,即(6+7)/2=6.5。經(jīng)過計算,表14-1、表14-2、表14-3、表14-4的中值分別為6.5、4.5、6和7?!局兄蹬c平均值的關(guān)系】中值雖然不等同于平均值,但若中值與平均值越接近,則說明數(shù)據(jù)分布的越均勻。正常值(Normal Value)并不一定意味著它的值是正常的。所謂正常值,是指在數(shù)據(jù)結(jié)果中出現(xiàn)頻率最多的那個值,通俗地說,就是在它們中間最容易碰到的數(shù)值。表 14-1、表14-2、表14-3和表14-4中的正常值分別為1、4、6、6秒,可見,正常值與平均值、中值可能會有很大差別。【實戰(zhàn)演練:

9、正常值的判斷】設(shè)想這樣一個場景:小白所測試的Web應(yīng)用有某部分代碼出現(xiàn)了問題,導(dǎo)致數(shù)據(jù)庫連接經(jīng)常超時,測得的響應(yīng)時間序列為20、25、30、26、26、 27、26等,在這樣的數(shù)值當(dāng)中,26是正常值,但它絕不是網(wǎng)站正常時應(yīng)該具備的響應(yīng)時間,因此,它又是"不正常"的。實際工作中這樣的情況并不鮮見,讀 者在處理數(shù)據(jù)時一定要首先保證數(shù)據(jù)的有效性。性能測試中正常值的意義在于發(fā)現(xiàn)當(dāng)前配置下,多數(shù)情況采集到的數(shù)值是什么。標(biāo)準(zhǔn)偏差提供了比中值更準(zhǔn)確的方法,來確定數(shù)值是否"聚集"在平均值附近。標(biāo)準(zhǔn)偏差(Standard Deviation)是一種度量數(shù)據(jù)分布分散程度的標(biāo)

10、準(zhǔn),它可以用來衡量具體數(shù)據(jù)值偏離平均值(算術(shù)平均值)的程度。標(biāo)準(zhǔn)偏差越小,這些值偏離平均值就越 少,數(shù)據(jù)就越可信。反之,數(shù)值偏離平均值越大,數(shù)據(jù)就越不可信?!緦崙?zhàn)演練:Excel計算標(biāo)準(zhǔn)偏差】標(biāo)準(zhǔn)偏差的計算不是本書講解的內(nèi)容,我們只需理解它的含義會用工具計算就可以了。常見的計算標(biāo)準(zhǔn)偏差的工具軟件就是微軟的Excel。如圖14-1中新建了一個工作表,其中有4列,每一列分別包含表14-1到表14-4的測試數(shù)據(jù)。下面舉例計算前面表14-1中數(shù)據(jù)(已經(jīng)錄入在圖14-1工作表的A列之中)的標(biāo)準(zhǔn)偏差。首先,單擊工作表中的A列,然后選擇"插入"|"函數(shù)"命 令,如圖1

11、4-2所示。之后Excel將彈出函數(shù)選擇對話框,在其中找到計算標(biāo)準(zhǔn)偏差的STDEV函數(shù)即可,如圖14-3所示。 (點擊查看大圖)圖14-1  在Excel中新建工作表輸入測試數(shù)據(jù) (點擊查看大圖)圖14-2  在Excel中插入函數(shù)以計算標(biāo)準(zhǔn)偏差 (點擊查看大圖)圖14-3  選擇STDEV函數(shù)計算標(biāo)準(zhǔn)偏差 (點擊查看大圖)圖14-4  輸入計算范圍并獲得標(biāo)準(zhǔn)偏差結(jié)果計算標(biāo)準(zhǔn)偏差需要輸入一系列的數(shù)值,這也是在圖14-2中要首先選中A列或其他列的原因。在圖14-3中單擊"確定"按鈕之后,Excel

12、將彈出函 數(shù)參數(shù)對話框。如果其中的Number1文本框內(nèi)沒有數(shù)值,讀者可以填入文字A1:A12,以表示A列的所有12個數(shù)值作為計算的輸入,依次類推。確認(rèn)輸 入數(shù)據(jù)無誤后,單擊"確定"按鈕,計算結(jié)果將立即顯示在當(dāng)前的對話框內(nèi),如圖14-4所示。對測試結(jié)果進(jìn)行標(biāo)準(zhǔn)偏差的計算,有利于從中發(fā)現(xiàn)更具可信度的度量數(shù)值。正態(tài)分布(Normal Distribution)也叫做鐘形分布,這個名字是因為正態(tài)分布的數(shù)值在圖形上類似一口鐘而得來。它的含義就是一系列的數(shù)值當(dāng)中,靠近中值附近的數(shù)值 數(shù)量最多,而偏離中值的數(shù)值數(shù)量則不斷減少。人類社會的很多行為都符合正態(tài)分布的特點,我們常說的"

13、;隨大流"也可以說是一個體現(xiàn)吧:大多數(shù)人的行為都是非 常類似的。一個典型的正態(tài)分布圖如圖14-5所示。在性能測試產(chǎn)生的數(shù)據(jù)中,足夠大量的響應(yīng)時間具有正態(tài)分布的特點。 圖14-5  正態(tài)分布(鐘形分布)示意圖【正態(tài)分布與標(biāo)準(zhǔn)偏差的關(guān)系】正態(tài)分布與標(biāo)準(zhǔn)偏差有很大的關(guān)系,一般來說,標(biāo)準(zhǔn)偏差越小,數(shù)值越接近正態(tài)分布。因為正態(tài)分布存在非常普遍,所以才擁有了Normal這樣的名字。一致分布(Uniform Distribution)顧名思義是指測試所取得的數(shù)據(jù)值相差很小,簡單粗略地看,在圖中會表現(xiàn)為波動很小的近似直線,如下面的情況?!緦崙?zhàn)演練】小白所在的公司每周要發(fā)送一個郵件

14、列表給注冊用戶,該列表的內(nèi)容實際上是一個由市場、銷售部門HTML頁面。由于發(fā)送程序運行在數(shù)據(jù)庫服務(wù)器上(因 為每周一次,也是周日晚間發(fā)送,所以暫時沒有必要使用專門的服務(wù)器來完成),為了不顯著影響整體性能,需要對HTML頁面的大小進(jìn)行限制。為此,小白記錄 了若干次的文件大小,如表14-5所示。表14-5  每周郵件列表文件大小日    期文 件 大 小2008年9月6日47KB2008年9月13日48KB2008年9月20日47KB2008年9月27日48KB如果在Excel中對表14-5所列出的數(shù)據(jù)畫成圖,就可以看成是一致分布,如圖14-6所示。

15、0;圖14-6  郵件列表內(nèi)容文件大小呈一致分布每次郵件列表大小基本一致,是因為市場、銷售部充分利用了文件大小的上限,盡量爭取在有限的大小之內(nèi),放入更多的宣傳內(nèi)容。當(dāng)然,在實際工作情形中,不一定每次都會出現(xiàn)這樣的情況。如果在性能測試中出現(xiàn)了一致分布的數(shù)據(jù),測試工程師需要找出原因,一般來說,這樣的數(shù)據(jù)反而是值得懷疑的。比如響應(yīng)時間,如果用戶的響應(yīng)時間驚人的一致,則要考慮是否有部分用戶因為某些原因根本無法訪問網(wǎng)站等原因。在性能測試領(lǐng)域,置信度指的是測試結(jié)果與真實結(jié)果之間的差別。由于具體的測試結(jié)果是由用戶使用Web應(yīng)用方式的估計模型和性能測試方法決定的,因此也可以認(rèn)為置信度反映了網(wǎng)站人員與

16、最終用戶在使用該Web應(yīng)用上的相似度。【置信度舉例】舉例來說,小白所在公司的人都認(rèn)為用戶將更喜歡網(wǎng)站的A欄目,因此在資源有限的情況下,測試部對該欄目的功能進(jìn)行了重點性能測試,并進(jìn)行了優(yōu)化,獲 得了不錯的結(jié)果;但實際網(wǎng)站上線后,用戶卻更喜歡另外某個欄目,經(jīng)常使用的功能也與事先預(yù)想的不同。這就會導(dǎo)致性能測試結(jié)果與實際性能測量值有所誤差。這 種誤差大小的程度就是置信度。當(dāng)然,這樣的理解在數(shù)理統(tǒng)計方面并不嚴(yán)格,但對于性能測試工程師在工作中的使用已經(jīng)可以了。置信度越高,置信區(qū)間(Confidence Interval)也就越接近真實值的范圍。置信區(qū)間是指在某一置信度水平下,性能測試結(jié)果與Web應(yīng)用上線后

17、實際運行結(jié)果間的誤差范圍。要知道在Web 應(yīng)用上線前,沒有誰能準(zhǔn)確地預(yù)計用戶行為,因此有必要在進(jìn)行性能測試時預(yù)估一個置信度,再根據(jù)結(jié)果得到置信區(qū)間。【置信區(qū)間的實際使用】假設(shè)公司對網(wǎng)站響應(yīng)時間設(shè)置的合理值為10秒以下,置信度估計為80%。小白在對網(wǎng)站使用LoadRunner進(jìn)行并發(fā)測試后,發(fā)現(xiàn):由于使用頁面 功能不同,最差的情況一次并發(fā)50個用戶就可能令第51個用戶響應(yīng)時間超標(biāo);而最好的情況則是一次并發(fā)300個用戶才能令響應(yīng)時間超標(biāo)。那么,在測試結(jié)果 報告中,小白應(yīng)當(dāng)這樣進(jìn)行陳述:根據(jù)80%置信度,在一般工作負(fù)荷下,并發(fā)數(shù)為50×80%到300×80%,即40240個用戶,

18、都不會引起響應(yīng)時間 超標(biāo)。這里的40240就是置信區(qū)間。綜上所述,置信度也可以理解為一種形式的安全系數(shù)。前面講述了一些統(tǒng)計學(xué)的知識,實際目的都是為了使得我們的性能測試報告能夠更接近于真實,這樣才能發(fā)揮最大的作用。因此,在測試結(jié)果出來之后,并不要立刻發(fā)送測試報告,而是要先判斷取得的測試數(shù)據(jù)是否可靠,這樣的能力對于性能測試工程師來說是非常必要的。數(shù)據(jù)可靠性有如下幾條經(jīng)驗規(guī)則:(1)如果有超過20%的測試數(shù)據(jù)明顯與其他數(shù)據(jù)有很大差別,則應(yīng)該先檢查測試過程中是否出現(xiàn)問題。這樣的情況是經(jīng)常發(fā)生的:小白使用很多臺測試機 器在下班后運行自動訪問公司網(wǎng)站的腳本程序,從而記錄響應(yīng)時間等數(shù)據(jù)。但由于其中某些機器設(shè)

19、置了Windows系統(tǒng)默認(rèn)凌晨3點發(fā)生的自動更新,可能會強 迫重啟電腦,從而導(dǎo)致測試中斷,在重啟過程中取得的響應(yīng)時間數(shù)據(jù)當(dāng)然是不可靠的。(2)如果進(jìn)行了多次相同目的的性能測試,如果某一次測試絕大多數(shù)結(jié)果比其他幾次測試中最大的結(jié)果都要大,或者比它們當(dāng)中最小的結(jié)果都要小,那么應(yīng) 該考慮這次測試結(jié)果的有效性問題。這一點是很好理解的。至于絕大多數(shù)的比例設(shè)定為多少,可以根據(jù)實際情況來定,一般至少在75%以上。根據(jù)以上這兩條基本原則,再結(jié)合具體被測試軟件的實際情況,就可以判斷出哪些數(shù)據(jù)是可靠的,哪些數(shù)據(jù)是不可靠的。有了可靠的數(shù)據(jù),才能編寫出可靠的測試報告,這是最重要的一點。在14.2節(jié),本書將簡要介紹性能

20、測試結(jié)果的分析方法,這是性能測試報告的關(guān)鍵。14.2  性能測試結(jié)果分析方法在14.1節(jié)中我們學(xué)習(xí)了對于性能測試數(shù)據(jù)有效性的判斷,并且利用統(tǒng)計學(xué)知識與以往經(jīng)驗從中可以得到性能概況。另外,還可以根據(jù)幾條經(jīng)驗規(guī)則對懷疑數(shù)據(jù)進(jìn)行剔除。在本節(jié)中將講解如何對現(xiàn)有有效的數(shù)據(jù)進(jìn)行分析,并據(jù)此得到性能好與壞的結(jié)論,為編寫性能測試報告做準(zhǔn)備。對性能測試結(jié)果進(jìn)行分析需要依次進(jìn)行以下幾個步驟:(1)判斷影響性能的因素。(2)運用隔離、對比等方法進(jìn)行趨勢判斷。(3)記錄各個結(jié)果,發(fā)現(xiàn)規(guī)律。判斷影響Web應(yīng)用性能的因素其實一般發(fā)生在性能測試的設(shè)計階段,但列在這里也是適當(dāng)?shù)?,因為:在實際工作中,設(shè)計階段可能對于

21、影響因素考慮不足,導(dǎo)致有些因素沒有考慮到。這種情況會令測試結(jié)果不完全,要增加測試的運行。設(shè)計階段也可能出現(xiàn)考慮影響因素過多的情況,這需要在測試數(shù)據(jù)中進(jìn)行判斷,從而將無關(guān)的因素去除。該情況下那些多余的測試結(jié)果并非沒有益處,因為正是它們,使得性能測試工程師得以發(fā)現(xiàn)了無關(guān)因素。在Web應(yīng)用領(lǐng)域,影響性能的因素有用戶數(shù)量、服務(wù)器性能(請見前面章節(jié)有關(guān)性能計數(shù)器的部分)、網(wǎng)絡(luò)帶寬、客戶端軟件配置等多種。由于這些因素是綜合起作用的,它們對Web應(yīng)用的影響可以組合出很多種情況,其中部分如表14-6所示。表14-6  影響性能各因素的部分組合情況編號用戶數(shù)量服務(wù)器性能網(wǎng)絡(luò)帶寬客戶端軟件配置1變化不變不變不變2變化不變變化變化3變化不變不變變化可以知道,這樣的組合還有很多種,如果都針對它們進(jìn)行測試,在大多數(shù)情況下(時間、人力、軟件發(fā)布要求等要求比較嚴(yán)格緊迫)是不可能完成的任務(wù)。因此,有必要使用隔離的方法進(jìn)行精簡。不過,值得一提的是,對性能做出正確判斷需要足夠多的測試數(shù)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論