發(fā)布時(shí)間:2020-06-28
性能測(cè)試在軟件質(zhì)量保證中起著重要的作用,它包括的測(cè)試內(nèi)容豐富多樣。同一個(gè)系統(tǒng),不同的測(cè)試設(shè)計(jì)及測(cè)試過(guò)程會(huì)導(dǎo)致不同的結(jié)果,也會(huì)有不同的解讀。合理的測(cè)試規(guī)劃與設(shè)計(jì)是至關(guān)重要的。本文重點(diǎn)介紹如何結(jié)合用戶(hù)實(shí)際業(yè)務(wù)特點(diǎn)制定有效的性能測(cè)試用例。
一、系統(tǒng)業(yè)務(wù)特點(diǎn)和用戶(hù)行為分析
用戶(hù)行為反映了用戶(hù)對(duì)系統(tǒng)的使用模式和應(yīng)用背景,在性能測(cè)試之前,我們首先需要分析用戶(hù)的使用習(xí)慣,確定系統(tǒng)的典型業(yè)務(wù)及發(fā)生時(shí)間。分析用戶(hù)行為是設(shè)計(jì)性能測(cè)試用例的第一步。
1、系統(tǒng)使用高峰時(shí)段分析
對(duì)于很多大型系統(tǒng),都有業(yè)務(wù)集中開(kāi)展使用的情況出現(xiàn),即系統(tǒng)使用的高峰。這類(lèi)系統(tǒng)使用高峰可能出現(xiàn)在一天、一月、一年中的某個(gè)時(shí)間點(diǎn)上或時(shí)間段上。例如在同一天內(nèi),大多數(shù)系統(tǒng)的使用情況都會(huì)隨著時(shí)間發(fā)生變化,對(duì)于這一類(lèi)系統(tǒng)不同的業(yè)務(wù)高峰對(duì)應(yīng)的時(shí)間也不同。
確定系統(tǒng)使用高峰時(shí)段,有利于我們進(jìn)一步確定系統(tǒng)在高峰時(shí)段的性能需求,比如高峰時(shí)段的并發(fā)用戶(hù)支持需求,高峰時(shí)期的業(yè)務(wù)響應(yīng)時(shí)間需求等。
2、系統(tǒng)高峰期業(yè)務(wù)應(yīng)用分析
在系統(tǒng)不同的高峰期,同一系統(tǒng)可能會(huì)處于不同的業(yè)務(wù)模式,因此需要對(duì)系統(tǒng)高峰期的業(yè)務(wù)應(yīng)用進(jìn)行分析。其目標(biāo)是為了通過(guò)分析高峰期的應(yīng)用來(lái)確定高峰期的業(yè)務(wù)應(yīng)用模型是單一業(yè)務(wù)類(lèi)型還是混合業(yè)務(wù)類(lèi)型,這對(duì)于后期的測(cè)試用例執(zhí)行策略的設(shè)計(jì)至關(guān)重要。因此需要分析哪些業(yè)務(wù)應(yīng)用是典型的即壓力較大的業(yè)務(wù),進(jìn)而對(duì)這些業(yè)務(wù)應(yīng)用單獨(dú)進(jìn)行測(cè)試,這樣做可以有效的對(duì)系統(tǒng)瓶頸進(jìn)行隔離定位。
二、系統(tǒng)性能指標(biāo)分析
合理的設(shè)計(jì)不可能是憑空想象,而是要基于系統(tǒng)的業(yè)務(wù)需求及用戶(hù)使用習(xí)慣。在性能測(cè)試中,最重要的兩個(gè)指標(biāo)是確定系統(tǒng)需要承受的并發(fā)用戶(hù)數(shù)量,及在一定的用戶(hù)規(guī)模下系統(tǒng)能夠提供的應(yīng)用響應(yīng)時(shí)間。
下面重點(diǎn)介紹一下如何對(duì)并發(fā)用戶(hù)數(shù)量和平均事務(wù)響應(yīng)時(shí)間這兩個(gè)性能指標(biāo)進(jìn)行設(shè)計(jì):
1、并發(fā)用戶(hù)數(shù)量設(shè)計(jì)
并發(fā)用戶(hù)數(shù)設(shè)計(jì)必須以系統(tǒng)真實(shí)使用中可能出現(xiàn)的最大用戶(hù)數(shù)為基礎(chǔ)進(jìn)行核算。下面介紹根據(jù)系統(tǒng)的最大使用人數(shù)或者最大在線人數(shù)來(lái)評(píng)估最大用戶(hù)數(shù)的方法。
a) 極限法
對(duì)于系統(tǒng)已經(jīng)投產(chǎn)或者目標(biāo)用戶(hù)群體不確定的門(mén)戶(hù)網(wǎng)站,可以通過(guò)分析日志,也可以使用系統(tǒng)已經(jīng)注冊(cè)的用戶(hù)數(shù)量做為系統(tǒng)最大用戶(hù)數(shù),然后按照經(jīng)驗(yàn)公式來(lái)估算最大并發(fā)用戶(hù)數(shù)。
b) 用戶(hù)趨勢(shì)分析
對(duì)軟件生存周期內(nèi)的用戶(hù)未來(lái)走勢(shì)進(jìn)行分析,預(yù)測(cè)系統(tǒng)可能達(dá)到的最大用戶(hù)數(shù),從而估計(jì)系統(tǒng)的最大并發(fā)用戶(hù)數(shù),這種方法多用于系統(tǒng)用戶(hù)數(shù)目逐漸增加的情況。
c) 經(jīng)驗(yàn)評(píng)估法
按照經(jīng)驗(yàn)來(lái)評(píng)估系統(tǒng)可能的最大并發(fā)用戶(hù)數(shù),這種方法多用于系統(tǒng)的使用用戶(hù)數(shù)目相對(duì)穩(wěn)定且比較明確的系統(tǒng)。
并發(fā)用戶(hù)數(shù)的設(shè)計(jì)基本是按照系統(tǒng)最大用戶(hù)數(shù)的百分比來(lái)設(shè)計(jì)的,對(duì)于某一特定用例,需要注意并發(fā)用戶(hù)設(shè)計(jì)的最大值一般不會(huì)超過(guò)前面計(jì)算的系統(tǒng)實(shí)際使用的最大用戶(hù)數(shù)的30% ,除非是為了測(cè)試系統(tǒng)能支持的最大并發(fā)用戶(hù)數(shù)量。
2、事務(wù)平均響應(yīng)時(shí)間
響應(yīng)時(shí)間就是用戶(hù)感受軟件系統(tǒng)為其服務(wù)所耗費(fèi)的時(shí)間,這與計(jì)算機(jī)性能、網(wǎng)絡(luò)速度和帶寬等等有關(guān)。設(shè)計(jì)事務(wù)平均響應(yīng)時(shí)間指標(biāo)也是性能測(cè)試用例設(shè)計(jì)的重要內(nèi)容。
目前關(guān)于事務(wù)平均響應(yīng)時(shí)間指標(biāo)設(shè)計(jì)基本可參考以下2種方式:
對(duì)于在需求分析和設(shè)計(jì)階段已經(jīng)明確提出響應(yīng)時(shí)間性能指標(biāo)要求的系統(tǒng),如要求”系統(tǒng)響應(yīng)時(shí)間不得超過(guò)20秒”,平均響應(yīng)時(shí)間確定應(yīng)以需求為準(zhǔn)。
對(duì)于沒(méi)有明確性能需求的系統(tǒng),事務(wù)平均響應(yīng)時(shí)間應(yīng)以用戶(hù)使用感受或者需求方指定為準(zhǔn)。一般來(lái)講有3秒以?xún)?nèi)用戶(hù)會(huì)認(rèn)為響應(yīng)時(shí)間較快;5秒以?xún)?nèi)用戶(hù)認(rèn)為可以接受,超過(guò)8秒,一般用戶(hù)會(huì)認(rèn)為響應(yīng)太慢。當(dāng)然響應(yīng)時(shí)間的長(zhǎng)短還和業(yè)務(wù)類(lèi)型緊密相關(guān),提交類(lèi)業(yè)務(wù)操作對(duì)響應(yīng)時(shí)間要求一般而言比統(tǒng)計(jì)類(lèi)的業(yè)務(wù)操作要求更高。
其他性能指標(biāo)的設(shè)計(jì)可以采取事務(wù)平均響應(yīng)時(shí)間指標(biāo)相同的設(shè)計(jì)方式來(lái)進(jìn)行。
三、性能測(cè)試執(zhí)行策略分析
性能測(cè)試執(zhí)行策略需要注意兩點(diǎn):一是選擇典型的業(yè)務(wù)進(jìn)行測(cè)試,尤其要選擇并發(fā)用戶(hù)數(shù)目較大的業(yè)務(wù);二是要覆蓋全面,即設(shè)計(jì)出的用例要覆蓋到系統(tǒng)高峰期的主要業(yè)務(wù)。在性能測(cè)試執(zhí)行過(guò)程中,明確每個(gè)業(yè)務(wù)的參與者人數(shù)、比例和具體行為是非常重要的,這些都是性能測(cè)試用例設(shè)計(jì)的基礎(chǔ)。下面重點(diǎn)介紹一下如何制定單業(yè)務(wù)測(cè)試、混合業(yè)務(wù)測(cè)試和疲勞強(qiáng)度測(cè)試的具體執(zhí)行策略。
1、單業(yè)務(wù)測(cè)試
性能測(cè)試不可能對(duì)所有功能都進(jìn)行測(cè)試,所以需要抽象一些特定的獨(dú)立業(yè)務(wù)來(lái)進(jìn)行用例的設(shè)計(jì)。獨(dú)立業(yè)務(wù)實(shí)際是指一些核心業(yè)務(wù)模塊對(duì)應(yīng)的業(yè)務(wù),這些模塊通常具有功能比較復(fù)雜,使用比較頻繁,屬于核心業(yè)務(wù)等特點(diǎn)。針對(duì)這類(lèi)獨(dú)立業(yè)務(wù)進(jìn)行的性能測(cè)試稱(chēng)之為單業(yè)務(wù)性能測(cè)試。
用戶(hù)并發(fā)能力測(cè)試是單業(yè)務(wù)性能測(cè)試的重點(diǎn),用戶(hù)并發(fā)能力測(cè)試是指模擬一定數(shù)量的用戶(hù)同時(shí)使用某一核心模塊的相同或者不同的功能,并且持續(xù)一段時(shí)間,考察系統(tǒng)能夠支持指定的用戶(hù)規(guī)模。
2、混合業(yè)務(wù)測(cè)試
在系統(tǒng)真實(shí)應(yīng)用中,通常不會(huì)存在所有用戶(hù)只使用一個(gè)或者幾個(gè)核心業(yè)務(wù)模塊的情況,即一個(gè)應(yīng)用系統(tǒng)的每個(gè)功能模塊都可能被使用到;所以性能測(cè)試既要模擬多用戶(hù)的相同操作,又要模擬多用戶(hù)的不同操作。
混合業(yè)務(wù)性能測(cè)試是最接近用戶(hù)實(shí)際使用情況的測(cè)試,也是性能測(cè)試的一個(gè)必要內(nèi)容。在混合業(yè)務(wù)測(cè)試中,通常需要按照用戶(hù)的實(shí)際使用人數(shù)比例來(lái)模擬各個(gè)模塊的組合并發(fā)情況?;旌蠘I(yè)務(wù)測(cè)試的突出特點(diǎn)是根據(jù)用戶(hù)使用系統(tǒng)的情況分成不同的用戶(hù)組進(jìn)行并發(fā),每組的用戶(hù)比例要根據(jù)實(shí)際情況來(lái)匹配,通常會(huì)取各個(gè)相關(guān)模塊最大的并發(fā)用戶(hù)數(shù)目進(jìn)行組合。
3、疲勞強(qiáng)度測(cè)試
疲勞強(qiáng)度測(cè)試是指在系統(tǒng)正常運(yùn)行的情況下,以一定的負(fù)載壓力來(lái)長(zhǎng)時(shí)間運(yùn)行系統(tǒng)的測(cè)試。疲勞強(qiáng)度測(cè)試的主要特點(diǎn)是長(zhǎng)時(shí)間對(duì)目標(biāo)測(cè)試系統(tǒng)加壓,目的是測(cè)試系統(tǒng)的穩(wěn)定性,持續(xù)時(shí)間一般在1小時(shí)以上;疲勞強(qiáng)度測(cè)試屬于用戶(hù)并發(fā)測(cè)試的延續(xù),因此核心內(nèi)容仍然是核心模塊用戶(hù)并發(fā)和組合模塊用戶(hù)并發(fā),在編寫(xiě)測(cè)試用例時(shí)需要編寫(xiě)不同參數(shù)或者負(fù)載條件下的多個(gè)測(cè)試用例,可以參考混合業(yè)務(wù)并發(fā)性能測(cè)試用例的設(shè)計(jì)內(nèi)容,通常修改相應(yīng)的場(chǎng)景參數(shù)就可實(shí)現(xiàn)所需要的測(cè)試用例。
總結(jié):本文重點(diǎn)討論了如何結(jié)合用戶(hù)實(shí)際業(yè)務(wù)特點(diǎn)制定有效的性能測(cè)試用例,通過(guò)分析用戶(hù)實(shí)際業(yè)務(wù)特點(diǎn)來(lái)設(shè)計(jì)性能測(cè)試,可以使性能測(cè)試用例更接近用戶(hù)實(shí)際使用情況,更容易發(fā)現(xiàn)系統(tǒng)瓶頸。這種方法抓住了性能測(cè)試的關(guān)鍵點(diǎn),做到有的放矢,大大降低了測(cè)試成本。
推薦閱讀:
為什么要用測(cè)試用例管理工具?如何選擇測(cè)試管理工具?
添加客服微信 歡迎咨詢(xún)測(cè)試工具和測(cè)試服務(wù)
掃描二維碼下載澤眾軟件企業(yè)宣傳冊(cè)
電話咨詢(xún),400-035-7887,安排專(zhuān)業(yè)技術(shù)售前給您解答(產(chǎn)品試用、技術(shù)交流、服務(wù)咨詢(xún)和商務(wù)報(bào)價(jià))。
您的信息已成功提交!
我們的客服人員稍后會(huì)與您聯(lián)系