全國(guó)服務(wù)熱線:18684048962(微信同號(hào))
loadrunner性能測(cè)試工具使用介紹30
發(fā)表時(shí)間:2023-07-09 09:32 性能測(cè)試工具 1、loadrunner環(huán)境搭建及功能介紹 1.1、loadrunner的安裝和破解 具體安裝和破解方法在博客上搜一下,不做贅述。 1.2 、loadrunner基本組成 1.2.1、基本組件 loadrunner由4部分組成,分別是Virtual user generator、Controller、Load Generator、Analysis (1)用戶腳本(Virtual user generator):簡(jiǎn)稱VuGen,錄制與編寫腳本的地方,就是通過錄制或編寫腳本來模擬用戶的行為,同時(shí)會(huì)打印出日志信息,方便調(diào)試腳本;VuGen也是一個(gè)集成開發(fā)調(diào)試環(huán)境,在這里完成腳本開發(fā)并調(diào)試通過后就可以放到Controller中創(chuàng)建場(chǎng)景。 (2)控制臺(tái)(Controller):是性能測(cè)試場(chǎng)景設(shè)計(jì)以及監(jiān)控的地方,設(shè)計(jì)場(chǎng)景 (3)壓力生成器(Load Generator):負(fù)責(zé)將VuGen腳本復(fù)制成大量虛擬用戶對(duì)系統(tǒng)生成負(fù)載;由于生成的負(fù)載一般數(shù)量比較大,通過一臺(tái)Controller調(diào)用多臺(tái)Load Generator。 (4)結(jié)果分析器(Analysis):是收集測(cè)試數(shù)據(jù)后生成圖表報(bào)告的地方,幫助我們分析數(shù)據(jù)并產(chǎn)生圖片,方便對(duì)負(fù)載生成后的相關(guān)數(shù)據(jù)進(jìn)行整理分析。 1.2.2、 loadrunner自帶測(cè)試環(huán)境 啟動(dòng)系統(tǒng)自帶的程序:開始-->HP Loadrunner-->Samples-->Web,先點(diǎn)擊“Start Web Server”,啟動(dòng)服務(wù) 2、loadrunner腳本錄制 2.1、Virtual user generator介紹 2.1.1、Virtual user generator簡(jiǎn)介 (1)Virtual user generator是一種基于錄制回放的工具,可以把操作的步驟錄制下來,自動(dòng)轉(zhuǎn)化為腳本 (2)在VuGen中錄制得到用戶的行為就好比虛擬了一個(gè)用戶的行為,所以我們稱之為Vuser,腳本稱為Vuser Script (3)Vugen進(jìn)行用戶行為模擬的流程 2.1.2、Virtual user generator 詳細(xì)介紹 (1)Start Page 界面,這里提供了一些功能,新建腳本、協(xié)議探測(cè)器以及VuGen新功能介紹 (2)Vuser整個(gè)界面結(jié)構(gòu)分為5個(gè)部分:菜單欄,工具欄,函數(shù)導(dǎo)航欄,腳本詳細(xì)內(nèi)容,腳本執(zhí)行結(jié)果輸出窗口 2.2、腳本錄制 2.2.1、協(xié)議探測(cè)器 (1)協(xié)議選擇的重要性:錄制腳本之前,選對(duì)協(xié)議很關(guān)鍵,否則錯(cuò)誤的協(xié)議會(huì)導(dǎo)致Virtual user generator錄制不到腳本,或錄制的腳本不完整,有些應(yīng)用可能需要選擇多種協(xié)議才能完整的記錄客戶端與服務(wù)器端的請(qǐng)求。 (2)如何選擇協(xié)議:咨詢開發(fā)設(shè)計(jì)人員;根據(jù)經(jīng)驗(yàn)判定;自帶的協(xié)議探測(cè)工具 (3)協(xié)議探測(cè)器的使用: 【1】啟動(dòng)系統(tǒng)自帶的程序(HP Web Tours Application); 【2】啟動(dòng)loadrunner協(xié)議探測(cè)器 步驟 a、在Virtual user generator 下點(diǎn)擊“放大鏡”圖標(biāo),或者Virtual user generator>>File>>Protocol Advisor>>Analyze Application b、在Protocol Advisor界面Application type選擇“Internet Applications” (1)Program to analyze選擇程序的路徑,這里面我們選擇Internet explorer,點(diǎn)擊按鈕“...” (2)Internet explorer路徑選擇可以通過,開始-->Internet Explorer-->屬性-->目標(biāo),獲取路徑 (3)復(fù)制Internet Explorer路徑,在“Select Application”界面,選擇“iexplorer.exe”點(diǎn)擊打開。 2.2.2、錄制腳本操作 a、案例——實(shí)現(xiàn)自帶web系統(tǒng)功能:登錄--退出操作 (1)錄制前準(zhǔn)備 i、啟動(dòng)測(cè)試環(huán)境(點(diǎn)擊“HP Web Tours Application”,啟動(dòng)loadrunner自帶測(cè)試程序) ii、確定被測(cè)系統(tǒng)的類型(web(HTTP/HTML)) iii、錄制采用的瀏覽器 iiii、被測(cè)服務(wù)器地址(http://127.0.0.1:1080/WebTours/) (2)錄制腳本 i、新建腳本選擇網(wǎng)絡(luò)協(xié)議 ii、設(shè)置錄制選項(xiàng) iii、開始錄制(點(diǎn)擊OK,開始錄制,loadrunner自動(dòng)打開瀏覽器http://127.0.0.1:1080/WebTours/,輸入登錄信息) iiii、停止錄制(點(diǎn)擊停止按鈕,腳本生成) iiiii、查看腳本(Script、Tree) 2.2.3、Recording Options(錄制設(shè)置) (1)設(shè)置打開方式(3種) i、菜單Tools-->Recoding Options ii、快捷鍵 Ctrl+F7 iii、Start Record-->Options (2)錄制模式:分為HTML-based script、URL-based script i、HTML-based script:HTML-based 方式對(duì)每個(gè)頁(yè)面錄制形成一條語句 ii、URL-based script:將每條客戶端發(fā)現(xiàn)的請(qǐng)求錄制成一條語句;在該模式下,一條語句只能建立一個(gè)到服務(wù)器的連接,并將通信過程中的很多隱藏的信息都錄制出來。 a、兩種錄制模式的優(yōu)點(diǎn)對(duì)比: i、HTML錄制級(jí)別會(huì)為每一個(gè)HTML用戶動(dòng)作產(chǎn)生一個(gè)單獨(dú)的步驟,而且HTML方式產(chǎn)生的腳本非常簡(jiǎn)潔和直述,易于閱讀。 ii、URL錄制級(jí)別吧對(duì)服務(wù)器每個(gè)對(duì)象的請(qǐng)求,都錄制成一個(gè)單獨(dú)的請(qǐng)求,對(duì)業(yè)務(wù)過程有更好的控制。 b、如何選擇兩種模式 i、基于瀏覽器的應(yīng)用程序推薦使用HTML-Based Script; ii、不是基于瀏覽器的應(yīng)用程序推薦使用URL-Based Script; iii、基于瀏覽器的應(yīng)用程序中使用了HTTPS安全協(xié)議,使用URL-Based Script方式錄制。 c、注意事項(xiàng) i、腳本錄制過程中,可以根據(jù)需要在HTML級(jí)別和URL級(jí)別之間靈活地切換,以獲得最佳效果。 ii、解決錄制過程中亂碼:HTTP Properties-Advance-Support Charset:UTF-8 (3)HTML高級(jí)配置(兩種錄制方法) i、根據(jù)界面錄制的腳本 ii、根據(jù)接口方式錄制的腳本 2.3、腳本的組成及函數(shù) (1)了解Vugen腳本組成 (2) 了解函數(shù)的使用 2.3.1、Vugen腳本組成 (1)vuser_init:虛擬用戶初始化;運(yùn)行1次 (2)action:具體操作 (3)vuser_end:結(jié)束操作;運(yùn)行1次 (4)總結(jié): i、vuser_init 和 vuser_end 都只能存在一下 ii、Action可分成無數(shù)多個(gè)部分 iii、在迭代執(zhí)行測(cè)試腳本時(shí),Vuser_init 和 vuser_end 中的內(nèi)容只會(huì)執(zhí)行一次,迭代的是ActionAction 內(nèi)容。 2.3.2、函數(shù) 在腳本模式下,每行腳本都是函數(shù),函數(shù)中的參數(shù)記錄了客戶端發(fā)送給服務(wù)器(請(qǐng)求request)的數(shù)據(jù)。 (1)web_url:直接請(qǐng)求了一個(gè)網(wǎng)頁(yè) (2)web_submit_data:用來生成表單的get或post請(qǐng)求 (3)web_image:通過單擊圖片鏈接請(qǐng)求打開一個(gè)網(wǎng)頁(yè) 2.4、腳本回放流程 2.4.1、腳本運(yùn)行及查看結(jié)果 (1)了解腳本回放及查看結(jié)果 (2)腳本運(yùn)行 i、點(diǎn)擊run或F5 II、查看結(jié)果(Output Window):包含錄制、回話、關(guān)聯(lián)等相關(guān)信息的輸出管理 (3)lr一共包括4類日志文件(查看結(jié)果) i、Replay Log(回放日志):是腳本回放是lr記錄的日志信息,包括客戶端與服務(wù)器之間的通信日志和HTML源碼錄制時(shí)的快照信息。 ii、Recording Log(錄制日志):是錄制腳本時(shí)產(chǎn)生的日志;是客戶端和服務(wù)器端通信時(shí)的一些交互信息。 iii、Correlation Results(關(guān)聯(lián)結(jié)果):是當(dāng)腳本需要關(guān)聯(lián)時(shí),在回放腳本過程中會(huì)記錄錄制和回放時(shí)需要關(guān)聯(lián)內(nèi)容的值。 iiii、Generation Log(生成日志):腳本生成時(shí)產(chǎn)生的日志。 2.4.2、運(yùn)行設(shè)置 (1)Run-time Settings(運(yùn)行時(shí)設(shè)置) (2)訪問方式(三種方式) i、菜單欄Vuser-->Run-Time Settings ii、快捷鍵F4 iii、工具欄 (3)運(yùn)行設(shè)置 i、運(yùn)行邏輯(run logic):用來設(shè)置運(yùn)行時(shí)腳本的迭代次數(shù);設(shè)計(jì)Action腳本如何運(yùn)行。 ii、Pacing:配置腳本運(yùn)行中每次迭代之間的等待時(shí)間,如果需要周期性在腳本中重復(fù)做某些事情,可以通過Pacing來實(shí)現(xiàn)。 a、with與at的區(qū)別: with是指前一次ending iteration到下一次Sarting Iteration之間的時(shí)間 at是指前一次Sarting Iteration到下一次Sarting Iteration之間的時(shí)間,所 以A包含了前一次迭代執(zhí)行的時(shí)間 iii、log:要用于設(shè)置腳本回放時(shí)的日志格式,提供了一定的調(diào)試分析基礎(chǔ),腳本的回放驗(yàn)證很多時(shí)候都是依靠日志來實(shí)現(xiàn)的。 a、Enable logging:查看日志(需要勾選),然后設(shè)置日志輸出標(biāo)準(zhǔn),這個(gè)設(shè)置在調(diào)試的時(shí)候非常有用。 b、Send messages only when an error occurs:當(dāng)腳本回放時(shí)出現(xiàn)錯(cuò)誤信息時(shí)才收集日志,也即只收集錯(cuò)誤日志信息。 c、Always send messages:收集所有日志信息,不管是正確的還是錯(cuò)誤的日志信息 d、Standard Log(標(biāo)準(zhǔn)日志) e、Extended Log(擴(kuò)展日志): Parameter substitution:將參數(shù)賦值操作為日志輸出(輸出內(nèi)容為藍(lán)色) Data returned by server:表示不僅包括Parameter substitution的信息,還包括服務(wù)器返回到客戶端的信息也會(huì)被記錄。 Advanced trace:高級(jí)跟蹤日志,所有虛擬用戶信息及函數(shù)調(diào)用輸出到日志文件中。 iiii、think time 思考時(shí)間:是指每個(gè)HTML請(qǐng)求之間的時(shí)間間隔。 a、ignore think time:運(yùn)行腳本時(shí)忽略思考時(shí)間,即上一個(gè)http請(qǐng)求結(jié)束后,直接運(yùn)行下一個(gè)http請(qǐng)求,不等待。 b、replay think time: (1)as recorded:按錄制時(shí)的思考時(shí)間來回放,即如果錄制時(shí)間思考為9s,那么回放時(shí)也按9s來計(jì)算 (2)multiply record think time by:根據(jù)錄制時(shí)思考時(shí)間的整數(shù)倍來運(yùn)行。 (3)use random percentage of recorded think time:按錄制思考時(shí)間的隨機(jī)倍數(shù)來回放。 (4)limit think time to:設(shè)置think time的最大值,如果上面的設(shè)置項(xiàng),在回放時(shí)使用的思考時(shí)間超過所限制的時(shí)間,那么以該限制時(shí)間為準(zhǔn)進(jìn)行回放。 綜合上述,設(shè)置為忽略思考時(shí)間時(shí),對(duì)服務(wù)器的壓力最大,因?yàn)樵谕瑯拥膱?chǎng)景執(zhí)行時(shí)間內(nèi),http請(qǐng)求之間的時(shí)間縮短說明向服務(wù)器提交的請(qǐng)求數(shù)增多了,所以服務(wù)器的壓力增加;如果進(jìn)行壓力測(cè)試時(shí),可以選擇該項(xiàng)設(shè)置。 2.5、流程介紹 目標(biāo):了解loadrunner運(yùn)行的流程:需求分析-->測(cè)試計(jì)劃及方案-->測(cè)試執(zhí)行-->結(jié)果分析 (1)運(yùn)行流程:Vuser--> Controller(Load Generator)--> Analysis Vuser:創(chuàng)建測(cè)試腳本 Controller:運(yùn)行測(cè)試場(chǎng)景;監(jiān)控測(cè)試場(chǎng)景 Analysis:分析測(cè)試結(jié)果 標(biāo)簽:loadrunner、性能測(cè)試工具 測(cè)評(píng)服務(wù)
|