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