![LoadRunner基礎(chǔ)知識入門_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-7/19/393c3e03-4974-45a3-ad4b-2696a2f57848/393c3e03-4974-45a3-ad4b-2696a2f578481.gif)
![LoadRunner基礎(chǔ)知識入門_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-7/19/393c3e03-4974-45a3-ad4b-2696a2f57848/393c3e03-4974-45a3-ad4b-2696a2f578482.gif)
![LoadRunner基礎(chǔ)知識入門_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-7/19/393c3e03-4974-45a3-ad4b-2696a2f57848/393c3e03-4974-45a3-ad4b-2696a2f578483.gif)
![LoadRunner基礎(chǔ)知識入門_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-7/19/393c3e03-4974-45a3-ad4b-2696a2f57848/393c3e03-4974-45a3-ad4b-2696a2f578484.gif)
![LoadRunner基礎(chǔ)知識入門_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-7/19/393c3e03-4974-45a3-ad4b-2696a2f57848/393c3e03-4974-45a3-ad4b-2696a2f578485.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、LoadRunner基礎(chǔ)講解LoadRunner基礎(chǔ)培訓(xùn) LoadRunner LoadRunner的簡介的簡介2 性能測試簡介性能測試簡介1 LoadRunner LoadRunner測試測試流程流程3性能測試簡介性能性能測試相關(guān)測試相關(guān)術(shù)語:術(shù)語:響應(yīng)時間、并發(fā)用戶數(shù)、事務(wù)響應(yīng)時間、吞吐量、TPS(每秒事務(wù)響應(yīng)數(shù))、性能計數(shù)器等。性能測試性能測試方法:方法:負(fù)載測試、壓力測試、配置測試、并發(fā)測試、可靠性測試等。應(yīng)用應(yīng)用領(lǐng)域:領(lǐng)域:能力驗證、性能調(diào)優(yōu)、缺陷發(fā)現(xiàn)。性能測試工具架構(gòu):性能測試工具架構(gòu):一般包括以下部件:虛擬用戶腳本產(chǎn)生器(Virtual User Generator)、壓力產(chǎn)生器
2、(player)、用戶代理(Agent)、壓力調(diào)度和監(jiān)控系統(tǒng)(Conductor)、壓力結(jié)果分析工具(Analysis)。 性能性能測試測試是利用產(chǎn)品、人員和流程來降低應(yīng)用程序、升級程序或補丁程序部署風(fēng)險的一種手段。性能測試的主要思想是通過產(chǎn)生模擬真實業(yè)務(wù)的壓力對被測系統(tǒng)進(jìn)行加壓,研究被測系統(tǒng)在不同壓力情況下的表現(xiàn),找出其潛在的瓶頸。LoadRunner簡介 LoadRunner是一種預(yù)測系統(tǒng)行為和性能的負(fù)載測試工具。是一種預(yù)測系統(tǒng)行為和性能的負(fù)載測試工具。它通過模擬實際用戶的操作行為和實行實時性能監(jiān)測,來幫助測試人員更快的查找和發(fā)現(xiàn)問題。LoadRunner適用于各種體系架構(gòu),能支持廣泛的協(xié)
3、議和技術(shù),為測試的特殊環(huán)境提供特殊的解決方案。通過使用LoadRunner,企業(yè)能最大限度地縮短測試時間,優(yōu)化性能并加速應(yīng)用系統(tǒng)的發(fā)布周期。 LoadRunner提供了3大主要模塊,這3個模塊既可以作為獨立的工具分別完成各自的功能,又可以作為LoadRunner的一部分彼此銜接,與其他模塊共同完成軟件性能的整體測試。這3大模塊分別是: Virtual User Generator 用于錄制性能測試用于錄制性能測試腳本腳本 LoadRunner Controller 用于創(chuàng)建、運行和監(jiān)控用于創(chuàng)建、運行和監(jiān)控場景場景 LoadRunner Analysis 用于分析性能測試用于分析性能測試結(jié)果結(jié)果
4、 LoadRunner的安裝過程比較簡單,運行setup.exe,點擊“LoadRunner完整安裝”,按照向?qū)е鸩桨惭b就可以了。 提示:建議安裝過程關(guān)閉360等殺毒軟件。否則可能出現(xiàn)安裝后,用Controller創(chuàng)建場景報錯:Failed to Connect to LoadRunner Controller,控制器無法使用。LoadRunner簡介LoadRunner LoadRunner 常用術(shù)語常用術(shù)語: :1.場景場景(Scenario):場景即測試場景。在LoadRunner的Controller部件中,可以設(shè)計與執(zhí)行用例的場景,設(shè)置場景的步驟主要包括:在Controller中選擇
5、虛擬用戶腳本、設(shè)置虛擬用戶數(shù)量、配置虛擬用戶運行時的行為、選擇負(fù)載發(fā)生器(Load Generator)、設(shè)置執(zhí)行時間等。 2.負(fù)載發(fā)生器負(fù)載發(fā)生器(Load Generator):用來產(chǎn)生壓力的機器,受Controller控制,可以使用戶腳本在不同的主機上執(zhí)行。在性能測試工作中,通常由一個Controller控制多個Load Generator以對被測試系統(tǒng)進(jìn)行加壓。 3.虛擬用戶虛擬用戶(Virtual User/Vuser):對應(yīng)于現(xiàn)實中的真實用戶,使用LoadRunner模擬的用戶稱為虛擬用戶。性能測試模擬多個用戶操作可以理解為:這些虛擬用戶在跑腳本,以模擬多個真正用戶的行為。 4.虛
6、擬用戶腳本虛擬用戶腳本(Vuser script):通過Vuser Generator錄制或開發(fā)的腳本。這些腳本用來模擬用戶的行為。 LoadRunner簡介5.事務(wù)事務(wù)(Transaction):測試人員可以將一個或多個操作步驟定義為一個事務(wù),可以通俗的理解事務(wù)為“人為定義的一系列請求(請求可以是一個或者多個)”。在程序上,事務(wù)表現(xiàn)為被開始標(biāo)記和結(jié)束標(biāo)記圈定的一段代碼區(qū)塊。Loadrunner根據(jù)事務(wù)的開頭和結(jié)尾標(biāo)記,計算事務(wù)響應(yīng)時間、成功/失敗的事務(wù)數(shù)。6.思考時間思考時間(Think Time):即請求間的停頓時間。實際中,用戶在進(jìn)行一個操作后往往會停頓然后再進(jìn)行下一個操作,為了更真實的
7、模擬這種用戶行為而引進(jìn)該概念。在虛擬用戶腳本中用函數(shù)lr_think_time()來模擬用戶處理過程,執(zhí)行該函數(shù)時用戶線程會按照相應(yīng)的time值進(jìn)行等待。 7.集合點集合點(Rendezvous):設(shè)集合點是為了更好模擬并發(fā)操作。設(shè)了集合點后,運行過程中用戶可以在集合點等待到一定條件后再一起發(fā)后續(xù)的請求。集合點在虛擬用戶腳本中對應(yīng)函數(shù)lr_rendezvous() 。 8.事務(wù)響應(yīng)時間事務(wù)響應(yīng)時間:事務(wù)響應(yīng)時間是一個統(tǒng)計量,是評價系統(tǒng)性能的重要參數(shù)。定義好事務(wù)后,在場景執(zhí)行過程和測試結(jié)果分析中即可以看到對應(yīng)事務(wù)的響應(yīng)時間。通過對關(guān)鍵或核心事務(wù)的執(zhí)行情況進(jìn)行分析,以定位是否存在性能問題。 Loa
8、dRunner測試流程第一步第二步第三步第四步第五步規(guī)劃測試(計劃、用例)創(chuàng)建UV腳本定義場景運行場景分析結(jié)果LoadRunner測試流程規(guī)劃測試規(guī)劃測試 確定測試要求,如并發(fā)用戶數(shù)量、典型業(yè)務(wù)場景流程;測試計劃;設(shè)計用例;創(chuàng)建創(chuàng)建VuserVuser腳本腳本 使用Virtual User Generator錄制、編輯和完善測試腳本。 定義場景定義場景 使用LoadRunner Controller 設(shè)置測試場景。運行場景運行場景 使用LoadRunner Controller 驅(qū)動、管理并監(jiān)控場景的運行。分析結(jié)果分析結(jié)果 使用LoadRunner Analysis 生成報告和圖表并評估性能。
9、 為了更好說明LoadRunner的功能以及測試流程,我們將進(jìn)行一次簡單的測試過程演示,過程中,將向您介紹如何使用LoadRunner組件(VuGen、Controller和Analysis)。規(guī)劃測試 好的測試規(guī)劃,能夠指導(dǎo)整個測試過程,以更好的收集到測試目標(biāo)要求的性能數(shù)據(jù)。規(guī)劃可以包括測試的計劃、用例的設(shè)計、場景的設(shè)計、性能計數(shù)器設(shè)置的設(shè)計等。 以下列出幾點規(guī)劃事項: 1 1. .測試用例:測試用例:測試用例一般根據(jù)需要測試的功能進(jìn)行設(shè)計,這里測試過程的用例為:進(jìn)入登錄頁面-填用戶名密碼,登錄-單擊新增按鈕-填寫相關(guān)信息,保存。 2. 2.場景設(shè)計:場景設(shè)計:一般情況會設(shè)計兩種加壓方式進(jìn)行
10、測試:瞬時加壓(多人同時進(jìn)行某項業(yè)務(wù)操作)與逐漸加壓(多人先后進(jìn)行某項業(yè)務(wù)操作,操作時間間隔根據(jù)計劃設(shè)定)。這里不詳細(xì)說明。 3.3.性能計數(shù)器方面:性能計數(shù)器方面:可以收集CPU時間、內(nèi)存、硬盤、網(wǎng)絡(luò)、數(shù)據(jù)庫參數(shù)、IIS參數(shù)等。這里不詳細(xì)說明。 創(chuàng)建Vuser腳本錄制基本腳本1.1.啟動啟動LoadRunnerLoadRunner選擇開始程序 HPLoadRunnerLoadRunner,打開HP LoadRunner11窗口。2.2.打開打開VuGenVuGen在LoadRunner Launcher窗格中,單擊Create/Edit Scripts,鏈接啟動Virtual user Ge
11、nerator起始頁。創(chuàng)建Vuser腳本錄制基本腳本3.3.創(chuàng)建一個空白創(chuàng)建一個空白WebWeb腳本腳本選擇FileNew菜單,或點擊 按鈕,打開New Virtual User對話框,顯示可供選擇腳本的協(xié)議。對于常用的應(yīng)用軟件,我們可以根據(jù)被測應(yīng)用是B/S結(jié)構(gòu)還是C/S結(jié)構(gòu)來選擇協(xié)議。如果是B/S結(jié)構(gòu),就要選擇Web(HTTP/HTML)協(xié)議。如果是C/S結(jié)構(gòu),則可以根據(jù)后端數(shù)據(jù)庫的類型來選擇,如MS SQL Server協(xié)議用于測試后臺數(shù)據(jù)庫為SQL Server的應(yīng)用;對于沒有數(shù)據(jù)庫的WINDOWS應(yīng)用,可以選擇Windows Sockets協(xié)議。根據(jù)選擇協(xié)議的不同,Virtual Us
12、er Generator 會使用不同的方式和界面引導(dǎo)用戶完成腳本的錄制。我們測試環(huán)境的對應(yīng)系統(tǒng)基于B/S結(jié)構(gòu),因此我們選擇Web(HTTP/HTML)協(xié)議啟動被測應(yīng)用頁面的對話框。創(chuàng)建Vuser腳本錄制基本腳本4.4.錄制前的設(shè)置錄制前的設(shè)置選擇Web(HTTP/HTML),點擊Create按鈕,打開Start Recording對話框。選擇的協(xié)議不同,打開的窗口就會不同,實例是針對Web錄制的對話框。Record into Action Record into Action 實例可將登錄系統(tǒng)存放在Vuser_init,新增功能存放在Action,注銷(即退出)存放在Vuser_end。 Vu
13、Gen的腳本分為三個部分:Vuser_init,Action,Vuser_end。其中Vuser_init和Vuser_end都只能存在一個,而Action可分成無數(shù)多個部分,可以通過點擊旁邊的【new】按鈕來創(chuàng)建Action。在迭代執(zhí)行測試腳本時,Vuser_init和Vuser_end中的內(nèi)容只會執(zhí)行一次,迭代的是Action部分。創(chuàng)建Vuser腳本錄制基本腳本在Start Recording對話框,點擊Options按鈕,進(jìn)入錄制選項設(shè)置。一般要設(shè)置以下選項:1)RecordingHTTP/HTML level中設(shè)置腳本的顯示形式:2)AdvancedSupport charset中設(shè)置
14、編碼格式: 基于瀏覽器的應(yīng)用程序推薦使用HTML-based script。 不是基于瀏覽器的應(yīng)用程序推薦使用URL-based script。 基于瀏覽器的應(yīng)用程序中包含了JavaScript,并且該腳本向服務(wù)器發(fā)送了請求,比如DataGrid的分頁按鈕等,推薦使用URL-based script。 基于瀏覽器的應(yīng)用程序中使用了HTTPS安全協(xié)議,建議使用URL-based script。 提示:錄制Web腳本時,生成的腳本中存在亂碼該如何解決? 新建腳本-選擇協(xié)議(Http)-選項-高級-選擇“支持字符集”并點選“UTF-8”。 在回放腳本之前:Vuser-運行時設(shè)置-瀏覽器-瀏覽器仿真-
15、更改-使用瀏覽器-語言下來選擇 “中文(中國)”。創(chuàng)建Vuser腳本錄制基本腳本5.5.錄制錄制 在Start Recording對話框,點擊OK按鈕,開始錄制。系統(tǒng)自動彈出IE,加載對應(yīng)系統(tǒng)的登錄界面。 在錄制的過程中,屏幕上有一個懸浮的錄制工具欄,是腳本錄制過程中測試人員和VuGen交互的主要平臺。熟悉錄制腳本工具欄:熟悉錄制腳本工具欄:創(chuàng)建Vuser腳本錄制基本腳本實例實例操作:操作:登錄系統(tǒng)發(fā)布消息退出 通過操作被測系統(tǒng),操作的每一個步驟都被記錄,在錄制的過程中,可以在相應(yīng)的步驟插入action、事務(wù)、檢查點、集合點等信息。錄制完成后單擊 按鈕,Loadrunner開始生成腳本,生成的
16、腳本如圖所示。 熟悉兩種腳本查看方式:熟悉兩種腳本查看方式:Script View 可以查看全部錄制的腳本代碼(左圖)Tree View 可以查看每個URL獲取來的頁面(右圖)創(chuàng)建Vuser腳本增強/編輯腳本1.1.插入事務(wù)插入事務(wù) 插入事務(wù)是用于把功能分為若干部分,在統(tǒng)計性能指標(biāo)時,可以對不同的事務(wù)分別作統(tǒng)計。如果對腳本不是太熟悉,可以在錄制的時候,逐步插入。也可以在錄制完成之后,在腳本中插入。 在錄制時插入操作為:在錄制時插入操作為:錄制某個功能開始前單擊插入事務(wù)的起始點錄制,直到某個功能結(jié)束插入事務(wù)的結(jié)束點。 在腳本的插入方式為:在腳本的插入方式為:插入事務(wù)起始點:單擊某個功能起始前的空
17、白處右鍵鼠標(biāo)insertstart transaction命名OK。系統(tǒng)自動在腳本語句中插入如下語句:lr_start_transaction(登錄);插入事務(wù)結(jié)束點:單擊某個功能結(jié)束后的空白處右鍵鼠標(biāo)insertend transaction命名(與起始點的名字一致)OK。系統(tǒng)自動在腳本語句中插入如下語句:lr_end_transaction(登錄,LR_AUTO);創(chuàng)建Vuser腳本增強/編輯腳本2.2.參數(shù)化參數(shù)化 參數(shù)化的作用是在進(jìn)行場景執(zhí)行的時候,每個不同的虛擬用戶可以按照參數(shù)的讀取策略讀取到參數(shù)值,以模擬不同用戶在提交或者讀取不同的數(shù)據(jù)。 每個用戶在界面上讀取和提交的信息都不太相同
18、,因此一般都需要參數(shù)化,其它與輸入信息對應(yīng)的比如用戶id之類的信息也需要參數(shù)化;另外,錄制環(huán)境絕大多數(shù)情況下與執(zhí)行環(huán)境不一致,因此一般需要對IP、端口或者域名做參數(shù)化。下面將分四部分來介紹參數(shù)化的方法和實施過程: 確定需要參數(shù)化的常量確定需要參數(shù)化的常量 準(zhǔn)備數(shù)據(jù)準(zhǔn)備數(shù)據(jù) 對腳本進(jìn)行參數(shù)化對腳本進(jìn)行參數(shù)化 還原初始字符串還原初始字符串創(chuàng)建Vuser腳本增強/編輯腳本 確定需要參數(shù)化的常量確定需要參數(shù)化的常量 打開腳本后,首先要確定哪些常量需要參數(shù)化。例如系統(tǒng)登錄的腳本代碼: 可以看出,在web_submit_data函數(shù)中,兩條語句包含了兩個常量:用戶名和密碼。 Name=txtUserNum
19、ber, Value=220999, ENDITEM, Name=txtPassword, Value=888888, ENDITEM, 當(dāng)我們想模擬多個不同的用戶來運行登錄腳本的時候,需要對Value=220999和Value=888888進(jìn)行參數(shù)化。 另外,新增腳本代碼中,若錄入項中有必填+唯一屬性的,也需要做參數(shù)化設(shè)置。其它還有哪些常量需要參數(shù)化,可以根據(jù)業(yè)務(wù)場景來確定。創(chuàng)建Vuser腳本增強/編輯腳本準(zhǔn)備數(shù)據(jù)準(zhǔn)備數(shù)據(jù) 根據(jù)實例,我們需要準(zhǔn)備用戶名、密碼這二個參數(shù)的數(shù)據(jù)。對于用戶名用戶名和密碼密碼,我們準(zhǔn)備下述可以直接登錄系統(tǒng)的用戶名和密碼:username1 888888usernam
20、e2 888888username3 888888username4 888888username5 888888username6 888888username7 888888username8 888888username9 888888username 888888創(chuàng)建Vuser腳本增強/編輯腳本對腳本進(jìn)行參數(shù)化對腳本進(jìn)行參數(shù)化以用戶名參數(shù)化為例,參數(shù)化過程如下:1)選中220999右擊鼠標(biāo)在右鍵菜單上選擇replace with a parameter。2)在彈出窗口填寫參數(shù)名稱,或選擇一個已經(jīng)存在的參數(shù)名。常用的參數(shù)類型:常用的參數(shù)類型:Data/Time:使用當(dāng)前日期/時間替換所選
21、常量。Group Name:使用Vuser組的名稱替換所選常量。Load Generator Name:使用Vuser腳本的負(fù)載發(fā)生器名替換所選常量。Iteration Number:使用當(dāng)前的迭代編號替換所選常量。Random Number:使用一個隨機生成的整數(shù)替換所選常量,可以通過參數(shù)屬性設(shè)定參數(shù)的范圍。Unique Number:使用一個唯一編號替換所選常量,可以通過參數(shù)屬性設(shè)定參數(shù)的第一個值和遞增的規(guī)則。Vuser ID:使用運行腳本的虛擬用戶ID來代替選擇的常量。File:采用外部的數(shù)據(jù)來代替,可以使用單獨的文件,也可以使用現(xiàn)成的數(shù)據(jù)庫中獲取數(shù)據(jù)。User Defined Func
22、tion:從用戶開發(fā)的dll文件中獲取數(shù)據(jù)。創(chuàng)建Vuser腳本增強/編輯腳本3)單擊窗口的properties按鈕,設(shè)置parameter的properties。文件文件File:參數(shù)化結(jié)束后,腳本保存的根目錄下會自動生成一個 以參數(shù)名稱命名的 參數(shù)文件;也可以直接選擇一個已準(zhǔn)備好的參數(shù)文件。選擇參數(shù)列選擇參數(shù)列Select Column:By number:以列號為參數(shù)列。By name:以列名為參數(shù)列。文件格式:文件格式: Column:參數(shù)之間的分隔符:逗號、空格、Tab。 First data:從第幾行讀取數(shù)據(jù)。選擇參數(shù)分配方法選擇參數(shù)分配方法Select next row:Seque
23、ntial:順序的分配Vuser參數(shù)值。當(dāng)正在運行的Vuser訪問數(shù)據(jù)表格時,它將會提取下一個可用的數(shù)據(jù)行。Random:當(dāng)腳本開始運行時,“隨機”的為每個Vuser分配一個數(shù)據(jù)表格中的隨機值。Unique:為Vuser的參數(shù)分配一個“唯一”的順序值。注意,參數(shù)數(shù)量一定要大于等于“Vuser量*迭代數(shù)量”。選擇參數(shù)更新方法選擇參數(shù)更新方法Update value on:Each iteration:腳本每次迭代都順序的使用數(shù)據(jù)表格中的下一個新值。Each occurrence:在迭代中只要遇到該參數(shù)就重新取值。Once:在所有的迭代中都使用同一個值。當(dāng)超出范圍時當(dāng)超出范圍時When out o
24、f values:(選擇數(shù)據(jù)為:(選擇數(shù)據(jù)為unique時才可用到)時才可用到)Abort Vuser:中止。Continue in a cyclic manner:繼續(xù)循環(huán)取值。Continue with last value:取最后一個值。 設(shè)置完成后,被參數(shù)化的值會被參數(shù)名代替。實例中設(shè)置參數(shù)名為UserNumber,腳本原先220999部分變?yōu)榱俗霞t色的UserNumber。 創(chuàng)建Vuser腳本增強/編輯腳本4)如果其它地方也用到這個相同的參數(shù),則可以進(jìn)行替換。方法一:選中需要被替換的常量右鍵鼠標(biāo)use existing parameter選擇已經(jīng)存在的參數(shù)名。方法二:選中這個設(shè)置好的
25、參數(shù),右鍵鼠標(biāo)replace more occurrences逐個替換(如果確定所有都需替換可以全部替換)。創(chuàng)建Vuser腳本增強/編輯腳本還原初始字符串還原初始字符串 通過VuGen,可以還原最初錄制的字符串從而撤消參數(shù)化。方法為:在腳本視圖中,右鍵單擊該參數(shù)并選擇“Restore original value()”。 設(shè)置完成后,該參數(shù)被還原為初始字符串。實例中的參數(shù)UserNumber,被還原為初始的220999。 創(chuàng)建Vuser腳本增強/編輯腳本3.3.插入集合點插入集合點 插入集合點是一種增大并發(fā)壓力的方式。腳本運行時,只有當(dāng)?shù)竭_(dá)集合點的虛擬用戶數(shù)滿足設(shè)置要求時,才會繼續(xù)往下運行。
26、插入集合點可以在錄制的時候,逐步插入,也可以在錄制完成之后,在腳本中插入。需要注意的是,集合點只能插入Action部分的腳本中,不能插入vuser_init和vuser_end兩部分腳本中。 在錄制時插入操作為在錄制時插入操作為:錄制某個功能開始前單擊插入集合點命名OK 在腳本的插入方式為:在腳本的插入方式為:單擊需要插入集合點的功能開始前的空白處右鍵鼠標(biāo)insert rendezvous命名OK。 系統(tǒng)自動在腳本語句中插入如下語句:lr_rendezvous(新增);實例中,可以在新增功能前插入集合點。創(chuàng)建Vuser腳本增強/編輯腳本4.4.關(guān)聯(lián)關(guān)聯(lián) 關(guān)聯(lián)的含義是,在腳本回放過程中,客戶端發(fā)
27、出請求,通過關(guān)聯(lián)函數(shù)所定義的左右邊界值(也就是關(guān)聯(lián)規(guī)則),在服務(wù)器所響應(yīng)的內(nèi)容中查找,得到相應(yīng)的值,以變量的形式替換錄制時的靜態(tài)值,從而向服務(wù)器發(fā)出正確的請求。最最典型的是用于sessionID。 常用的關(guān)聯(lián)技術(shù)有三種:錄制中關(guān)聯(lián)、錄制后關(guān)聯(lián)、手動關(guān)聯(lián)。 錄制中關(guān)聯(lián)錄制中關(guān)聯(lián) 設(shè)置錄制前的recording optionscorrelation,可以勾選LR已有的關(guān)聯(lián)規(guī)則,也可以新建規(guī)則;錄制過程中,關(guān)聯(lián)自動在腳本體現(xiàn)。創(chuàng)建Vuser腳本增強/編輯腳本錄制后關(guān)聯(lián)錄制后關(guān)聯(lián) 關(guān)聯(lián)的使用可以在腳本錄制完成后,回放一次腳本,然后在腳本的菜單的vuserscan script for correlat
28、ions進(jìn)行設(shè)置。 通過回放腳本和掃描關(guān)聯(lián),系統(tǒng)嘗試找到錄制與執(zhí)行時服務(wù)器響應(yīng)的差異部分,找到需要關(guān)聯(lián)的數(shù)據(jù),并建立關(guān)聯(lián)。創(chuàng)建Vuser腳本增強/編輯腳本 手動關(guān)聯(lián)手動關(guān)聯(lián) 錄制前關(guān)聯(lián)與錄制后關(guān)聯(lián)都屬于自動關(guān)聯(lián)的范疇。如果出現(xiàn)自動關(guān)聯(lián)不能解決的問題,就需要使用手動關(guān)聯(lián)的方法。手動關(guān)聯(lián)的一般步驟如下: 1)錄制兩份腳本,保證業(yè)務(wù)流程和使用的數(shù)據(jù)相同。 2)使用WinTiff工具比較兩份腳本,對兩份腳本中不同的地方進(jìn)行判斷,找到需要關(guān)聯(lián)的數(shù)據(jù)。 3)找到左邊界和右邊界字符串,寫出關(guān)聯(lián)函數(shù)。 4)在腳本中需要關(guān)聯(lián)的數(shù)據(jù)前面插入關(guān)聯(lián)函數(shù)。 5)用關(guān)聯(lián)函數(shù)中定義的參數(shù)取代腳本中需要關(guān)聯(lián)的數(shù)據(jù)。 具體方法
29、不詳述,可查閱相關(guān)資料。5.5.其他其他 前面講解了插入事務(wù)、插入集合點、參數(shù)化、建立關(guān)聯(lián)插入事務(wù)、插入集合點、參數(shù)化、建立關(guān)聯(lián)的方法,一般的腳本都需要做以上幾項的修改工作。此外,還可以通過插入注釋、插入檢查點來完善腳本。另外腳本出現(xiàn)問題了,也可以通過打印信息來調(diào)試腳本。 插入注釋:插入注釋:在腳本中插入注釋,可以清晰找到需要修改的位置,增強腳本的可讀性。 插入檢查點:插入檢查點:在腳本中設(shè)置檢查點函數(shù),將返回值的結(jié)果反映在Controller的狀態(tài)面板上和Analysis統(tǒng)計結(jié)果中,由此可以判斷數(shù)據(jù)傳遞的正確性。 具體方法不再詳述,可查閱相關(guān)資料。創(chuàng)建Vuser腳本配置運行時設(shè)置 在VuGe
30、n中,選擇 VuserRun-time Settings,可以設(shè)定腳本回放過程的一些參數(shù)。如Iteration Count (迭代次數(shù))、Think Time (思考時間)、Error Handling(錯誤處理)、Multithreading(運行方式)等。1 1.Iteration Count (.Iteration Count (迭代迭代次數(shù)次數(shù)) ) 選擇General:Run Logic 說明:設(shè)定每個Action的迭代次數(shù)。創(chuàng)建Vuser腳本配置運行時設(shè)置2 2.Think Time (.Think Time (思考時間思考時間) ) 選擇General:Think Time 說明
31、:設(shè)定腳本回放時對思考時間的處理方式。Ignore think timeIgnore think time腳本回放時,將不執(zhí)行l(wèi)r_think_time()函數(shù),這樣會給服務(wù)器產(chǎn)生更大的壓力。Replay think timeReplay think time腳本回放時,執(zhí)行l(wèi)r_think_time()函數(shù),具體執(zhí)行方式有一下3種:1)按照錄制時獲取的think time值回放。2)按照錄制時獲取值的整數(shù)倍數(shù)回放腳本。3)制定一個最大和最小的比例,按照兩者之間的隨機值回放腳本。Limit think time to 選項,用于限制think time的最大值,腳本回放過程中,如果發(fā)現(xiàn)有超過這
32、個值的,用這個最大值替代。創(chuàng)建Vuser腳本配置運行時設(shè)置3 3.Error Handling(.Error Handling(錯誤處理錯誤處理) ) 選擇General:Miscellaneous 說明:設(shè)定遇到錯誤時的處理方式。Continue on errorContinue on error遇到錯誤時繼續(xù)運行。Fail open transactions on Fail open transactions on lr_error_messagelr_error_message執(zhí)行到事務(wù)中調(diào)用的lr_error_message()函數(shù)時將事務(wù)的結(jié)果置為Failed。Generate sn
33、apshot on errorGenerate snapshot on error對錯誤進(jìn)行快照。4.4.Multithreading(Multithreading(運行方式運行方式) ) 選擇 General:Miscellaneous 說明:設(shè)定腳本是以多線程方式運行還是以多進(jìn)程方式運行。Run Vuser as a processRun Vuser as a process以多進(jìn)程方式運行。Run Run VuserVuser as a thread as a thread以多線程方式運行。創(chuàng)建Vuser腳本試運行腳本1.腳本錄制完畢后,按F5鍵,或點擊菜單中的 按鈕,可以試運行腳本?;?/p>
34、放過程中VuGen在下方同步打印日志。2.如果需要查看不同的日志形式,可以在腳本頁面菜單的vuserruntime-settingslog選擇不同的項,回放腳本時將打印不同級別的日志。創(chuàng)建Vuser腳本試運行腳本3.運行結(jié)束后,系統(tǒng)會給出相應(yīng)的運行結(jié)果,可以通過ViewTest Results查看回放結(jié)果。 在VuGen中試運行腳本的作用,主要是查看錄制的腳本能否正常通過,如果有問題,系統(tǒng)會給出提示信息,并定位到出錯的行上,便于用戶查找到錯誤,修改完善測試腳本。定義場景 腳本準(zhǔn)備完成后,可以根據(jù)場景用例設(shè)置場景。Controller控制器提供了手動和面向目標(biāo)兩種測試場景。 手動設(shè)計場景手動設(shè)計
35、場景(Manual Scenario)最大的優(yōu)點是能夠更靈活地按照需求來設(shè)計場景模型,使場景能更好地接近用戶的真實使用。一般情況下使用手動場景設(shè)計方法來設(shè)計場景。 面向目標(biāo)場面向目標(biāo)場景景(Goal Oriented Scenario)則是測試性能是否能達(dá)到預(yù)期的目標(biāo),在能力規(guī)劃和能力驗證的測試過程中經(jīng)常使用。 本次介紹手動設(shè)計場景的下述幾個步驟: 創(chuàng)建場景創(chuàng)建場景 設(shè)置設(shè)置scheduleschedule 設(shè)置集合點設(shè)置集合點 多機聯(lián)合產(chǎn)生負(fù)載多機聯(lián)合產(chǎn)生負(fù)載 設(shè)置設(shè)置IPIP欺騙欺騙 設(shè)置負(fù)載均衡設(shè)置負(fù)載均衡 設(shè)置設(shè)置WindowsWindows資源監(jiān)控器資源監(jiān)控器定義場景創(chuàng)建場景 Con
36、troller控制器可以從程序中打開,然后選擇保存好的腳本;也可以從VuGen中直接連接到該腳本的控制場景。 實例從VuGen中啟動Controller的步驟如下:1.單擊VuGen菜單欄的toolscreate controller scenario。2.在彈出窗口選擇虛擬用戶數(shù)、運行結(jié)果保存目錄、負(fù)載產(chǎn)生的負(fù)載機所在地。定義場景創(chuàng)建場景3.在Create Scenario窗口中點擊OK,鏈接啟動LoadRunner Controller。 默認(rèn)顯示用戶組模式,可通過菜單ScenarioConvert Scenario to the Percentage Mode切換為百分比模式。定義場景設(shè)
37、置Schedule1.1.設(shè)置設(shè)置場景的基本場景的基本信息信息 Schedule Name Schedule Name:設(shè)置場景名稱。 Schedule bySchedule by:選擇按場景計劃或按用戶組計劃。 Run ModeRun Mode: real-world schedule 是真實場景模式,可以通過增加Action來增加多個用戶。 basic schedule 是我們以前用的經(jīng)典模式,只能設(shè)置一次負(fù)載的上升和下降。2.2.設(shè)置設(shè)置場景的各類參數(shù)場景的各類參數(shù) 雙擊Global Schedule中的對應(yīng)行,可以設(shè)置schedule的各類參數(shù)。 在Controller的Scenari
38、o Schedule中,可以設(shè)置場景的各項計劃,如虛擬用戶的加載方式、釋放策略等。定義場景設(shè)置ScheduleInitialize:初始化是指運行腳本中的Vuser_init操作,為測試準(zhǔn)備Vuser和Load Generator。Start Vusers:設(shè)置場景Vuser加載方式。定義場景設(shè)置ScheduleStop Vusers:設(shè)置場景執(zhí)行完成后虛擬用戶釋放的策略。Duration:設(shè)置場景持續(xù)運行的情況。定義場景設(shè)置Schedule 根據(jù)前述Scenario Schedule的設(shè)置方法,可以將實例中10個用戶新增信息的場景設(shè)計如下:2)逐步加壓Schedule NameSchedul
39、e Name:Gradual_10Schedule bySchedule by:ScenarioRun ModeRun Mode:basic scheduleStart VuserStart Vuser:2 Vusers every 00:00:30(HH:MM:SS)Start Time:設(shè)置場景啟動時間。1)瞬時加壓Schedule NameSchedule Name:Instant_10Schedule bySchedule by:ScenarioRun ModeRun Mode:basic scheduleStart VuserStart Vuser:Simultaneously定義場
40、景設(shè)置集合點 LR在運行場景的時候,允許測試人員根據(jù)項目需要自己設(shè)定集合點的并發(fā)策略。單擊Controller菜單欄的ScenarioRendezvous,可以查看場景中所有的集合點名稱、所屬腳本、當(dāng)前狀態(tài)和相關(guān)的虛擬用戶列表信息等,根據(jù)系統(tǒng)需求,還可以針對集合點的執(zhí)行進(jìn)行設(shè)定。1.1.集合集合點點設(shè)置設(shè)置 單擊Disable/Enable Rendezvous按鈕可以選定集合點是否啟用。 單擊Disable/Enable VUser按鈕可以設(shè)定一個用戶是否參與到集合點中。 單擊Policy按鈕可以設(shè)定集合點執(zhí)行策略。定義場景設(shè)置集合點2.2.集合集合點策略設(shè)置點策略設(shè)置第一項:當(dāng)前所有用戶數(shù)
41、的X%到達(dá)集合點時,開始釋放等待的用戶并繼續(xù)執(zhí)行場景。第二項:當(dāng)前正在運行用戶數(shù)的X%到達(dá)集合點時,開始釋放等待的用戶并繼續(xù)執(zhí)行場景。第三項:當(dāng)X個用戶到達(dá)集合點時,開始釋放等待的用戶并繼續(xù)執(zhí)行場景。Timeout betweenVusers:設(shè)定一個超時時間,當(dāng)?shù)谝粋€用戶到達(dá)集合點時,系統(tǒng)開始計時,如果在這個設(shè)定的時間內(nèi)沒有達(dá)到指定的用戶數(shù),系統(tǒng)就不再等待,釋放用戶讓場景繼續(xù)執(zhí)行。3.3.手動手動釋放釋放VuserVuser 在場景運行過程中,點擊Status Information列表的Release按鈕,可以手動釋放等待中的虛擬用戶。定義場景多機聯(lián)合產(chǎn)生負(fù)載 為了避免一臺測試機器模擬的虛
42、擬用戶數(shù)過多,他本身性能的下降直接影響測試效果,LR允許使用多臺機器運行場景來均衡測試機器的負(fù)荷。只要一臺機器安裝了Load Generator并啟動了LoadRunner Agent Process進(jìn)程,就可以被Controller統(tǒng)一調(diào)度來運行場景,Controller負(fù)載收集統(tǒng)一的測試信息和執(zhí)行結(jié)果。 單擊菜單ScenarioLoad Generator,可以查看到所有已經(jīng)加載的Load Generator信息。NameName:Load Generator所在的機器名稱。StatusStatus:標(biāo)識了Generator目前的狀態(tài)。PlatformPlatform:顯示了系統(tǒng)的平臺名稱
43、。 單擊Add按鈕,可以添加新的Load Generator;單擊Connect按鈕,LR的Controller就會嘗試去連接選中的Load Generator,如果連接成功就在Status字段中顯示Ready,如果失敗就會顯示Failed。定義場景設(shè)置IP欺騙 IP欺騙技術(shù)就是讓一個Load Generator上的虛擬用戶模擬從不同的IP來向服務(wù)器發(fā)起請求,以達(dá)到以假亂真的目的。1.1.配置配置IP SPOOFERIP SPOOFER LR配置動態(tài)IP的工具是程序組中的一個小工具IP Wizard,它能夠指導(dǎo)用戶按步驟完成配置過程。Step1Step1:選擇下述一項進(jìn)行設(shè)置。第一項:用于創(chuàng)建
44、一個新的設(shè)置,首次運行時選用。第二項:調(diào)用以前保存的設(shè)置。第三項:將設(shè)置恢復(fù)為原始狀態(tài),此選項主要用于使用后釋放IP。Step2Step2:輸入您的IP地址。這里主要用來檢測新的IP地址加到主機中后,Server的路由表是否需要更新,如果Server和Client使用的是相同的子網(wǎng)掩碼,IP Class類型和網(wǎng)絡(luò),是無需更新的。定義場景設(shè)置IP欺騙Step3:添加新的動態(tài)IPPrivate Private Address SpacesAddress Spaces:選擇測試環(huán)境的IP地址類型。From From IPIP:要使用IP段的第一個值。Numberto Numberto addadd:
45、要使用的IP地址的數(shù)目。SubmaskSubmask:子網(wǎng)掩碼,一般采用默認(rèn)設(shè)置就可以了。 如果選中Verify that new IP Address are not Already in use,系統(tǒng)會在所選范圍內(nèi)檢測每個IP地址,為了避免沖突,LR只添加那些沒有被其他用戶使用的IP地址。 如果已經(jīng)預(yù)先知道選擇范圍內(nèi)的某些地址可能被占用,那么在Number to文本框中輸入的IP地址的個數(shù)就要有相應(yīng)的增加。定義場景設(shè)置IP欺騙2.2.啟用啟用IPIP欺騙欺騙 在Controller中勾選菜單ScenarioEnable IP Spoofer,就可以啟用IP欺騙了,在IP欺騙啟用后,Cont
46、roller狀態(tài)欄中會顯示相應(yīng)的狀態(tài)標(biāo)識: 。然后單擊菜單欄ToolsOptions,在彈出的對話框中單擊General標(biāo)簽以設(shè)定IP地址的分配方式。 如果在Run-time Setting中設(shè)置的是以多進(jìn)程的方式運行,則這里就給每個進(jìn)程分配不同的IP地址;如果在Run-time Setting中設(shè)置的是以多線程的方式運行,則這里給每個線程分配不同的IP地址。 只有在Controller中勾選菜單ToolsExpert Mode,才能在Options對話框中包含設(shè)定IP分配的選項。定義場景設(shè)置負(fù)載均衡 這里的負(fù)載均衡是用來解決測試過程中,負(fù)載機分配不均的問題。方法為:先選擇ScenarioCo
47、nvert Scenario to the Percentage Mode,將場景模式由用戶組切換為百分比,然后在已經(jīng)添加好的Load Generators機器列表中選擇需要的機器。這樣就可以保證負(fù)載機均勻地對服務(wù)器施壓。定義場景設(shè)置Windows資源監(jiān)控器 通過添加Windows資源監(jiān)控器,可以監(jiān)控負(fù)載對服務(wù)器的CPU、內(nèi)存、磁盤等資源的影響。在監(jiān)視服務(wù)器之前要做一些工作來確保監(jiān)視連接成功。 被監(jiān)視主機的訪問模式改為:經(jīng)典-本地用戶以自己的身份驗證;且必須設(shè)置密碼。 被監(jiān)視系統(tǒng)開啟以下三個服務(wù):Remote ProcedureCall(RPC)和Remote Procedure Call(RPC)、Remote Registry。 確認(rèn)安裝Controller的機器可以連接到被監(jiān)視的機器。 確認(rèn)并打開共享文件C$。 上述工作的詳細(xì)方法不再過多描述,如有疑問和其他問題,可參閱相關(guān)資料。接下來在Controller中添加被監(jiān)控的計算機資源。 添加Windows資源監(jiān)控器的步驟如下: 1.點擊Controller界面下方的Run選項卡,打開Run視圖。 2.選擇菜單Mo
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2023八年級數(shù)學(xué)下冊 第十九章 一次函數(shù)19.2 一次函數(shù)19.2.2 一次函數(shù)第1課時 一次函數(shù)的概念說課稿 (新版)新人教版
- 2024-2025學(xué)年新教材高考數(shù)學(xué) 第1章 空間向量與立體幾何 5 空間中的距離說課稿 新人教B版選擇性必修第一冊
- 2023九年級數(shù)學(xué)下冊 第24章 圓24.6 正多邊形與圓第2課時 正多邊形的性質(zhì)說課稿 (新版)滬科版
- 2025甲指乙分包工程合同范本
- 2025酒店租賃合同
- Module 4 Unit 2 He doesnt like these trousers.(說課稿)-2024-2025學(xué)年外研版(一起)英語二年級上冊
- 2025企業(yè)管理資料勞動合同駕駛員文檔范本
- 2024年高中化學(xué) 第三章 烴的含氧衍生物 第一節(jié) 第1課時 醇說課稿 新人教版選修5
- Revision Being a good guest (說課稿)-2024-2025學(xué)年人教PEP版(2024)英語三年級上冊
- 4電路出故障了(說課稿)-2023-2024學(xué)年科學(xué)四年級下冊教科版
- 115個低風(fēng)險組病種目錄
- 系統(tǒng)解剖學(xué)考試重點筆記
- 暖通空調(diào)基礎(chǔ)知識及識圖課件
- 回彈法檢測砌體強度培訓(xùn)講義PPT(完整全面)
- 重力壩水庫安全度汛方案
- 防滲墻工程施工用表及填寫要求講義
- 交通信號控制系統(tǒng)檢驗批質(zhì)量驗收記錄表
- Bankart損傷的診療進(jìn)展培訓(xùn)課件
- 校園信息化設(shè)備管理檢查表
- 新版抗拔樁裂縫及強度驗算計算表格(自動版)
- API SPEC 5DP-2020鉆桿規(guī)范
評論
0/150
提交評論