發(fā)布時(shí)間:2020-08-03
web性能測試是做web開發(fā)的時(shí)候必須要進(jìn)行的,可以說測試人員在進(jìn)行web性能測試的時(shí)候,是需要了解下一個(gè)web的請求過程的。簡單的說,web的請求過程首先是需要客戶發(fā)送請求,然后才有webserver接受到請求,進(jìn)行處理,接著是webserver向DB獲取數(shù)據(jù),最后webserver生成用戶的object(頁面),返回給用戶。給客戶發(fā)送請求開始到最后一個(gè)字節(jié)的時(shí)間稱為響應(yīng)時(shí)間。
Web性能測試模型
1、預(yù)期指標(biāo)的性能測試
主要指需求分析和設(shè)計(jì)階段提出的一些性能指標(biāo)。
針對(duì)每個(gè)指標(biāo)都要編寫一個(gè)或者多個(gè)測試用例來驗(yàn)證系統(tǒng)是否達(dá)到要求。
預(yù)期指標(biāo)的性能測試用例通常以單用戶為主,如果涉及并發(fā)用戶內(nèi)容,則歸并到并發(fā)用戶測試用例中進(jìn)行設(shè)計(jì)。
選擇具有代表性、關(guān)鍵的業(yè)務(wù)來設(shè)計(jì)用例,并且用戶的設(shè)計(jì)應(yīng)該面向“模塊”
用戶并發(fā)性能測試分為:獨(dú)立核心模塊并發(fā)性能測試,組合模塊并發(fā)性能測試
獨(dú)立核心模塊并發(fā):完全一樣功能的并發(fā)測試;完全一樣操作的并發(fā)測試;相同/不同的子功能并發(fā)。
針對(duì)獨(dú)立核心模塊用戶并發(fā)性能的測試用例設(shè)計(jì),可發(fā)現(xiàn)一些核心算法或者功能方面的問題,如一些多線程、同步并發(fā)算法在單用戶模式下測試是很難發(fā)現(xiàn)問題的,通過模擬多用戶的并發(fā)操作,更容易驗(yàn)證其是否正確和穩(wěn)定。
核心模塊測試一般屬于基本的性能測試,它較多地關(guān)注模擬的“功能”,一般不會(huì)對(duì)服務(wù)器進(jìn)行測試。
組合模塊并發(fā):具有耦合關(guān)系的核心模塊進(jìn)行組合并發(fā)測試;彼此獨(dú)立的、內(nèi)部具有耦合關(guān)系的核心模塊組的并發(fā)測試;基于用戶場景的并發(fā)測試。
組合模塊測試一般發(fā)現(xiàn)接口方面的功能問題,并盡早發(fā)現(xiàn)綜合性能問題。
在實(shí)際中,各種類型的用戶都會(huì)對(duì)應(yīng)一組模塊,相當(dāng)于不同的業(yè)務(wù)組在并發(fā)訪問系統(tǒng),要充分考慮實(shí)際場景,如話費(fèi)管理系統(tǒng)中的每月10日左右的收費(fèi)高峰等場景。
在編寫組合模塊用戶并發(fā)性能測試用例時(shí),不但要考慮用戶使用場景,還要注意并發(fā)點(diǎn)的運(yùn)用,并發(fā)點(diǎn)是指一定數(shù)量的用戶開始執(zhí)行同一功能或者操作的時(shí)間點(diǎn),一組測試場景通常包含多個(gè)并發(fā)點(diǎn),從而實(shí)現(xiàn)了核心模塊同一功能或者操作的真正并發(fā)。
3、獨(dú)立業(yè)務(wù)性能測試
獨(dú)立業(yè)務(wù)實(shí)際是指一些核心業(yè)務(wù)模塊對(duì)應(yīng)的業(yè)務(wù)。這些模塊通常具有功能比較復(fù)雜,使用比較頻繁,屬于核心業(yè)務(wù)等特點(diǎn)。主要測試這類模塊和性能相關(guān)的一些算法、還要測試這類模塊對(duì)并發(fā)用戶的響應(yīng)情況。用戶并發(fā)測試是核心業(yè)務(wù)模塊的重點(diǎn)測試內(nèi)容。
4、組合業(yè)務(wù)性能測試
是最接近用戶實(shí)際使用情況的測試,也是性能測試的核心內(nèi)容。
組合并發(fā)的突出特點(diǎn)是根據(jù)用戶使用系統(tǒng)的情況分成不同的用戶組進(jìn)行并發(fā),每組的用戶比例要根據(jù)實(shí)際情況來進(jìn)行匹配。
用戶并發(fā)測試是組合業(yè)務(wù)性能測試的核心內(nèi)容。“組合”并發(fā)的突出特點(diǎn)是根據(jù)用戶使用系統(tǒng)的情況分成不同的用戶組進(jìn)行并發(fā),每組的用戶比例要根據(jù)實(shí)際情況來進(jìn)行匹配。
5、網(wǎng)絡(luò)性能測試
為準(zhǔn)確展未帶寬、延遲、負(fù)載和端口的變化是如何影響用戶的響應(yīng)時(shí)間的。主要是測試應(yīng)用系統(tǒng)的用戶數(shù)目與網(wǎng)絡(luò)帶寬的關(guān)系。
調(diào)整性能最好的辦法就是軟硬相結(jié)合。
6、大數(shù)據(jù)量測試
主要是針對(duì)對(duì)數(shù)據(jù)庫有特殊要求的系統(tǒng)進(jìn)行的測試,主要分為三種:
1.實(shí)時(shí)大數(shù)據(jù)量:模擬用戶工作時(shí)的實(shí)時(shí)大數(shù)據(jù)量,主要目的是測試用戶較多或者某些業(yè)務(wù)產(chǎn)生較大數(shù)據(jù)量時(shí),系統(tǒng)能否穩(wěn)定地運(yùn)行。
2.極限狀態(tài)下的測試:主要是測試系統(tǒng)使用一段時(shí)間即系統(tǒng)累積一定量的數(shù)據(jù)時(shí),能否正常地運(yùn)行業(yè)務(wù)
3.前面兩種的結(jié)合:測試系統(tǒng)已經(jīng)累積較大數(shù)據(jù)量時(shí),一些實(shí)時(shí)產(chǎn)生較大數(shù)據(jù)量的模塊能否穩(wěn)定地工作。
大數(shù)據(jù)量測試用例的設(shè)計(jì):1,歷史數(shù)據(jù)引起的大數(shù)據(jù)量測試和2運(yùn)行時(shí)大數(shù)據(jù)量測試
首先確定系統(tǒng)數(shù)據(jù)的最長遷移周期和選擇一些前面的核心模塊或者組合模塊的并發(fā)用戶測試用例作為其主要內(nèi)容即可。
7、服務(wù)器性能測試
性能測試的主要目的是在軟件功能良好的前提下,發(fā)現(xiàn)系統(tǒng)瓶頸并解決,而軟件和服務(wù)器是產(chǎn)生瓶頸的兩大來源,因此在進(jìn)行用戶并發(fā)性能測試,疲勞強(qiáng)度與大數(shù)據(jù)量性能測試時(shí),完成對(duì)服務(wù)器性能的監(jiān)控,并對(duì)服務(wù)器性能進(jìn)行評(píng)估。
服務(wù)器性能測試用例設(shè)計(jì)就是確定要采集的性能計(jì)數(shù)器,并將其與前面的測試關(guān)聯(lián)起來。
到這里大家對(duì)于web性能測試應(yīng)該有了一個(gè)簡單的了解,小編所了解的這些知識(shí)是測試人員必須要掌握的,有人若是要從事這個(gè)行業(yè)的話,就需要把這些知識(shí)記牢。今天小編既然講到了性能測試方面的知識(shí),那么接下來小編就給大家介紹一個(gè)性能測試工具,PerformanceRunner (性能測試工具)可對(duì)客戶端程序,C/S系統(tǒng)、B/S系統(tǒng)錄制測試腳本,方便了用戶使用。測試腳本使用Java語法規(guī)范,易于編寫和維護(hù),并且提供擴(kuò)展機(jī)制;它還能夠從一臺(tái)機(jī)器生成大量不同IP地址訪問服務(wù)器,模擬真實(shí)狀況,更好地保證壓力測試結(jié)果的有效性。
推薦閱讀:
關(guān)于壓力測試的哪些知識(shí)是測試人員必知的?
原來性能測試類型有這么多!PerformanceRunner工具怎么樣?
前端性能分析的方法有哪些?可以使用哪些工具進(jìn)行前端性能分析?
電話咨詢,400-035-7887,安排專業(yè)技術(shù)售前給您解答(產(chǎn)品試用、技術(shù)交流、服務(wù)咨詢和商務(wù)報(bào)價(jià))。
您的信息已成功提交!
我們的客服人員稍后會(huì)與您聯(lián)系