資源描述:
《性能測試方法及分析方法.doc》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、性能測試方法及分析方法一、性能測試簡介1.1什么是軟件性能一般來說,性能是一種指標(biāo),表明軟件系統(tǒng)或構(gòu)件對于其及時性要求的符合程度;其次,性能是軟件產(chǎn)品的一種特性,可以用時間來進(jìn)行度量。性能的及時性用響應(yīng)時間或者吞吐量來衡量。響應(yīng)時間是對請求作出響應(yīng)所需要的時間。對于單個事務(wù),響應(yīng)時間就是完成事務(wù)所需的時間;對于用戶任務(wù),響應(yīng)時間體現(xiàn)為端到端的時間。比如,“用戶單擊OK按鈕后2秒內(nèi)收到結(jié)果”就是一個對用戶任務(wù)響應(yīng)時間的描述,具體到這個用戶任務(wù)中,可能有多個具體的事務(wù)需要完成,每個事務(wù)都有其單獨(dú)的響應(yīng)時間。對交互式的應(yīng)用(例如典型的Web應(yīng)用)來說,我們一般以用戶感受到的響應(yīng)時間來描述系統(tǒng)的
2、性能,而對非交互式應(yīng)用(嵌入式系統(tǒng)或是銀行等的業(yè)務(wù)處理系統(tǒng))而言,響應(yīng)時間是指系統(tǒng)對事件產(chǎn)生響應(yīng)所需要的時間。通常,對軟件性能的關(guān)注是多個層面的:用戶關(guān)注軟件性能,管理員關(guān)注軟件性能,產(chǎn)品的開發(fā)人員也關(guān)注軟件性能,下面將從3個不同層面來對軟件性能進(jìn)行闡述。1.1.1用戶視角的軟件性能從用戶的角度來說,軟件性能就是軟件對用戶操作的響應(yīng)時間。說得更明確一點(diǎn),對用戶來說,當(dāng)用戶單擊一個按鈕、發(fā)出一條指令或是在Web頁面上單擊一個鏈接,從用戶單擊開始到應(yīng)用系統(tǒng)把本次操作的結(jié)果以用戶能察覺的方式展示出來,這個過程所消耗的時間就是用戶對軟件性能的直觀印象。圖1.1以一個Web系統(tǒng)為例,說明了用戶的這
3、種印象??删庉媤ord,供參考版!圖1.1Web系統(tǒng)的響應(yīng)必須要說明的是,用戶所體會到的“響應(yīng)時間”既有客觀的成分,也有主觀的成分。例如,用戶執(zhí)行了某個操作,該操作返回大量數(shù)據(jù),從客觀的角度來說,事務(wù)的結(jié)束應(yīng)該是系統(tǒng)返回所有的數(shù)據(jù),響應(yīng)時間應(yīng)該是從用戶操作開始到所有數(shù)據(jù)返回完成的整個耗時;但從用戶的主觀感知來說,如果采用一種優(yōu)化的數(shù)據(jù)呈現(xiàn)策略,當(dāng)少部分?jǐn)?shù)據(jù)返回之后就立刻將數(shù)據(jù)呈現(xiàn)在用戶面前,則用戶感受到的響應(yīng)時間就會遠(yuǎn)遠(yuǎn)小于實(shí)際的事務(wù)響應(yīng)時間(順便說一下,這種技巧是在C/S結(jié)構(gòu)的管理系統(tǒng)中開發(fā)人員常用的一種技巧)。關(guān)于響應(yīng)時間的進(jìn)一步討論請見1.2.1節(jié)對“響應(yīng)時間”的解釋。1.1.1管
4、理員視角的軟件性能從管理員的角度來看,軟件系統(tǒng)的性能首先表現(xiàn)在系統(tǒng)的響應(yīng)時間上,這一點(diǎn)和用戶視角是一樣的。但管理員是一種特殊的用戶,和一般用戶相比,除了會關(guān)注一般用戶的體驗(yàn)之外,他還會關(guān)心和系統(tǒng)狀態(tài)相關(guān)的信息。例如,管理員已經(jīng)知道,在并發(fā)用戶數(shù)為100時,A業(yè)務(wù)的響應(yīng)時間為8秒,那么此時的系統(tǒng)狀態(tài)如何呢?服務(wù)器的CPU使用是不是已經(jīng)達(dá)到了最大值?是否還有可用的內(nèi)存?應(yīng)用服務(wù)器的狀態(tài)如何?我們設(shè)置的JVM可用內(nèi)存是否足夠?數(shù)據(jù)庫的狀況如何?是否還需要進(jìn)行一些調(diào)整?這些問題普通的用戶并不關(guān)心,因?yàn)檫@不在他們的體驗(yàn)范圍之內(nèi);但對管理員來說,要保證系統(tǒng)的穩(wěn)定運(yùn)行和持續(xù)的良好性能,就必須關(guān)心這些問
5、題。另一方面,管理員還會想要知道系統(tǒng)具有多大的可擴(kuò)展性,處理并發(fā)的能力如何;而且,管理員還會希望知道系統(tǒng)可能的最大容量是什么,系統(tǒng)可能的性能瓶頸在哪里,通過更換哪些設(shè)備或是進(jìn)行哪些擴(kuò)展能夠提高系統(tǒng)性能,了解這些情況,管理員才能根據(jù)系統(tǒng)的用戶狀況制定管理措施,在系統(tǒng)出現(xiàn)計(jì)劃之外的用戶增長等緊急情況的時候能夠立即制定相應(yīng)措施,進(jìn)行迅速的處理;此外,管理員可能還會關(guān)心系統(tǒng)在長時間的運(yùn)行中是否足夠穩(wěn)定,是否能夠不間斷地提供業(yè)務(wù)服務(wù)等。因此,從管理員的視角來看,軟件性能絕對不僅僅是應(yīng)用的響應(yīng)時間這么一個簡單的問題。表1-1給出了管理員關(guān)注的部分性能相關(guān)問題的列表。表1-1管理員關(guān)注的部分性能相關(guān)問
6、題管理員關(guān)心的問題軟件性能描述可編輯word,供參考版!服務(wù)器的資源使用狀況合理嗎資源利用率應(yīng)用服務(wù)器和數(shù)據(jù)庫的資源使用狀況合理嗎資源利用率系統(tǒng)是否能夠?qū)崿F(xiàn)擴(kuò)展系統(tǒng)可擴(kuò)展性系統(tǒng)最多能支持多少用戶的訪問?系統(tǒng)最大的業(yè)務(wù)處理量是多少系統(tǒng)容量系統(tǒng)性能可能的瓶頸在哪里系統(tǒng)可擴(kuò)展性更換哪些設(shè)備能夠提高系統(tǒng)性能系統(tǒng)可擴(kuò)展性系統(tǒng)能否支持7×24小時的業(yè)務(wù)訪問系統(tǒng)穩(wěn)定性1.1.3開發(fā)視角的軟件性能從開發(fā)人員的角度來說,對軟件性能的關(guān)注就更加深入了。開發(fā)人員會關(guān)心主要的用戶感受——響應(yīng)時間,因?yàn)檫@畢竟是用戶的直接體驗(yàn);另外,開發(fā)人員也會關(guān)心系統(tǒng)的擴(kuò)展性等管理員關(guān)心的內(nèi)容,因?yàn)檫@些也是產(chǎn)品需要面向的用戶(特
7、殊的用戶)。但對開發(fā)人員來說,其最想知道的是“如何通過調(diào)整設(shè)計(jì)和代碼實(shí)現(xiàn),或是如何通過調(diào)整系統(tǒng)設(shè)置等方法提高軟件的性能表現(xiàn)”,和“如何發(fā)現(xiàn)并解決軟件設(shè)計(jì)和開發(fā)過程中產(chǎn)生的由于多用戶訪問引起的缺陷”,因此,其最關(guān)注的是使性能表現(xiàn)不佳的因素和由于大量用戶訪問引發(fā)的軟件故障,也就是我們通常所說的“性能瓶頸”和系統(tǒng)中存在的在大量用戶訪問時表現(xiàn)出來的缺陷。舉例來說,對于一個沒有達(dá)到預(yù)期性能規(guī)劃的應(yīng)用,開發(fā)人員最想知道的是,這個糟糕的性能表現(xiàn)究