Web應(yīng)用壓力測試-loadrunner_第1頁
Web應(yīng)用壓力測試-loadrunner_第2頁
Web應(yīng)用壓力測試-loadrunner_第3頁
Web應(yīng)用壓力測試-loadrunner_第4頁
Web應(yīng)用壓力測試-loadrunner_第5頁
已閱讀5頁,還剩111頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、LoadRunner性能測試工具Virtual User Generator 虛擬用戶生成器Controller 場景控制器Analysis 性能分析器10/18/20211重點(diǎn)腳本錄制和回放腳本錄制和回放常見問題及解決常見問題及解決方案方案數(shù)據(jù)歸屬關(guān)系數(shù)據(jù)歸屬關(guān)系動態(tài)變量動態(tài)變量制定計(jì)劃制定計(jì)劃錄制腳本錄制腳本定制事務(wù)定制事務(wù)參數(shù)化參數(shù)化增加檢查點(diǎn)增加檢查點(diǎn)設(shè)計(jì)測試場景設(shè)計(jì)測試場景系統(tǒng)性能調(diào)優(yōu)系統(tǒng)性能調(diào)優(yōu)LoadRunner 工作流程分析測試結(jié)果分析測試結(jié)果階段 5LoadRunnerV U G E NLoadRunnerC O N T R O L L E R & A N A L Y S I

2、 S執(zhí)行場景執(zhí)行場景階段 4設(shè)計(jì)測試場景設(shè)計(jì)測試場景階段 3創(chuàng)建創(chuàng)建 Web Virtual Users階段 2階段 1制定壓力測試制定壓力測試方案方案NOTE: 這是這是LR的一個典型工作流程。為便于理解這個流程,有些步驟將按的一個典型工作流程。為便于理解這個流程,有些步驟將按照照 不同的順序來介紹。不同的順序來介紹。NOTE: “Action files” 將在下面討論將在下面討論通過回放一個或多個錄制好的通過回放一個或多個錄制好的“Action files”(業(yè)務(wù)流程文件業(yè)務(wù)流程文件)來模擬一個真實(shí)用戶的來模擬一個真實(shí)用戶的操作操作 Virtual User“Vusers”是利用是利用

3、LoadRunner 執(zhí)行壓力測試執(zhí)行壓力測試的核心。的核心。關(guān)鍵詞關(guān)鍵詞為了完成一項(xiàng)業(yè)務(wù)所需要執(zhí)行的一系列業(yè)務(wù)為了完成一項(xiàng)業(yè)務(wù)所需要執(zhí)行的一系列業(yè)務(wù)操作操作 。通常我們把它稱作。通常我們把它稱作 “transaction(事務(wù))。事務(wù))?!睒I(yè)務(wù)流程業(yè)務(wù)流程N(yùn)OTE: 我們會頻繁的提到這個關(guān)鍵詞我們會頻繁的提到這個關(guān)鍵詞關(guān)鍵詞10/18/20216壓力測試方案制定壓力測試方案制定 目標(biāo)壓力測試前需要搜集和準(zhǔn)備哪些資料 這些資料可以從什么地方獲取這些資料的組織技巧在制定測試方案時如何運(yùn)用這些資料LoadRunner 工作流程系統(tǒng)性能調(diào)優(yōu)系統(tǒng)性能調(diào)優(yōu) 分析測試結(jié)分析測試結(jié)果果 執(zhí)行測試場執(zhí)行測試場

4、景景 設(shè)計(jì)測試場景設(shè)計(jì)測試場景 創(chuàng)建創(chuàng)建 Web 虛擬用戶虛擬用戶階段階段 1制定壓力測試制定壓力測試方案方案階段 2階段 3階段 4階段 5制定壓力測試方案制定壓力測試方案1.1 獲得系統(tǒng)使用信息獲得系統(tǒng)使用信息 1.2 準(zhǔn)備業(yè)務(wù)流程文檔準(zhǔn)備業(yè)務(wù)流程文檔1.3 確定參數(shù)化內(nèi)容確定參數(shù)化內(nèi)容1.4 準(zhǔn)備測試數(shù)據(jù)準(zhǔn)備測試數(shù)據(jù)1.1 獲得系統(tǒng)使用信息目的:o 確認(rèn)需要模擬的業(yè)務(wù)流程的優(yōu)先級o 為實(shí)施壓力測試提供必要的信息可以從下列文件中獲得和顯示系統(tǒng)使用信息:o 任務(wù)分配圖o 事務(wù)統(tǒng)計(jì)文件o 用戶統(tǒng)計(jì)文件系統(tǒng)使用信息的分析任務(wù)分配圖有哪些任務(wù)?同一時間內(nèi)有多少次操作?事務(wù)統(tǒng)計(jì)文件事務(wù)平均值、和峰值

5、是多少?數(shù)據(jù)庫連接是多少?如果任務(wù)失敗會產(chǎn)生多少業(yè)務(wù)風(fēng)險?用戶統(tǒng)計(jì)文件每個真實(shí)用戶會執(zhí)行多少任務(wù)?不同任務(wù)在每個真實(shí)用戶中的分配比例? 獲得系統(tǒng)使用信息案例1網(wǎng)上書店網(wǎng)上書店 (一天一天, 幾千用戶幾千用戶)瀏覽購物瀏覽購物管理流程管理流程*發(fā)票處理發(fā)票處理*系統(tǒng)備份系統(tǒng)備份業(yè)務(wù)流程業(yè)務(wù)流程搜索標(biāo)題搜索標(biāo)題結(jié)帳結(jié)帳創(chuàng)建新帳戶NightDayNight11505050501802101501301001502001701401000120060040304075121222446688101012ampm需要模擬的需要模擬的時間時間*非非Web任務(wù)任務(wù)例: 任務(wù)分配圖內(nèi)部訂單處理流程內(nèi)部訂單處理

6、流程 (高峰日高峰日, 600 用戶用戶) 獲得系統(tǒng)使用信息案例1*非非Web任務(wù)任務(wù)夜晚夜晚白天白天夜晚夜晚111418021022018017040403022025021010121590907020251640601012503050121222446688101012ampm*系統(tǒng)備份系統(tǒng)備份生成訂單生成訂單更新訂單更新訂單登陸登陸創(chuàng)建帳戶創(chuàng)建帳戶訂單發(fā)送訂單發(fā)送*批量處理帳單批量處理帳單*批量結(jié)算批量結(jié)算任務(wù)任務(wù)需要模擬的需要模擬的時間時間例:任務(wù)分配圖 獲得系統(tǒng)使用信息案例1哪些業(yè)務(wù)流程可以進(jìn)行自動化測試哪些業(yè)務(wù)流程可以進(jìn)行自動化測試?風(fēng)險級風(fēng)險級別別業(yè)務(wù)流程業(yè)務(wù)流程訂單發(fā)送訂單

7、發(fā)送典型工作日典型工作日 20/hr高峰工作日高峰工作日30/hrWeb server 連接狀況連接狀況ModerateModerateModerateHigh40/hr90/hrHeavyHighDatabase 連接狀況連接狀況3 3訂單生成訂單生成訂單更新訂單更新創(chuàng)建新帳戶創(chuàng)建新帳戶130/hr180/hrModerateModerateMod.10/hr15/hrModerateModerateLow3 33 33 3登陸登陸70/hr3 33 33 33 33 3210/hrHeavyLightHigh選擇標(biāo)準(zhǔn)選擇標(biāo)準(zhǔn):高數(shù)據(jù)庫高數(shù)據(jù)庫I/O3 3大流量大流量3 3高風(fēng)險任務(wù)高風(fēng)險任

8、務(wù) (即可能導(dǎo)致整個業(yè)務(wù)流程的失敗即可能導(dǎo)致整個業(yè)務(wù)流程的失敗)3 3事務(wù)統(tǒng)計(jì)文件 獲得系統(tǒng)使用信息案例1決定哪些業(yè)務(wù)流程能夠執(zhí)行自動化測試了解哪些業(yè)務(wù)是相互關(guān)聯(lián)的 (數(shù)據(jù)關(guān)聯(lián)) o 確定每天的壓力峰值的時間n 峰值持續(xù)時間n 每月、每季度或每年壓力峰值的天數(shù)o 決定需要模擬的業(yè)務(wù)流程和用戶Virtual Users: ?信息的使用 獲得系統(tǒng)使用信息案例2大部分項(xiàng)目是沒有明確性能需求,只是要求做性能測試,沒有具體測試要求公司各項(xiàng)目現(xiàn)狀:這種情況要怎么獲取業(yè)務(wù)流程?1、系統(tǒng)的主要業(yè)務(wù)流程2、系統(tǒng)使用頻率比較高的業(yè)務(wù)流程3、大數(shù)據(jù)量的業(yè)務(wù)流程 獲得系統(tǒng)使用信息案例2并發(fā)用戶的計(jì)算方法:(1) 計(jì)算

9、平均的并發(fā)用戶數(shù): C = nL/T (2) 并發(fā)用戶數(shù)峰值: C C+3根號C 公式(1)中,C是平均的并發(fā)用戶數(shù);n是login session的數(shù)量;L是login session的平均長度;T指考察的時間段長度。公式(2)則給出了并發(fā)用戶數(shù)峰值的計(jì)算方式中,其中,C指并發(fā)用戶數(shù)的峰值,C就是公式(1)中得到的平均的并發(fā)用戶數(shù)。該公式的得出是假設(shè)用戶的login session產(chǎn)生符合泊松分布而估算得到的。實(shí)例:假設(shè)有一個OA系統(tǒng),該系統(tǒng)有3000個用戶,平均每天大約有400個用戶要訪問該系統(tǒng),對一個典型用戶來說,一天之內(nèi)用戶從登錄到退出該系統(tǒng)的平均時間為4小時,在一天的時間內(nèi),用戶只在

10、8小時內(nèi)使用該系統(tǒng)。則根據(jù)公式(1)和公式(2),可以得到:C = 400*4/8 = 200C200+3*根號200 = 242系統(tǒng)性能調(diào)優(yōu)系統(tǒng)性能調(diào)優(yōu)分析測試結(jié)分析測試結(jié)果果執(zhí)行測試場景執(zhí)行測試場景設(shè)計(jì)測試場景設(shè)計(jì)測試場景創(chuàng)建創(chuàng)建 Web 虛擬用戶虛擬用戶階段階段 1制定壓力測制定壓力測試方案試方案階段 2階段 3階段 4階段 5制定壓力測試方案制定壓力測試方案1.1 獲得系統(tǒng)使用信息獲得系統(tǒng)使用信息 1.2 準(zhǔn)備業(yè)務(wù)流程文檔準(zhǔn)備業(yè)務(wù)流程文檔1.3 確定參數(shù)化內(nèi)容確定參數(shù)化內(nèi)容1.4 準(zhǔn)備測試數(shù)據(jù)準(zhǔn)備測試數(shù)據(jù)LoadRunner 工作流程總結(jié)搜集和分析系統(tǒng)使用信息任務(wù)分配圖事務(wù)統(tǒng)計(jì)文件準(zhǔn)備

11、Web應(yīng)用的業(yè)務(wù)邏輯文檔確定可以執(zhí)行自動化測試的業(yè)務(wù)流程10/18/202119創(chuàng)建虛擬用戶創(chuàng)建虛擬用戶ACTION FILES目標(biāo)基于測試方案設(shè)計(jì)“Vuser”o 創(chuàng)建“ action file”o 回放“Vuser”和檢查運(yùn)行結(jié)果關(guān)鍵字錄制一個業(yè)務(wù)流程,通過回放模擬真實(shí)用錄制一個業(yè)務(wù)流程,通過回放模擬真實(shí)用戶業(yè)務(wù)操作。戶業(yè)務(wù)操作。 Action FileVuGen 獲取HTTP協(xié)議創(chuàng)建虛擬用戶WEB服務(wù)器服務(wù)器數(shù)據(jù)庫服務(wù)數(shù)據(jù)庫服務(wù)器器WEB瀏覽瀏覽器器公網(wǎng)公網(wǎng)/外網(wǎng)外網(wǎng)/內(nèi)網(wǎng)內(nèi)網(wǎng)HTTPHTTPVuGen LoadRunner 工作流程系統(tǒng)性能調(diào)優(yōu)系統(tǒng)性能調(diào)優(yōu) 分析測試結(jié)分析測試結(jié)果果 場

12、景運(yùn)行場景運(yùn)行 場景設(shè)計(jì)場景設(shè)計(jì) 創(chuàng)建創(chuàng)建Web虛擬虛擬用戶用戶階段1 制定測試方案制定測試方案階段階段 2階段 3階段4階段5創(chuàng)建創(chuàng)建 WEB 虛擬用戶虛擬用戶2.1錄制用戶操作腳本錄制用戶操作腳本2.2 增加增加 LoadRunner 事務(wù)事務(wù)2.3參數(shù)化數(shù)據(jù)參數(shù)化數(shù)據(jù)2.4增加確認(rèn)檢查增加確認(rèn)檢查2.5確認(rèn)正確執(zhí)行確認(rèn)正確執(zhí)行錄制用戶操作腳本啟動VuGen工具o 點(diǎn)擊“錄制”按鈕o 輸入URL,選擇“OK”錄制用戶操作腳本啟動VuGen工具o 點(diǎn)擊“錄制”按鈕o 輸入URL,選擇“OK” 錄制用戶操作腳本-簡單說明VuGen 中的腳本分為三部分:vuser_init、vuser_end

13、和Action其中vuser_init 和vuser_end 都只能存在一個,不能再分割,而Action 還可以分成無數(shù)多個部分(通過點(diǎn)擊New 按鈕,新建ActionXXX)在錄制需要登陸的系統(tǒng)時,我們把登陸部分放到vuser_init 中,把登陸后的操作部分放到Action 中,把注銷關(guān)閉登陸部分放到vuser_end 中如果需要在登陸操作設(shè)集如果需要在登陸操作設(shè)集合點(diǎn),那么登陸操作也要合點(diǎn),那么登陸操作也要放到放到Action 中,因?yàn)橹?,因?yàn)関user_init 中不能添加集中不能添加集合點(diǎn)合點(diǎn)在重復(fù)執(zhí)行測試腳本時,在重復(fù)執(zhí)行測試腳本時,vuser_init 和和vuser_end 中

14、中的內(nèi)容只會執(zhí)行一次,重復(fù)的內(nèi)容只會執(zhí)行一次,重復(fù)執(zhí)行的只是執(zhí)行的只是Action 中的部分。中的部分。Optional item1 基于瀏覽器的應(yīng)用程序推薦使用HTML-based Script2 不是基于瀏覽器的應(yīng)用程序推薦使用URL-based Script。3 如果基于瀏覽器的應(yīng)用程序中包含了JavaScript 并且該腳本向服務(wù)器產(chǎn)生了請求,比如分頁按鈕等,也要使用URL-based 方式錄制4 基于瀏覽器的應(yīng)用程序中使用了HTTPS 安全協(xié)議,使用URL-based 方式錄錄制用戶操作腳本執(zhí)行一個業(yè)務(wù)流程 登錄-訂飛機(jī)票Virtual User 回放模式登陸登陸(recording

15、optional)vuser_init.cUser Actions(業(yè)務(wù)流程業(yè)務(wù)流程)Action1.c, Action2.c, etc.(e.g., Create Order, Sumit Order)這部分在壓力測試過程中將會循環(huán)執(zhí)行這部分在壓力測試過程中將會循環(huán)執(zhí)行退出退出(recordingoptional)vuser_end.c關(guān)于用戶操作文件每一步表式一個操作用戶的實(shí)際操作一個 LoadRunner的 “事務(wù)*” 或者是 “確認(rèn)檢查點(diǎn)*”*NOTE: “事務(wù)事務(wù)”和和“檢查點(diǎn)檢查點(diǎn)”將在后續(xù)課程將在后續(xù)課程中討論中討論o 每一步都有一個圖標(biāo)表示每個圖標(biāo)代表每個圖標(biāo)代表一個步驟一個步

16、驟Think Times模擬用戶在實(shí)際操作時使用的時間o 錄制過程中由 VuGen 插入* 在在controller中,默認(rèn)狀態(tài)是中,默認(rèn)狀態(tài)是 “Play think times as recorded.”LoadRunner 工作流程系統(tǒng)性能調(diào)優(yōu)系統(tǒng)性能調(diào)優(yōu) 分析測試壓分析測試壓 結(jié)果結(jié)果 執(zhí)行場景執(zhí)行場景 設(shè)計(jì)場景設(shè)計(jì)場景 創(chuàng)建創(chuàng)建 Web 虛擬用戶虛擬用戶階段 1 制定測試方案制定測試方案階段階段 2階段 3階段 4階段 5創(chuàng)建創(chuàng)建Web虛擬用戶虛擬用戶2.1錄制用戶業(yè)務(wù)操作錄制用戶業(yè)務(wù)操作2.2 增加增加 LoadRunner 事務(wù)事務(wù)2.3參數(shù)化參數(shù)化2.4增加確認(rèn)檢查點(diǎn)增加確認(rèn)檢

17、查點(diǎn)2.5確認(rèn)腳本正確回放確認(rèn)腳本正確回放這一步在上述每個階這一步在上述每個階段完成后都要執(zhí)行一段完成后都要執(zhí)行一次次 虛擬用戶“ Run-time” 設(shè)置建立一個結(jié)果日志文件將日志記錄方式設(shè)置為標(biāo)準(zhǔn)“Run-Time”設(shè)置回放 Action File點(diǎn)擊工具欄上圖標(biāo) 確認(rèn)虛擬用戶正確執(zhí)行 確認(rèn)虛擬用戶正確執(zhí)行Report TreepaneReportDetailspaneResults.qtpresult1login-test查看測試結(jié)果查看測試結(jié)果 確認(rèn)虛擬用戶正確執(zhí)行切換到日志執(zhí)行窗口o 日志順序顯示每一步的執(zhí)行和結(jié)果 檢查執(zhí)行日志總結(jié)用戶所有的業(yè)務(wù)操作都記錄在“Action Files

18、”中登陸和退出操作可以不包括在“Action Files”多個“Action Files”可以由一個虛擬用戶執(zhí)行通過菜單中的“ Options Settings” 和“Run-Time Settings ”來控制虛擬用戶的操作。可以在“執(zhí)行日志”和“Result File ”中查看回放結(jié)果10/18/202140創(chuàng)建虛擬用戶: 事務(wù)目標(biāo)“action file”的哪些地方需要加入事務(wù)如何執(zhí)行 LoadRunner 事務(wù)o 在“action file”中使用事務(wù)的重要性o LoadRunner 中的事務(wù)的含義 LoadRunner 工作流程系統(tǒng)性能調(diào)優(yōu)系統(tǒng)性能調(diào)優(yōu)分析測試結(jié)果分析測試結(jié)果執(zhí)行場景

19、執(zhí)行場景設(shè)計(jì)場景設(shè)計(jì)場景創(chuàng)建創(chuàng)建Web虛擬虛擬用戶用戶階段 1制定測試方案制定測試方案階段階段 2階段 3階段 4階段 5創(chuàng)建創(chuàng)建Web虛擬用戶虛擬用戶2.1錄制用戶操作錄制用戶操作2.2 增加增加 LoadRunner 事務(wù)事務(wù)2.3參數(shù)化參數(shù)化2.4增加檢查點(diǎn)增加檢查點(diǎn)2.5確認(rèn)正確執(zhí)行確認(rèn)正確執(zhí)行在一個在一個action file中可以有一個或多個用戶執(zhí)行的中可以有一個或多個用戶執(zhí)行的度量單位。度量單位。LoadRunner Transaction關(guān)鍵詞為什么在 LoadRunner 中加Transactions?“Transactions” 是 LoadRunner 度量系統(tǒng)性能指標(biāo)的

20、唯一手段用于度量高風(fēng)險業(yè)務(wù)流程的性能指標(biāo)能夠度量在一組操作中每一步的性能指標(biāo)實(shí)現(xiàn)了不同壓力負(fù)載下的性能指標(biāo)對比幫助定位性能瓶頸 Transactions是度量什么的?Transaction 3Transaction 2 Transaction 1“LoadRunner transaction”用于度量一個或者多個業(yè)務(wù)流程的性能指標(biāo)建立 LoadRunner Transactions度量登陸度量登陸Transaction 1Transaction 2度量所有登陸后的操度量所有登陸后的操作作Transaction 3度量訂單保存度量訂單保存 一個基于一個基于數(shù)據(jù)庫的操作,也是一個數(shù)據(jù)庫的操作,也是

21、一個主要的主要的“LoadRunner transaction”例子例子增加 Transactions 點(diǎn)擊工具欄上 Start Transaction 圖標(biāo)o 輸入 Transaction名稱, 點(diǎn)擊OK錄制過程中增加 Transactions 選擇工具欄上的相應(yīng)按鈕o 增加事務(wù)的步驟和錄制過程中是一致的錄制完成后 LoadRunner 工作流程系統(tǒng)性能調(diào)優(yōu)系統(tǒng)性能調(diào)優(yōu)分析測試結(jié)果分析測試結(jié)果執(zhí)行場景執(zhí)行場景設(shè)計(jì)場景設(shè)計(jì)場景創(chuàng)建創(chuàng)建Web虛擬虛擬用戶用戶階段 1制定測試方案制定測試方案階段階段 2階段 3階段 4階段 5創(chuàng)建創(chuàng)建Web虛擬用戶虛擬用戶2.1錄制用戶操作錄制用戶操作2.2 增加

22、增加 LoadRunner transactions2.3參數(shù)化參數(shù)化2.4增加檢查點(diǎn)增加檢查點(diǎn)2.5確認(rèn)正確執(zhí)行確認(rèn)正確執(zhí)行Automatic Transactions比較整個業(yè)務(wù)流程內(nèi)的各個步驟的性能指標(biāo)步驟步驟12 sec1 sec9 sec12 sec1 sec21 sec19 sec4 sec交易完成交易完成過程過程總計(jì)總計(jì)1分分19秒秒o度量每一步的性能指標(biāo)o比較各個步驟之間的性能指標(biāo)總結(jié)使用LoadRunner事務(wù)可以度量:業(yè)務(wù)流程中每一步所花費(fèi)的時間整個業(yè)務(wù)流程所花費(fèi)的時間業(yè)務(wù)流程中每一步的性能指標(biāo)可以自動度量 可以在錄制過程中和錄制完成后增加LoadRunner事務(wù)利用 “a

23、utomatic LoadRunner transactions” 可以很方便的度量每一步的性能指標(biāo)10/18/202152創(chuàng)建虛擬用戶:創(chuàng)建虛擬用戶:參數(shù)化參數(shù)化目標(biāo)o 參數(shù)化的好處o 如何進(jìn)行參數(shù)化o 如何使用數(shù)據(jù)文件o 腳本回放中可能會遇到的問題 問題o 虛擬用戶回放失敗虛擬用戶回放失敗o 由于沒有模擬真實(shí)條件,由于沒有模擬真實(shí)條件,測試結(jié)果失去意義測試結(jié)果失去意義解決方法參數(shù)化參數(shù)化關(guān)鍵詞將腳本中錄制下來的特定值用一個變量來將腳本中錄制下來的特定值用一個變量來代替,該變量的值是可變的。例如登陸名代替,該變量的值是可變的。例如登陸名和登陸密碼等和登陸密碼等 參數(shù)化參數(shù)化 LoadRunn

24、er 工作流程系統(tǒng)性能調(diào)優(yōu)系統(tǒng)性能調(diào)優(yōu) 分析測試結(jié)分析測試結(jié)果果 運(yùn)行場景運(yùn)行場景 場景設(shè)計(jì)場景設(shè)計(jì) 創(chuàng)建創(chuàng)建Web虛擬虛擬用戶用戶階段階段 1 制定測試方案制定測試方案階段 2階段 3階段 4階段 5制定測試方案制定測試方案1.1 獲得系統(tǒng)使用信息獲得系統(tǒng)使用信息 1.2 準(zhǔn)備業(yè)務(wù)流程文檔準(zhǔn)備業(yè)務(wù)流程文檔1.3 確定參數(shù)化字段確定參數(shù)化字段1.4 準(zhǔn)備測試數(shù)據(jù)準(zhǔn)備測試數(shù)據(jù)確定參數(shù)化字段o 哪些字段需要一個當(dāng)前時間?o 哪些字段要求是一個唯一值?o 哪些字段來自數(shù)據(jù)庫?o 哪些字段的值受其他字段的約束?參數(shù)化的決策對于每一個字段,都要問對于每一個字段,都要問一下一下 . . .是否需要是否需要

25、當(dāng)前時間當(dāng)前時間?是否能從是否能從緩存中獲緩存中獲得得? 參數(shù)化參數(shù)化參數(shù)化參數(shù)化參數(shù)化參數(shù)化是否需要是否需要唯一性約唯一性約束束?是否受其是否受其他字段的他字段的約束約束?參數(shù)化參數(shù)化不需要參數(shù)化不需要參數(shù)化NoYesNoNoNoYesYesYes LoadRunner 工作流程系統(tǒng)性能調(diào)優(yōu)系統(tǒng)性能調(diào)優(yōu)分析測試結(jié)果分析測試結(jié)果運(yùn)行場景運(yùn)行場景場景設(shè)計(jì)場景設(shè)計(jì)創(chuàng)建創(chuàng)建Web虛擬虛擬用戶用戶階段階段 1制定測試方案制定測試方案階段 2階段 3階段 4階段 5制定測試方案制定測試方案1.1獲得系統(tǒng)使用信息獲得系統(tǒng)使用信息 1.2準(zhǔn)備業(yè)務(wù)流程文檔準(zhǔn)備業(yè)務(wù)流程文檔1.3確定參數(shù)化字段確定參數(shù)化字段1.

26、4準(zhǔn)備測試數(shù)據(jù)準(zhǔn)備測試數(shù)據(jù)10/26/1999040498MondayTrueSmith, Wm.$230.59準(zhǔn)備測試數(shù)據(jù)獲得主要數(shù)據(jù)從數(shù)據(jù)庫提取o 創(chuàng)建合法的業(yè)務(wù)流程數(shù)據(jù) n 確定數(shù)據(jù)類型n 通過業(yè)務(wù)專家獲得數(shù)據(jù)庫服務(wù)器數(shù)據(jù)庫服務(wù)器從數(shù)據(jù)庫提取數(shù)據(jù)47555333394844923564844440041012221Willamette169.0012/12/99C04410034548449LoadRunner 工作流程系統(tǒng)性能調(diào)優(yōu)系統(tǒng)性能調(diào)優(yōu) 分析測試結(jié)分析測試結(jié)果果 場景運(yùn)行場景運(yùn)行 場景設(shè)計(jì)場景設(shè)計(jì) 創(chuàng)建創(chuàng)建Web虛擬虛擬用戶用戶階段 1 制定測試方案制定測試方案階段階段 2階段

27、3階段 4階段 5創(chuàng)建創(chuàng)建Web虛擬用戶虛擬用戶2.1錄制用戶操作錄制用戶操作2.2 增加增加 LoadRunner事務(wù)事務(wù)2.3參數(shù)化參數(shù)化2.4增加檢查點(diǎn)增加檢查點(diǎn)2.5確認(rèn)正確執(zhí)行確認(rèn)正確執(zhí)行關(guān)鍵字腳本中錄制下來的動態(tài)數(shù)據(jù)被一個變量替腳本中錄制下來的動態(tài)數(shù)據(jù)被一個變量替代。代。參數(shù)參數(shù)參數(shù)化數(shù)據(jù)2. 右鍵單擊該步驟1. 定位需要參數(shù)化的數(shù)據(jù) (在測試方案階段應(yīng)該已經(jīng)完成)3. 選擇 “Properties”打開需要參數(shù)化的數(shù)據(jù)的屬性對話框參數(shù)化數(shù)據(jù)1. 單擊需要參數(shù)化的數(shù)據(jù)2. 輸入一個參數(shù)名稱 (或者從下拉框中選擇)3. 確認(rèn)參數(shù)類型為 File創(chuàng)建一個參數(shù)參數(shù)化數(shù)據(jù)1. 單擊“ Pr

28、operties”按鈕2. 單擊“ Create”按鈕并確認(rèn)數(shù)據(jù)文件已經(jīng)被創(chuàng)建打開參數(shù)化對話框參數(shù)化數(shù)據(jù)選擇“Edit”按鈕,文件會被寫字板打開參數(shù)文件名參數(shù)文件名參數(shù)數(shù)據(jù)文參數(shù)數(shù)據(jù)文件件.dato Parameter.dat 文件回保存在VUser的目錄下打開數(shù)據(jù)文件VUSER DESIGN SPECIFICATIONFieldDatamtoyssearch_buttonqueryradishbeetcarrotrhubarbonion參數(shù)化數(shù)據(jù)在寫字板窗口輸入新數(shù)據(jù)o 每輸入一行數(shù)據(jù)后都要按回車鍵DATA參數(shù)名參數(shù)名o 保存數(shù)據(jù)并關(guān)閉寫字板添加數(shù)據(jù)到文件參數(shù)化數(shù)據(jù) 表中的數(shù)據(jù)就是文件中的數(shù)

29、據(jù)o 可以顯示同一個數(shù)據(jù)文件中的多列數(shù)據(jù)文件中的數(shù)據(jù)將顯示在參數(shù)化屬性對話框選擇數(shù)據(jù)讀取方式o 順序o 隨機(jī)o 唯一o 同其他行一樣選擇數(shù)據(jù)更新方式o每次循環(huán)時更新 o每次發(fā)生時 更新o只更新一次1234VuserIterationVuser 1Vuser 2 Vuser 3 Vuser 4數(shù)據(jù)替換方式詳解-SequentialaaaabbbbccccddddabcdabcdabcdabcdEach Iteration Each Occurrence param1Once aaabbbbaeeeeffffhghghghgccccdddd1234VuserIterationVuser 1Vuse

30、r 2 Vuser 3 Vuser 4數(shù)據(jù)替換方式詳解-UniqueaeimbfjncgkodhlpabcdabcdabcdabcdEach Iteration Each Occurrence param1Once aqyzrjbiemu3fnv4hgpoxw65cks1dlt21234VuserIterationVuser 1Vuser 2 Vuser 3 Vuser 4數(shù)據(jù)替換方式詳解-Randomaeim1f2zcgkodhlpamq1amq1amq1amq1Each Iteration Each Occurrence param1Once aq4zrj5iemu3fnvc1gpbxgq

31、vcks1h7t2LoadRunner 工作流程系統(tǒng)性能調(diào)優(yōu)系統(tǒng)性能調(diào)優(yōu) 分析測試結(jié)分析測試結(jié) 果果 運(yùn)行場景運(yùn)行場景 設(shè)計(jì)場景設(shè)計(jì)場景 創(chuàng)建創(chuàng)建Web虛擬虛擬用戶用戶階段 1 制定測試方案制定測試方案階段階段 2階段 3階段 4階段 5創(chuàng)建創(chuàng)建Web虛擬用戶虛擬用戶2.1錄制用戶操作錄制用戶操作2.2 增加增加LoadRunner 事務(wù)事務(wù)2.3參數(shù)化參數(shù)化2.4增加檢查點(diǎn)增加檢查點(diǎn)2.5確認(rèn)正確執(zhí)行確認(rèn)正確執(zhí)行 確認(rèn)正確執(zhí)行對于順序替換方式, 循環(huán)數(shù)應(yīng)該和數(shù)據(jù)行數(shù)相同 Run-Time Settings - Iterations確認(rèn)正確執(zhí)行Run-Time Settings - Log選擇

32、擴(kuò)展日志,選中 Parameter substitution確認(rèn)正確執(zhí)行Execution Log參數(shù)化數(shù)據(jù)的替換過程將會在執(zhí)行日志中顯示總結(jié)參數(shù)化的目的:解決數(shù)據(jù)唯一性約束解決當(dāng)前時間約束給服務(wù)器施加預(yù)期的壓力處理數(shù)據(jù)的相互約束準(zhǔn)備輸入數(shù)據(jù):來自數(shù)據(jù)庫來自業(yè)務(wù)專家通過“Run-Time Settings”控制虛擬用戶的執(zhí)行日志循環(huán)數(shù)10/18/202181場景:建立,運(yùn)行和分析測試場景:建立,運(yùn)行和分析測試結(jié)果結(jié)果o 完整壓力測試的組成部分目標(biāo)如何創(chuàng)建和運(yùn)行一個 LoadRunner場景LoadRunner場景的執(zhí)行過程如何分析測試結(jié)果關(guān)鍵字一個完整的壓力測試由下面五個部分組成一個完整的壓力

33、測試由下面五個部分組成: LoadRunner Scenarioscriptsrun-time settingshostmachinesresultslocationvirtual usersDEFINITION Host 1Host 2 Scenario 結(jié)構(gòu)示意圖LoadRunnerControllerServer(s)VusersVusersScriptsScriptsLoadRunner 工作流程系統(tǒng)性能調(diào)優(yōu)系統(tǒng)性能調(diào)優(yōu) 分析測試結(jié)分析測試結(jié)果果 運(yùn)行場景運(yùn)行場景 設(shè)計(jì)場景設(shè)計(jì)場景創(chuàng)建創(chuàng)建Web虛擬虛擬用戶用戶階段 1 制定測試方案制定測試方案階段 2階段階段 3階段 4階段 5場景設(shè)

34、計(jì)場景設(shè)計(jì)3.1定義測試主機(jī)定義測試主機(jī)3.2 連接測試主機(jī)連接測試主機(jī)3.3定義虛擬用戶腳本定義虛擬用戶腳本3.4添加虛擬用戶添加虛擬用戶Controller 窗口中的“運(yùn)行”選項(xiàng)卡是用來管理和監(jiān)控測試的控制中心?!斑\(yùn)行”視圖包含五個主要部分:場景組,場景狀態(tài),可用圖樹,圖查看區(qū)域和圖例。v場景組:位于左上窗格中,可以查看場景組中的 Vuser 的狀態(tài)。使用該窗格右側(cè)的按鈕可以啟動、停止和重置場景,查看單個 Vuser 的狀態(tài),并且可以手動添加更多的 Vuser,從而增加場景運(yùn)行期間應(yīng)用程序上的負(fù)載。v場景狀態(tài):位于右上窗格中,可以查看負(fù)載測試的概要,其中包括正在運(yùn)行的 Vuser 數(shù)以及每

35、個 Vuser 操作的狀態(tài)。v可用圖樹:位于中部左側(cè)窗格中,可以查看 LoadRunner 圖列表。要打開圖,請?jiān)谠摌渲羞x擇一個圖,然后將其拖動到圖查看區(qū)域中。v圖查看區(qū)域:位于中部右側(cè)窗格中,可以自定義顯示以查看一至八個圖(“View” “View Graphs”)。v圖例:位于底部窗格中,可以查看選定圖中的數(shù)據(jù)。 LoadRunner Controller場景執(zhí)行前場景設(shè)計(jì)設(shè)置“ run-time configuration”場景執(zhí)行期間運(yùn)行大量并發(fā)用戶控制每個虛擬用戶 (初始化, 運(yùn)行, 暫停, 停止)顯示每個虛擬用戶的狀態(tài)顯示每個虛擬用戶發(fā)出信息監(jiān)控服務(wù)器資源場景執(zhí)行完畢搜集性能數(shù)據(jù)

36、運(yùn)行結(jié)果分析工具協(xié)助系統(tǒng)性能調(diào)優(yōu)Controller 負(fù)責(zé)控制 Vusers RemoteCommandLauncherInitializeVusersRunStopAgent 添加虛擬用戶 Vusers Tab of the Controller Initialize/run VuserVuserstatusScriptNamesHostMachinesController TabsDesign tab場景設(shè)計(jì)區(qū),主要包括:調(diào)度編輯虛擬用戶生成機(jī)虛擬用戶控制運(yùn)行時設(shè)置Controller TabsRun tab場景執(zhí)行區(qū),主要包括:虛擬用戶控制監(jiān)控資源設(shè)置實(shí)時監(jiān)控顯示LoadRunner 工

37、作流程系統(tǒng)性能調(diào)優(yōu)系統(tǒng)性能調(diào)優(yōu) 分析測試結(jié)分析測試結(jié)果果 執(zhí)行場景執(zhí)行場景 設(shè)計(jì)場景設(shè)計(jì)場景 創(chuàng)建創(chuàng)建Web虛擬虛擬用戶用戶階段 1 制定測試方案制定測試方案階段 2階段 3階段階段 4階段階段 5運(yùn)行場景和分析測試結(jié)果運(yùn)行場景和分析測試結(jié)果 4.1確認(rèn)場景中的虛擬用戶均能正常運(yùn)行確認(rèn)場景中的虛擬用戶均能正常運(yùn)行4.2分離分離 Top Time transactions4.3滿載壓力測試滿載壓力測試4.4確定系統(tǒng)硬件和軟件的極限承受能力確定系統(tǒng)硬件和軟件的極限承受能力5.0 分析測試結(jié)果分析測試結(jié)果場景執(zhí)行過程場景執(zhí)行過程4.1 確認(rèn)場景包括的虛擬確認(rèn)場景包括的虛擬用戶正確執(zhí)行用戶正確執(zhí)行A.

38、 正式的壓力測試執(zhí)行前必須執(zhí)行正式的壓力測試執(zhí)行前必須執(zhí)行這一步這一步B. 參數(shù)化的數(shù)據(jù)必須滿足并發(fā)要求參數(shù)化的數(shù)據(jù)必須滿足并發(fā)要求 3-5場景目標(biāo)場景目標(biāo)具體含義具體含義并發(fā)用戶數(shù)并發(fā)用戶數(shù)運(yùn)行一個場景1 確認(rèn)所有測試機(jī)上的Agent已經(jīng)啟動2 確定保存測試結(jié)果的目錄3 初始化Vusers4 運(yùn)行Vusers確認(rèn)場景中的虛擬用戶均能正常運(yùn)行總事務(wù)數(shù) passed / failed概要分析場景執(zhí)行過程4.2 分離分離“Top Time transactions”這些這些“transactions”往往和系統(tǒng)往往和系統(tǒng)的性能瓶頸點(diǎn)有關(guān)系。的性能瓶頸點(diǎn)有關(guān)系。 20%場景目標(biāo)場景目標(biāo)并發(fā)用戶數(shù)并發(fā)

39、用戶數(shù)具體含義具體含義4.1確認(rèn)場景包括的虛擬確認(rèn)場景包括的虛擬用戶正確執(zhí)行用戶正確執(zhí)行 3-5A. 正式的壓力測試執(zhí)行前必須執(zhí)行正式的壓力測試執(zhí)行前必須執(zhí)行這一步這一步B. 參數(shù)化的數(shù)據(jù)必須滿足并發(fā)要求參數(shù)化的數(shù)據(jù)必須滿足并發(fā)要求關(guān)鍵字整個業(yè)務(wù)流程中響應(yīng)時間最長的事務(wù),這整個業(yè)務(wù)流程中響應(yīng)時間最長的事務(wù),這個事務(wù)往往是造成整個系統(tǒng)瓶頸的原因。個事務(wù)往往是造成整個系統(tǒng)瓶頸的原因。Top Time TransactionTop Time transactions Run-time SettingsContentCheckLog點(diǎn)擊點(diǎn)擊 Enable verification checks選擇選擇

40、 Standard logRun-Time Settings tabRecommended點(diǎn)擊點(diǎn)擊 Define each action as a transaction點(diǎn)擊點(diǎn)擊 Define each step as a transactionMiscellaneousAutomatic Transactions 只在只在 LoadRunner Controller的圖表和的圖表和報(bào)告中體現(xiàn)報(bào)告中體現(xiàn),VuGen的的 Execution Log不體不體現(xiàn)現(xiàn). Top Time transactions 增加新的圖表 Top Time transactions Transaction Resp

41、onse Time - Percentile “Action1_Transaction ”度量的是整度量的是整個的業(yè)務(wù)流程,因個的業(yè)務(wù)流程,因此此“Top Time Transactions”是是“create_reservation”。 Action1_Transactioncreate_reservation場景執(zhí)行過程場景執(zhí)行過程4.3滿負(fù)載執(zhí)行場景滿負(fù)載執(zhí)行場景確認(rèn)系統(tǒng)在設(shè)計(jì)壓力下功能的正確確認(rèn)系統(tǒng)在設(shè)計(jì)壓力下功能的正確性性 100%4.2分離分離“Top Time transactions”這些這些“transactions”往往和系統(tǒng)往往和系統(tǒng)的性能瓶頸點(diǎn)有關(guān)系的性能瓶頸點(diǎn)有關(guān)系。

42、 20%場景目標(biāo)場景目標(biāo)并發(fā)用戶數(shù)并發(fā)用戶數(shù)具體含義具體含義4.1確認(rèn)場景包括的虛擬用確認(rèn)場景包括的虛擬用戶均能正確執(zhí)行戶均能正確執(zhí)行 3-5A. 正式的壓力測試執(zhí)行前必須執(zhí)行正式的壓力測試執(zhí)行前必須執(zhí)行這一步這一步B. 參數(shù)化的數(shù)據(jù)必須滿足并發(fā)要求參數(shù)化的數(shù)據(jù)必須滿足并發(fā)要求滿載壓力測試設(shè)置監(jiān)控選項(xiàng)選擇發(fā)送錯誤消息到輸出窗口 (否則彈出對話框?qū)袛噙\(yùn)行) 滿載壓力測試設(shè)置監(jiān)控工具 nmon資源統(tǒng)計(jì)工具:NetworkBrowser Emulationcheck Emulate modem speed, and enter expected speedcheck Simulate brows

43、er cachecheck Download non-HTML resourcesRUN-TIME SETTING TABRECOMMENDED 滿載壓力測試Runtime SettingsLogselect Disable loggingcheck Define each action as a transactioncheck Define each step as a transactionMiscellaneouso 寫日志也會占用系統(tǒng)資源,因此會導(dǎo)致測試結(jié)果不夠準(zhǔn)確。o 更加逼真的模擬實(shí)際工作環(huán)境o 盡管內(nèi)容檢查非常有用,但是在壓力測試中并不是必須的。ContentCheckuncheck Enable verification checks滿載壓力測試Web Server 資源圖表 流量流量點(diǎn)擊分析總結(jié)報(bào)告中的鏈接,打開相應(yīng)的圖表。 滿載壓力測試Web Server 資源圖表 每秒點(diǎn)擊率每秒點(diǎn)擊率 滿載壓力測試Transactions Graph每秒事務(wù)數(shù)每秒事務(wù)數(shù) 滿載壓力測試 Transactions Graph網(wǎng)站響應(yīng)時間:2/5/10原則10s:糟透了,無法接受Transactionkey事務(wù)響應(yīng)時間事務(wù)響應(yīng)時間場景執(zhí)行過程場景執(zhí)行過程4.4 確定系統(tǒng)硬件和軟件確定系統(tǒng)硬件和軟件的極限承受能力的極限承受能力了解系統(tǒng)在超負(fù)荷的情況是否穩(wěn)定了解系統(tǒng)在超負(fù)荷的

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論