一 LoadRunner簡(jiǎn)介 1.1 Loadrunner介紹 LoadRunner 是 HP Mercury Interactive 用來測(cè)試應(yīng)用程序性能的工具 LoadRunner 通過模擬一個(gè)多用戶并行工作的環(huán)境來對(duì)應(yīng)用程序進(jìn)行負(fù)載測(cè)試。通過 使用最少的硬件資源,這些虛擬用戶提供一致的、可重復(fù)并可度量的負(fù)載,像實(shí)際用戶 一樣使用所要測(cè)試的應(yīng)用程序。LoadRunner 深入的報(bào)告和圖提供了評(píng)估應(yīng)用程序性能所需的信息。
1.2 Loadrunner 應(yīng)用程序負(fù)載測(cè)試
現(xiàn)代的系統(tǒng)體系結(jié)構(gòu)很復(fù)雜。在提供了空前強(qiáng)大的功能和靈活性的同時(shí),這些 系統(tǒng)也難以測(cè)試。單用戶測(cè)試主要側(cè)重于系統(tǒng)組件的功能和用戶界面,而應(yīng)用程序 試則側(cè)重于整個(gè)系統(tǒng)的性能和可靠性。
例如,一個(gè)典型的應(yīng)用程序測(cè)試方案的情況可能是星期一早上有 1000 個(gè)用戶同時(shí)登 錄到系統(tǒng)上。該系統(tǒng)的響應(yīng)時(shí)間是多少?系統(tǒng)會(huì)崩潰嗎?要回答這些問題(以及更多的問題),一個(gè)完整的應(yīng)用程序性能測(cè)試解決方案必須:
測(cè)試一個(gè)組合了各種軟件應(yīng)用程序和硬件平臺(tái)的系統(tǒng)
確定服務(wù)器與任何給定應(yīng)用程序的適應(yīng)性
在開發(fā)出必要的客戶端軟件之前測(cè)試服務(wù)器
模擬多個(gè)客戶端與單個(gè)服務(wù)器應(yīng)用程序之間進(jìn)行交互的環(huán)境
在幾十、幾百甚至幾千個(gè)潛在用戶的負(fù)載情況下測(cè)試應(yīng)用程序
1.3 LoadRunner解決方案 vLoadRunner 通過使用虛擬用戶 Vuser 代替實(shí)際用戶。這些 Vuser 模擬實(shí)際用戶的行為 - 運(yùn)行實(shí)際的應(yīng)用程序。 v因?yàn)橐慌_(tái)計(jì)算機(jī)上可以運(yùn)行許多 Vuser,因此 LoadRunner 減少了對(duì)硬件的要求。 vLoadRunner Controller 可以從一個(gè)單一的控制點(diǎn)簡(jiǎn)單有效地控制所有的 Vuser。 vLoadRunner 聯(lián)機(jī)監(jiān)視應(yīng)用程序的性能。 vLoadRunner 在測(cè)試過程中會(huì)自動(dòng)記錄應(yīng)用程序的性能。 vLoadRunner 可檢查出現(xiàn)性能延遲的地方:網(wǎng)絡(luò)或客戶端延遲、CPU 性能、I/O 延遲、數(shù)據(jù)庫鎖定和數(shù)據(jù)庫服務(wù)器上的其他問題。LoadRunner 將監(jiān)視網(wǎng)絡(luò)和服務(wù)器資源以幫助改進(jìn)性能。 二 LoadRunner測(cè)試過程 制定負(fù)載測(cè)試計(jì)劃 開發(fā)測(cè)試腳本 創(chuàng)建運(yùn)行場(chǎng)景 執(zhí)行測(cè)試 監(jiān)視場(chǎng)景 分析測(cè)試結(jié)果 ![]() Loadrunner組件介紹 LoadRunner 包含很多組件,其中最常用的有 Visual User Generator(以下簡(jiǎn)稱VuGen)、Controller,Analysis。 v Mercury 虛擬用戶生成器 (VuGen) — 創(chuàng)建腳本VuGen 通過錄制應(yīng)用程序中典型最終用戶執(zhí)行的操作來生成虛擬用戶 (Vuser)。VuGen 將這些操作錄制到自動(dòng)虛擬用戶腳本中,以便作為負(fù)載測(cè)試的基礎(chǔ)。 v Mercury LoadRunner Controller — 設(shè)計(jì)和運(yùn)行場(chǎng)景 Controller 是用來創(chuàng)建、管理和監(jiān)控負(fù)載測(cè)試的中央控制臺(tái)。使用 Controller 可以運(yùn)行用來模擬真實(shí)用戶執(zhí)行的操作的腳本,并可以通過讓多個(gè) Vuser (虛擬用戶)同時(shí)執(zhí)行這些操作來在系統(tǒng)中創(chuàng)建負(fù)載。 v Mercury Analysis — 分析場(chǎng)景 Mercury Analysis 提供包含深入的性能分析信息的圖和報(bào)告。使用這些圖和 報(bào)告,可以標(biāo)識(shí)和確定應(yīng)用程序中的瓶頸,并確定需要對(duì)系統(tǒng)進(jìn)行哪些更改來提高系統(tǒng)性能。
使用VuGen開發(fā)腳本的步驟: 錄制測(cè)試腳本 完善測(cè)試腳本 配置Run-Time Settings項(xiàng) 單機(jī)運(yùn)行測(cè)試腳本 創(chuàng)建運(yùn)行場(chǎng)景 ![]() 使用VuGen開發(fā)腳本-錄制測(cè)試腳本 點(diǎn)擊開始->Mercury LoadRunner->Applications->Virtual User Generator或開始-> Mercury LoadRunner-> Mercury LoadRunner->Load Testing->Create/Edit Scripts來啟 動(dòng)VuGen。 ![]() 啟動(dòng)VuGen后,可以選擇新建單協(xié)議腳本,多協(xié)議腳本,打開腳本等;如果不想下次再顯示該頁,在Don’t show the startup dialog in the future前打勾即可。
使用VuGen開發(fā)腳本-錄制測(cè)試腳本 新建一個(gè)用戶腳本,選擇系統(tǒng)通訊的協(xié)議,這里我們需要測(cè)試的是Web 應(yīng)用,所以我們需要選擇Web(HTTP /HTML)協(xié)議,確定后,進(jìn)入主窗體。 ![]() 設(shè)置錄制選項(xiàng)
Application type中選擇應(yīng)用程序類型Internet Application URL中輸入要測(cè)試的網(wǎng)址 Working directory中設(shè)置工作目錄 Record into Action中選擇要把錄制的腳本放到哪一個(gè)部分,見意選擇 Action ![]() vVuGen 中的腳本分為三部分:vuser_init、vuser_end 和Action。其中vuser_init 和vuser_end 都只能存在一個(gè),不能再分割,而Action 還可以分成無數(shù)多個(gè)部分(通過點(diǎn)擊New 按鈕,新建ActionXXX) v“Record the application startup”默認(rèn)情況下是選中的,說明應(yīng)用程序一旦啟動(dòng),VuGen 就會(huì)開始錄制腳本;如果沒有選中,應(yīng)用程序啟動(dòng)后,VuGen 出現(xiàn)右邊的對(duì)話框,并且暫時(shí)不會(huì)開始錄制腳本,用戶操作應(yīng)用程序到需要錄制的地方,按下“Record”按鈕,VuGen 才開始錄制。 ![]() 錄制工具條介紹 錄制過程中,在屏幕上會(huì)有一個(gè)工具條出現(xiàn)。下面我們簡(jiǎn)單介紹一下各個(gè)按鈕的功能: ![]() 錄制完成后,按下“結(jié)束錄制”按鈕,VuGen 自動(dòng)生成用戶腳本,退出錄制過程。
查看腳本 錄制結(jié)束后,可以通過兩種方式來查看腳本:腳本視圖及樹視圖 腳本視圖
v腳本視圖是一種基于文本的視圖,列出了作為 API 函數(shù)的 Vuser 操作。要在腳本視圖中查看腳本,請(qǐng)單擊工具欄上的“View Script”按鈕或者選擇“View” > “View Script”。
v在腳本視圖中, VuGen 將在編輯器中顯示帶有彩色編碼的函數(shù)及其變量值的腳本。 ![]() 樹視圖 v樹視圖是基于圖標(biāo)的視圖,列出了作為步驟的 Vuser 操作.要在樹視圖中查看腳本,請(qǐng)單擊工具欄上的“View Tree”按鈕或者選擇“View” > “View Tree”。 v對(duì)于錄制期間所執(zhí)行的每一步驟, VuGen 都在測(cè)試樹中生成一個(gè)圖標(biāo)和一個(gè)標(biāo)題。在樹視圖中,將看到作為腳本步驟的用戶操作。大多數(shù)步驟都附帶相應(yīng)的錄制快照。 ![]() 使用VuGen開發(fā)腳本-完善測(cè)試腳本
事務(wù) 當(dāng)錄制完一個(gè)基本的用戶腳本后,在正式使用前我們還需要完善測(cè)試腳本,增強(qiáng)腳本 的靈活性。例如,可以在腳本中插入名為內(nèi)容檢查的步驟,以驗(yàn)證某些特定內(nèi)容是否顯示 在返回頁上??梢孕薷哪_本來模擬多用戶行為,也可以用事務(wù)來 度量特定的業(yè)務(wù)流程。 事務(wù)(Transaction):為了衡量服務(wù)器的性能,我們需 要定義事務(wù)。比如:我們?cè)谀_本中有一個(gè)數(shù)據(jù)查詢操作, 為了衡量服務(wù)器執(zhí)行查詢操作的性能,我們把這個(gè)操作定義為一個(gè)事務(wù),這樣在運(yùn)行測(cè)試腳本時(shí),LoadRunner 運(yùn)行到該事務(wù)的開始點(diǎn)時(shí),就會(huì)開始計(jì)時(shí),直到運(yùn)行到該事務(wù)的結(jié)束點(diǎn),計(jì)時(shí)結(jié)束。這個(gè)事務(wù)的運(yùn)行時(shí)間會(huì)在結(jié)果中顯示。
插入事務(wù)操作可以在錄制過程中進(jìn)行,也可以在錄制結(jié)束后進(jìn)行。LoadRunner 運(yùn)行在腳本中插入不限數(shù)量的事務(wù)。 插入事務(wù)的方法 在需要定義事務(wù)的操作前面事務(wù)的“開始點(diǎn)” ,通過菜單或者工具欄插入。 ![]() 輸入事務(wù)的名稱。注意:事務(wù)的名稱最好要有意義,能夠清楚的說明該事務(wù)完成的動(dòng)作 ![]() 插入事務(wù)的開始點(diǎn)后,在需要定義事務(wù)的操作后面插入事務(wù)的“結(jié)束點(diǎn)”。同樣可以通過菜單或者工具欄插入 ![]() 默認(rèn)情況下,事務(wù)的名稱列出最近的一個(gè)事務(wù)名稱。一般情況下,事務(wù)名稱不用修改。事務(wù)的狀態(tài)默認(rèn)情況下是LR_AUTO。一般情況下,我們也不需要修改。 ![]() 三、使用VuGen開發(fā)腳本-單機(jī)運(yùn)行測(cè)試腳本 運(yùn)行腳本可以通過菜單或者工具欄來操作: ![]() 執(zhí)行“運(yùn)行”命令后,VuGen 先編譯腳本,檢查是否有語法等錯(cuò)誤。如果有錯(cuò)誤,Vu
Gen將會(huì)提示錯(cuò)誤。雙擊錯(cuò)誤提示,VuGen 能夠定位到出現(xiàn)錯(cuò)誤的那一行。如果編譯通
過,就會(huì)開始運(yùn)行。然后會(huì)出現(xiàn)運(yùn)行結(jié)果。
四、使用Controller創(chuàng)建場(chǎng)景-新建場(chǎng)景窗口介紹
Loadrunner的場(chǎng)景能夠描述在測(cè)試活動(dòng)中發(fā)生的各種事件。一個(gè)場(chǎng)景包括一個(gè)運(yùn)行虛擬用戶活動(dòng)的Load Generator 機(jī)器列表,一個(gè)測(cè)試腳本的列表以及大量的虛擬用戶和虛擬用戶組點(diǎn)擊
開始->Mercury LoadRunner->Applications->Controller或開始->Mercury LoadRunner-> Mercury LoadRunner->Load Testing->Run Load Tests來啟動(dòng)Controller程序。
在新建場(chǎng)景的窗口,選擇一種場(chǎng)景類型:
vManual Scenario:完全手動(dòng)的設(shè)置場(chǎng)景(1)
vManual Scenario with Percentage Mode(1.1):
該項(xiàng)只有在“Manual Scenario”選中的情況下才能選擇。選擇該項(xiàng)后,在場(chǎng)景中我們需要定義要使用的虛擬用戶的總數(shù),Load Generator machine 機(jī)器集,然后我們?yōu)槊恳粋€(gè)腳本分配要運(yùn)行的虛擬用戶的百分比。
vGoal—Oriented Scenario(2): 在測(cè)試計(jì)劃中,一般都包括性能測(cè)試要達(dá)到的目標(biāo)。選擇該項(xiàng)后,LoadRunner 基于這個(gè)目標(biāo),自動(dòng)為你創(chuàng)建一個(gè)場(chǎng)景。在場(chǎng)景中,我們只要定義好我們的目標(biāo)即可。
![]() 四、使用Controller創(chuàng)建場(chǎng)景-Controller設(shè)計(jì)窗口概述
Controller 窗口的“設(shè)計(jì)”選項(xiàng)卡包含兩個(gè)主要部分:場(chǎng)景計(jì)劃和場(chǎng)景組 v場(chǎng)景計(jì)劃: 在“場(chǎng)景計(jì)劃”部分中,您可以設(shè)置負(fù)載行為以精確地描繪用戶行為。您還可以確定將負(fù)載應(yīng)用于應(yīng)用程序的速率、負(fù)載測(cè)試持續(xù)時(shí)間以及如何停止負(fù)載。 v場(chǎng)景組:您可以在“場(chǎng)景組”部分中配置 Vuser 組。在此部分中,您可以創(chuàng)建代表系統(tǒng)典型用戶的各種組。您可以定義這些典型用戶運(yùn)行的操作、運(yùn)行的 Vuser數(shù)以及 Vuser 運(yùn)行時(shí)所用的計(jì)算機(jī)。 ![]() 四、使用Controller創(chuàng)建場(chǎng)景-Controller運(yùn)行窗口概述 Controller 窗口中的“運(yùn)行”選項(xiàng)卡是用來管理和監(jiān)控測(cè)試的控制中心?!斑\(yùn)行”視圖包含五個(gè)主要部分:場(chǎng)景組,場(chǎng)景狀態(tài),可用圖樹,圖查看區(qū)域和圖例。 v場(chǎng)景組:位于左上窗格中,可以查看場(chǎng)景組中的 Vuser 的狀態(tài)。使用該窗格右側(cè)的按鈕可以啟動(dòng)、停止和重置場(chǎng)景,查看單個(gè) Vuser 的狀態(tài),并且可以手動(dòng)添加更多的 Vuser,從而增加場(chǎng)景運(yùn)行期間應(yīng)用程序上的負(fù)載。
v場(chǎng)景狀態(tài):位于右上窗格中,可以查看負(fù)載測(cè)試的概要,其中包括正在運(yùn)行的 Vuser 數(shù)以及每個(gè) Vuser 操作的狀態(tài)。
v可用圖樹:位于中部左側(cè)窗格中,可以查看 LoadRunner 圖列表。要打開圖,請(qǐng)?jiān)谠摌渲羞x擇一個(gè)圖,然后將其拖動(dòng)到圖查看區(qū)域中。
v圖查看區(qū)域:位于中部右側(cè)窗格中,可以自定義顯示以查看一至八個(gè)圖(“View” > “View Graphs”)。
v圖例:位于底部窗格中,可以查看選定圖中的數(shù)據(jù)。 ![]() 四、使用Controller創(chuàng)建場(chǎng)景-運(yùn)行Controller 打開 Controller 運(yùn)行視圖。單擊“Start Scenario”按鈕 或選擇“Scenario” -> “Strart”開始運(yùn)行測(cè)試。如果您第一次運(yùn)行該場(chǎng)景, Controller 將啟動(dòng)場(chǎng)景。結(jié)果文件自動(dòng)保存到負(fù)載生成器的臨時(shí)目錄中。如果要重復(fù)此測(cè)試,將提示您覆蓋現(xiàn)有結(jié)果文件。單擊“否”,指定新的結(jié)果目錄。對(duì)每個(gè)結(jié)果集輸入唯一且有意義的名稱,這是因?yàn)樵诜治鰣D時(shí),可能希望重疊幾個(gè)場(chǎng)景運(yùn)行的結(jié)果。
![]() 五、使用Analysis分析結(jié)果-Analysis窗口概述 在 Analysis 會(huì)話過程中生成的圖和報(bào)告提供了有關(guān)系統(tǒng)性能的重要信息。使用這些圖和報(bào)告,可以輕松地標(biāo)識(shí)和確定應(yīng)用程序中的瓶頸以及提高系統(tǒng)性能所需的改進(jìn)。 從AnalySis中可以得到用戶終端的事務(wù)響應(yīng)時(shí)間,事務(wù)的平均響應(yīng)時(shí)間,網(wǎng)絡(luò)和服務(wù)器的響應(yīng)時(shí)間等。 從開始->Mercury LoadRun ner->Applications->Analysis 或開始->Mercury LoadRunner- >Mercury LoadRunner->Load Testing->Analyze Load Tests 來啟動(dòng)Analysis程序。 ![]() |
|