性能測(cè)試怎么做???loadrunner性能測(cè)試工具測(cè)試腳本編寫(xiě)及測(cè)試結(jié)果分析

開(kāi)源項(xiàng)目地址:這里查看詳情

更多學(xué)習(xí)資料:這里查看詳情


LoadRunner v11.0性能測(cè)試流程及結(jié)果分析

性能測(cè)試目的

?什么是性能測(cè)試

性能測(cè)試是通過(guò)性能的測(cè)試工具模擬多種正常、峰值以及異常負(fù)載條件來(lái)對(duì)系統(tǒng)的各項(xiàng)性能指標(biāo)進(jìn)行測(cè)試。

負(fù)載測(cè)試和壓力測(cè)試都屬于性能測(cè)試,兩者可以結(jié)合進(jìn)行。通過(guò)負(fù)載測(cè)試,確定在各種工作負(fù)載下系統(tǒng)的性能,目標(biāo)是測(cè)試當(dāng)負(fù)載逐漸增加時(shí),系統(tǒng)各項(xiàng)性能指標(biāo)的變化情況。壓力測(cè)試是通過(guò)確定一個(gè)系統(tǒng)的瓶頸或者不能接收的性能點(diǎn),來(lái)獲得系統(tǒng)能提供的最大服務(wù)級(jí)別的測(cè)試。


性能測(cè)試分類(lèi)及術(shù)語(yǔ)

?測(cè)試分類(lèi)

負(fù)載測(cè)試(Load Testing):負(fù)載測(cè)試是指在一定的軟件、硬件及網(wǎng)絡(luò)環(huán)境下,運(yùn)行一種或多種業(yè)務(wù),在不同虛擬用戶數(shù)量的情況下,測(cè)試服務(wù)器的性能指標(biāo)是否在用戶的要求范圍內(nèi),以此確定系統(tǒng)所能承載的最大用戶數(shù)、最大有效用戶數(shù),以及不同用戶數(shù)下的系統(tǒng)響應(yīng)時(shí)間及服務(wù)器的資源利用率。

壓力測(cè)試(Stress Testing):壓力測(cè)試是指在一定的軟件、硬件及網(wǎng)絡(luò)環(huán)境下,模擬大量的虛擬用戶向服務(wù)器產(chǎn)生負(fù)載,是服務(wù)器資源處于極限狀態(tài)下并長(zhǎng)時(shí)間連續(xù)運(yùn)行,以測(cè)試服務(wù)器在高負(fù)載情況下是否能夠穩(wěn)定工作。與負(fù)載測(cè)試獲得峰值性能數(shù)據(jù)不同,壓力測(cè)試強(qiáng)調(diào)在極端情況下系統(tǒng)的穩(wěn)定性,此時(shí)處理能力已經(jīng)不重要了。

?專(zhuān)業(yè)術(shù)語(yǔ)

場(chǎng)景(Scenario):場(chǎng)景即測(cè)試場(chǎng)景。在LoadRunner的Controller部件中,可以設(shè)計(jì)與執(zhí)行用例的場(chǎng)景,設(shè)置場(chǎng)景的步驟主要包括:在Controller中選擇虛擬用戶腳本、設(shè)置虛擬用戶數(shù)量、配置虛擬用戶運(yùn)行時(shí)的行為、選擇負(fù)載發(fā)生器(Load Generator)、設(shè)置執(zhí)行時(shí)間等。

負(fù)載發(fā)生器(Load Generator):用來(lái)產(chǎn)生壓力的機(jī)器,受Controller控制,可以使用戶腳本在不同的主機(jī)上執(zhí)行。在性能測(cè)試工作中,通常由一個(gè)Controller控制多個(gè)Load Generator以對(duì)被測(cè)試系統(tǒng)進(jìn)行加壓。

虛擬用戶(Virtual User/Vuser):對(duì)應(yīng)于現(xiàn)實(shí)中的真實(shí)用戶,使用LoadRunner模擬的用戶稱(chēng)為虛擬用戶。性能測(cè)試模擬多個(gè)用戶操作可以理解為:這些虛擬用戶在跑腳本,以模擬多個(gè)真正用戶的行為。

虛擬用戶腳本(Vuser script):通過(guò)Vuser Generator錄制或開(kāi)發(fā)的腳本。這些腳本用來(lái)模擬用戶的行為。

事務(wù)(Transaction):測(cè)試人員可以將一個(gè)或多個(gè)操作步驟定義為一個(gè)事務(wù),可以通俗的理解事務(wù)為“人為定義的一系列請(qǐng)求(請(qǐng)求可以是一個(gè)或者多個(gè))”。在程序上,事務(wù)表現(xiàn)為被開(kāi)始標(biāo)記和結(jié)束標(biāo)記圈定的一段代碼區(qū)塊。Loadrunner根據(jù)事務(wù)的開(kāi)頭和結(jié)尾標(biāo)記,計(jì)算事務(wù)響應(yīng)時(shí)間、成功/失敗的事務(wù)數(shù)。


LoadRunner三大組件

?Loadrunner安裝

Loadrunner安裝破解可以百度

?Loadrunner組成

VuGen(虛擬用戶生成器):用于錄制系統(tǒng)性能測(cè)試腳本或者手動(dòng)創(chuàng)建編寫(xiě)性能測(cè)試腳本。

Controller (控制器):用于組織、驅(qū)動(dòng)、管理和監(jiān)控負(fù)載測(cè)試。

Analysis (分析器):用于查看、分析和比較性能結(jié)果。

?性能測(cè)試工作流程

【制定測(cè)試計(jì)劃】->【創(chuàng)建測(cè)試腳本】->【設(shè)計(jì)測(cè)試場(chǎng)景】->【執(zhí)行測(cè)試場(chǎng)景】

->【分析測(cè)試結(jié)果】->【系統(tǒng)性能調(diào)優(yōu)】


制定測(cè)試計(jì)劃方案:確定測(cè)試要求,如并發(fā)用戶數(shù)量、典型業(yè)務(wù)場(chǎng)景流程;測(cè)試計(jì)劃等。

創(chuàng)建Vuser腳本:使用Virtual User Generator錄制、手動(dòng)編寫(xiě)測(cè)試腳本。

設(shè)計(jì)測(cè)試場(chǎng)景:使用LoadRunner Controller 設(shè)置測(cè)試場(chǎng)景。

執(zhí)行場(chǎng)景:使用LoadRunner Controller 驅(qū)動(dòng)、管理并監(jiān)控場(chǎng)景的運(yùn)行。

分析測(cè)試結(jié)果:使用LoadRunner Analysis 生成報(bào)告和圖表并評(píng)估性能。


創(chuàng)建測(cè)試腳本

?錄制測(cè)試腳本

?測(cè)試腳本調(diào)試

?腳本參數(shù)化

?關(guān)聯(lián)變量

例如:"token":"1JYPO_yuDuqlSa5Gd9gnUBm4ShhmEKYSCohcnc6sNNw"獲取token值

?檢查點(diǎn)設(shè)置


設(shè)置場(chǎng)景運(yùn)行腳本

?運(yùn)行測(cè)試場(chǎng)景

Controller控制臺(tái)場(chǎng)景執(zhí)行圖,各部分圖數(shù)展示:


分析測(cè)試結(jié)果

?性能指標(biāo)

TPS:Transaction per second 指應(yīng)用系統(tǒng)每秒鐘處理完成的交易數(shù)量,是估算應(yīng)用系統(tǒng)性能的重要依據(jù)。一般而言,評(píng)價(jià)系統(tǒng)性能均以每秒完成的技術(shù)交易的數(shù)量來(lái)衡量。系統(tǒng)整體處理能力取決于處理能力最低模塊的TPS值。

HPS:Hit per second 每秒點(diǎn)擊次數(shù)指一秒鐘的時(shí)間內(nèi)用戶對(duì)web頁(yè)面的鏈接、提交按鈕等點(diǎn)擊總和。HPS一般與 TPS成正比關(guān)系,是B/S系統(tǒng)中非常重要的性能指標(biāo)之一。

事務(wù)響應(yīng)時(shí)間:Transaction Response Time 指腳本中開(kāi)始到結(jié)束的腳本測(cè)試過(guò)程中的響應(yīng)時(shí)間。

資源利用率:資源利用率是指系統(tǒng)在負(fù)載運(yùn)行期間,數(shù)據(jù)庫(kù)服務(wù)器、應(yīng)用服務(wù)器、web服務(wù)器的CPU、內(nèi)存、硬盤(pán)、外置存儲(chǔ),網(wǎng)絡(luò)帶寬的使用率。

?結(jié)果分析

通過(guò)執(zhí)行場(chǎng)景得到結(jié)果的相關(guān)數(shù)據(jù):TPS、響應(yīng)時(shí)間、CPU、IO等。根據(jù)性能測(cè)試方案中提到的性能指標(biāo),確認(rèn)結(jié)果是否符合要求。不符合則需要找到性能瓶頸并優(yōu)化。

配置項(xiàng)檢查:中間件活躍線程數(shù)、JVM相關(guān)內(nèi)存分配、數(shù)據(jù)庫(kù)連接池等

硬件資源:增加CPU、內(nèi)存等硬件資源(資源不夠情況下)以及增加服務(wù)器數(shù)量

SQL語(yǔ)句以及代碼分析:通過(guò)分析SQL和代碼,找出邏輯復(fù)雜執(zhí)行效率低的SQL或代碼并修改

系統(tǒng)架構(gòu)分析:風(fēng)險(xiǎn)較大。(一般由架構(gòu)師執(zhí)行)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容