HP LoadRunner 12.02 Tutorial T7177-88037教程獨家中文版

 

LoadRunner 12.02教程獨家中文版 web

Tylan獨家嘔血翻譯正則表達式

轉載請註明出自「天外歸雲」的博客園 數據庫

Welcome to the LoadRunner Tutorial

LoadRunner所包含的組件

 以下所示:瀏覽器

 

Vugen:Virtual User Generator,虛擬用戶發生器的簡稱,用來錄製用戶的業務流程,建立自動化性能測試腳本,亦稱之爲Vuser腳本。服務器

Controller:控制器,用於組織、驅動、管理並監控負載測試。網絡

Analysis:分析器,幫助你查看,剖析並比較負載測的結果報告。session

Load Generator:負載發生器,用來攢動與運行虛擬用戶以對目標系統產生負載的計算機。併發

LoadRunner術語

場景:在場景中將根據性能需求來定義測試過程當中所發生的事件。dom

虛擬用戶:虛擬用戶會在系統中模仿真實用戶的行爲。一個場景能夠包含數以千計的虛擬用戶。編輯器

虛擬用戶腳本:錄製了你在程序中所操做的業務流程。

協議:協議就是客戶端和服務器之間的交流方式。

事務:事務用以衡量你的系統性能。一個事務表明了一個或多個終端用戶的業務流程。一個事務讓你衡量業務流程所花費的時間成爲可能。

腳本足跡:由負載發生器所需的大量不一樣資源所定義,以執行Vuser腳本爲目的。典型的資源包括內存,CPU能源,硬盤空間。

LoadRunner負載測試流程:

  1. 計劃負載測試:計劃你的負載測試都須要作哪些準備,好比:併發的用戶數,主要的業務流程,和須要的相應次數等。
  2. 建立Vuser腳本:用VuGen把終端用戶的操做活動錄製成腳本。
  3. 設計場景:用Controller建立一個負載測試的環境。
  4. 運行場景:用Controller驅動,管理並監控這個負載測試。
  5. 分析結果:用LoadRunner Analysis生成圖表與報表,對系統的性能進行評估。

 

 

開始HP Web Tours(惠普在線旅遊)

爲了理解LoadRunner是如何作爲負載測試的解決方案,這個教程將用性能需求做爲一個樣本應用。這個樣本應用——HP Web Tours(惠普在線旅遊),是一個web-based(基於網絡的)旅遊代理系統。HP Web Tours的用戶鏈接到一個web服務器,用於搜索與預訂航班,檢查航班行程。

LoadRunner支持超過50種應用,這個教程僅僅用來說述怎樣來對一個web-based類型的應用進行負載測試。若是你要對其餘類型的應用進行負載測試,請聯繫惠普以求幫助。

在教程的這一部分中,你將會學到如何開始並登陸HP Web Tours。

  1. 打開樣本的web server:選擇Start > All Programs > HP Software > HP LoadRunner > Samples > Web >Start HP Web Tours Server,在基於圖標的桌面中,好比Win8,查找"Start HP",在Search結果中選擇並打開"Start HP Web Tours Server"

    在你訪問這個應用的同時你必定要讓 "Start HP Web Tours Server"的窗口始終開着。

  2. 打開HP Web Tours:選擇Start > All Programs > HP Software > HP LoadRunner > Samples > Web > HP Web Tours Application。Win8同上,搜索HP Web,選擇HP Web Tours Application。(確保你的LoadRunner安在你的計算機的默認文件夾中,不然HP Web Tours Application不會被打開。)
  3. 登錄HP Web Tours:
    1. 用戶名和密碼分別輸入jojo和bean
    2. 點擊login。

  4. 預訂航班:
    1. 在左側導航欄中點擊Flights,Find Flight頁面被打開;
    2. Arrival City選擇Los Angeles;
    3. 點擊Continue;
    4. 在跳轉頁面保持默認設置,點擊Continue;
    5. 在Payment Details頁面,點擊Continue,Invoice頁面顯示了你的機票預訂信息;
  5. 在左側導航欄中點擊Sign Off。

定義應用的性能需求

如今你已經熟悉了HP Web Tours,設想你是性能工程師,你要對HP Web Tours的性能負責並讓其符合HP Web Tours的商業需求。你的產品經理已經給出了四點產品的發佈標準:

  1. HP Web Tours必須能撐得住10個併發的旅遊客戶端;
  2. HP Web Tours必須能同時運行十個航班預訂,而且響應時間不得超過90秒;
  3. HP Web Tours必須可以撐住10個旅遊客戶端同時運行itinerary checks,而且響應時間不得超過120s;

這個教程將教你如何創建一個知足全部這些需求的負載測試,以便於在產品發佈前你能夠給出諸如產品性能經過或失敗的數據。

第一課:創建一個Vuser腳本

要對你的系統產生負載,首先你要建立一個能夠運行的可以模仿真實用戶操做的Vuser腳本。這裏,你須要用Vugen來完成這一需求。

介紹一下Vugen——Virtual User Generator(虛擬用戶發生器)

在一個性能測試環境中,LoadRunner用虛擬用戶代替了真實用戶,虛擬用戶也叫Vusers,虛擬用戶經過可預見的,重複性的模擬真實用戶操做來對系統產生負載。

Vugen幫你建立虛擬用戶腳本,它以錄製與回放的原則去工做。當你在你的應用中完成一遍業務流程的同時,Vugen會記錄你的操做並將其按步驟翻譯成虛擬用戶腳本。虛擬用戶腳本是你負載測試的基礎構成。

建立一個空的虛擬用戶(Vuser)腳本

去開發一個虛擬用戶腳本,你首先要打開Vugen並建立一個空腳本。此後你才能夠經過錄制事件或加入人爲改善的方式來改善這個空腳本。

本節你將建立一個基於Web-based HTTP/HTML協議的虛擬用戶腳本。

定義:協議是服務器與客戶端之間的交流方式。

接下來咱們建立一個空的虛擬用戶腳本:

  1. 點擊你桌面上的Virtual User Generator圖標打開Vugen。

  2. 點擊File>New Script and Solution,在彈出頁中選擇Web-based HTTP/HTML協議。(左側的Vugen Category必定確保是Single Protocol)

錄製一個虛擬用戶腳本

這部份內容將幫你完成以前預訂航班和檢查行程的錄製。

首先,你要點擊Record>Recording Options:

確保Track processes created as COM local servers這一項是沒有勾選的,而後點擊OK。

接下來咱們錄製虛擬用戶腳本:

  1. 開始在HP Web Tours網站上的錄製;
    1. 點擊錄製按鈕:

    2. url處填寫:http://localhost:1080/WebTours/,其餘保持默認,而後點擊Start Recording:
    3. 注意:確保你的Start HP Web Tours Server是打開的,不然可能打不開HP Web Tours頁面。以後你會看到錄製框出來了:
  2. 在彈出的HP Web Tours頁面輸入用戶名和密碼:jojo和bean,而後點擊login;
  3. Arrival City選擇Los Angeles,Seating Preference選擇Aisle其餘保持默認,點擊Continue;
  4. 點擊Continue;
  5. Credit Card欄輸入12345678,Exp Date欄填06/14,點擊Continue;
  6. 點擊左側Itinerary;
  7. 點擊左側Sign Off;
  8. 點擊Stop Recording按鈕: ,彈出的頁面點擊Close按鈕;
  9. 保存腳本:
    1. File>Save Script As
    2. 名字取爲basic_tutorial

查看虛擬用戶腳本

左側的Solution Explorer給出了Vuser腳本的各個組成部分與相關文件。

Step Navigator以小圖標的形式列出了虛擬用戶各個步驟的操做,你在錄製腳本的過程當中所作的每個操做,Vugen都會在Step Navigator中生成相應的步驟。

每一個步驟名字右側的小圖標表明有截圖:

用戶的操做是以API函數的形式顯示在右邊的編輯器中的,你能夠用C語言或者LoadRunner API函數或是一些流程控制語句在其中直接進行編寫。

第二課:回放你的腳本

上一節,你錄製了腳本。可是在你把你的腳本放到場景中執行前,你須要回放你的腳本以檢查你錄製的Vuser腳本是否能正常工做。

在你回放腳本以前,你必須配置腳本的runtime settings,它定義了虛擬用戶的行爲。

怎樣設置虛擬用戶的runtime行爲?

LoadRunner的運行時設置(runtime settings)讓你可以模擬不一樣種類的用戶活動和行爲。例如:你能夠模擬一個對服務器的輸出馬上作出響應的用戶,或者你也能夠模擬一個每一步都要思考才能作出響應的用戶。你能夠配置運行時設置(runtime settings)來具化虛擬用戶須要重複多少次腳本中的操做。

本節介紹通用的能夠應用與全部的虛擬用戶協議的runtime settings該如何配置,關於特殊的協議在第四節課中將會講到。General runtime settings包括:

Run Logic(運行邏輯):Vuser重複不一樣部分Vuser腳本的次數。

Pacing(節奏):每兩次重複之間的等待時間。

Think Time(思考時間):腳本之中步驟之間Vuser所須要停頓的時間。

Log:設置在你回放腳本過程當中所須要收集的信息的level(等級)。

本節課介紹用Vugen修改runtime settings,以後的課程將介紹如何用Controller修改runtime settings。

修改runtime settings:

  1. 打開你上節課保存的Vuser腳本;
  2. 打開runtime settings對話框,點擊Replay>Runtime Settings(按F4)出現編輯界面:

  3. 設置Run Logic配置:

    在左側欄中選擇Run Logic,設置Number of iterations(重複次數)爲2,這個是用來設置腳本中Action部分的重複次數:

  4. 設置Pacing settings:

    在這裏你能夠設置每兩次重複之間的等待時間,你能夠設置一個隨機值,這將以一個隨機的間隔時間更加精確的模擬真實用戶在重複操做之間等待所用的時間,好比你不會看到真實用戶在每兩次重複操做之間老是等待六十秒。

    選擇第三個圓按鈕,設置隨機時間間隔爲60到90秒:

  5. 設置Log settings:

    這裏設置在運行時要記錄那些log信息。在你開發腳本的時候你可能會爲了debug方便而想要獲得一些特別的log信息,可是一旦你調試經過了,你可能之後只須要獲得error的log信息,或根本不須要log信息了。

    選擇Extended log並勾選parameter substitution。這個選項和之後課程中將要討論的點相關。

  6. 設置Think Time:

    保持默認設置,忽略Think Time時間。你能夠在Controller中設置。

我怎麼運行個人Vuser腳本?

在錄製好腳本並設置好runtime settings後,你就作好了運行腳本所須要的準備。Vugen在你運行腳本的過程當中會給予你一些的指示器。

  1. 左下角會出現"Running"字樣。
  2. 編輯器中會出現小黃箭頭,它會指向正在被回放的腳本。
  3. 下面output中會顯示回放過程當中的消息。

介紹完界面上的東西,下面咱們來運行錄製好的腳本:

  1. 在Vugen中打開Vuser腳本;
  2. 點擊Replay>Run或者直接點擊工具欄上的 按鈕。

    在回放結束後會彈出個東東建議你檢查相關的,點擊NO。

我在哪裏能夠看到回放信息?

當Vuser腳本中止運行,你能夠看到回放的一個總結,回放的總結會顯示在Replay Summary 標籤下。

回放總結標籤下列出了關於腳本運行的基本信息,好比回放時間間隔,回放的開始與截止時間。下面的兩個link分別是腳本運行的詳細結果和回放時所收集的log。

回放的log裏記錄了回訪時所發生的事件,在Vugen的output欄裏顯示。

在教材的這一部分,你將打開log,在log中找到指定的事件和提示。

查看回放log:

  1. 在腳本回放完成後,點擊View>Output或在Vugen工具欄中點擊Output按鈕。或者你也能夠在Replay Summary標籤下點擊The Replay Log的連接;
  2. 確認你的Output欄中Replay已經被選擇:

  3. 在Vugen菜單中點擊Search>Quick Find去打開Search對話框;
  4. 在Scope中選擇Current Script;
  5. 點擊展開Include in search,以後勾選Logs;
  6. 經過Search對話框在回放log中定位如下信息:
    1. "Virtual User Script Started"——腳本運行的開始;
    2. "Vuser Terminated"——腳本運行的結束;
    3. "Iteration"——每一次重複的開始和結尾以及重複的次數。(橘色字體的文本)

注意:Output欄中綠色的是成功信息,紅色的是失敗信息。Output欄中也會指出出現的的error在腳本中對應的行號。

雙擊Output欄中的行,將會定位到相應的腳本行。

我怎麼知道個人腳本回放是否成功?

在你回放了你所錄製的腳本後,你須要查看回放結果去判斷腳本是否回放成功。若是有哪有東西失敗了,你想知道何時爲何失敗了。

這一部分你將學會檢查和分析腳本運行結果。Vugen在Test Results窗口中總結了回放結果。

你打開Test Results窗口後會發現它有兩個欄,左側的樹欄和右側的結果總結欄。

  • 樹欄包括結果樹,每一次重複在樹中都被標註了數字。
  • 結果總結欄包含了腳本回放的詳細信息,固然也包括了屏幕錄製器(Screen Recorder)的移動,若是有的話。頂部的表告訴你哪些次重複(Iteration)失敗了,哪些次成功了。和原始錄製的過程相比較,若是虛擬用戶順利完成了整個過程,那麼此次測試將被認爲是經過的。底部的表告訴你事務(Transactions)檢查點(CheckPoints)是否成功或失敗。在教程的後續章節你將學到如何添加這些特點(指事務或檢查點)。

能夠經過下面兩種方法來查看回放結果:

  1. 點擊Replay Summary標籤;
  2. 點擊Reply>Test Results,Test Results窗口打開了並顯示了Results Summary。

下一部分,你將鑽入回放結果中仔細研究,從而判斷腳本在回放過程當中是否到達了預期的web頁面。

我應該怎樣查找或過濾回放結果?

若是你的回放結果表示有什麼東西失敗了,你能夠進一步定位失敗的緣由。

在Test Results窗口中左側的樹欄,你能夠展開你的測試樹,分別查看每一次重複中每一步的結果。右側的總結欄中會顯示該次重複過程當中對應的回放截圖。

  1. 展開樹上的一個重複節點:
    1. 在結果樹上展開basic_tutorial Iteration 1節點;
    2. 展開Action Summary節點,展開的列表將按順序顯示該次循環中所執行的操做步驟;
  2. 查看結果截圖:

點擊Submit Form:reservations.pl,右側總結欄將顯示該步操做時所對應的截圖:

  1. 查看步驟總結:

    總結欄顯示關於步驟的總結性信息:如對象或步驟名,詳細的關於頁面是否成功加載,結果是否經過,每一步的發生時間等。

  2. 查找結果狀態:

    你能夠在回放結果中搜索"Passed"或"Failed"。

    這是很是有幫助的,由於若是你的回放結果總結中告訴你失敗了,它能夠幫你找到哪裏失敗了。

    1. 想要查詢回放結果,點擊Tools>Find或者點擊工具欄中的Find按鈕 ,查詢對話框就會被打開;

    2. 勾選"Passed",其餘的不勾選,點擊"Find Next",測試樹欄中將把第一個經過的(Passed)步驟高亮顯示出來,若是沒有經過的則不高亮顯示。
  3. 過濾結果:

    你能夠過濾測試樹欄來顯示一個指定的循環或狀態。好比,你能夠過濾它只顯示"Failed"狀態的。

    1. 點擊View>Filters或點擊工具欄中的Filters按鈕 ,Filters對話框就會被打開;

    2. Status選擇Fail選項;
    3. Content選擇All選項,點擊OK。

      能夠看到左面的樹欄空了,這是由於過程當中不存在失敗。

  4. 關閉Test Results窗口:

    點擊File>Exit。

第三課:解決回放過程當中所遇到的通常問題

當你錄製好一個腳本後,你經過在VuGen中運行來驗證該腳本是否經過。有時回放會失敗,即使一樣的操做在錄製時是成功的。

有不少應用是動態生成值的,你每次打開這個應用的時候都不同。好比,有些服務器爲每個新的會話都賦予一個獨一無二的會話ID。當你試着回放一個錄製好的會話時,會話會生成一個與錄製時不一樣的新的會話ID。當你回放特定的腳本時,像會話ID這樣的動態值將會給你帶來麻煩。好比當你回放Web-HTTP/HTML類型的腳本時動態的會話ID就會帶來麻煩,可是當回放Web-TruClient類型腳本時就不會。

LoadRunner利用關聯性來定位與解決這種動態值的問題。關聯性保存這種變化的值到一個參數中,就像咱們這個例子中的會話ID。當咱們運行腳本時,虛擬用戶將不會採用事先錄製的值,取而代之,會採服務器所賦予其的新會話ID。

這節課你講學習LoadRunner是如何解決在Web-HTTP/HTML類型Vuser腳本運行時產生的動態值問題。

爲HP Web Tours的回放錯誤作準備

爲了說明一個廣泛存在的回放失敗,你須要在HP Web Tours應用中修改一個設置。這個設置會讓HP Web Tours服務器須要獨一無二的會話ID。

  1. 打開HP Web Tours:

    Start > All Programs > HP Software > HP LoadRunner > Samples > Web > HP Web Tours Application. 以後HP Web Tours的Home Page頁面就被打開了。(Win8的話在界面輸入HP Web進行搜索)

  2. 改變服務器選項:
    1. 在頁面點擊"administration"連接,Administration頁面就被打開了;
    2. 選擇"Set LOGIN form's action tag to an error page.",這個設置將不容許服務器複製會話ID;
    3. 點擊"Update"按鈕;
    4. 點擊頁面底部的"Return to the Web Tours Homepage"連接。

      

咱們對於獨一無二的服務器值是如何處理的?

在HP Web Tours被修改的配置中,服務器給每個虛擬用戶一個獨一無二的值。若是你試着回放沒有修改過的在第一課中所錄製的虛擬用戶腳本,回放的結果將是失敗的。

爲了克服這個問題,你須要用VuGen去實現這個關聯會話 ID的需求。你須要在VuGen中添加一步把這個獨特的會話ID添加到一個參數中。在後續的每個會話中,VuGen都會將新的獨一無二的會話ID存入一個參數中。在虛擬用戶運行Vuser腳本中的步驟時,虛擬用戶會使用已經保存的會話ID值,而不是原先錄製好的值。

  1. 錄製一個新的包含動態值的腳本:
    1. 錄製一個新的包含和第一課中所錄製的腳本具備相同步驟的虛擬用戶腳本;
    2. 將腳本保存爲"basic_tutorial_Cor"。
  2. 回放新錄製的腳本:

    點擊錄製按鈕進行錄製,VuGen運行這個新的腳本,你會注意到回放log中有一些紅色字體的錯誤信息出現。

    回訪結束後,一個消息對話框會彈出提醒你檢查關聯,點擊"No"。

  3. 檢查回放總結:

    觀察回放總結欄(Replay Summary Tab),總結中會指出你的回放失敗了。

  4. 檢查腳本中的關聯(Scan for correlations):

    選擇"Design > Design Studio"

    VuGen檢查腳本和它所關聯的數據,查找可能的動態值。Design Studio下Correlation這個欄列出了三個須要關聯的動態值。這三個值中最長的那個是會話ID。

  5. 關聯會話ID:
    1. 在Correlation欄選擇會話ID那一行,並點擊Correlate。VuGen會把會話ID的狀態變化Applied,並會在腳本的頂部插入一個新的方法,這個方法將把原始的會話ID存入一個參數中。

      在以後的每個回放會話中,VuGen都將保存新的獨一無二的會話ID到參數中。當虛擬用戶運行腳本時,會以該參數取代原先錄製的值;

    2. 點擊"Close"關閉Design Studio。
  6. 來查看一下關聯語句的語法:

    在VuGen編輯器中個,定位到VuGen加到腳本中的語句。新的語句看起來就像下面這樣:

    這個語句告訴VuGen將第一次包含在正則表達式中的值(獨一無二的會話ID)存入參數中並叫CorrelationParameter這個名字。

  7. 從新運行腳本:
    1. 點擊回放按鈕,結束運行後在Output欄中查看回放log,發現沒有錯誤信息了;
    2. 在腳本中,右鍵點擊web_reg_save_param_regexp選擇Go to step in Replay Log,VuGen將鼠標定位在Replay Log中所對應的行處。Log代表方法web_reg_save_param_regexp方法執行成功,關聯順利。
  8. 重置HP Web Tours服務器以忽略獨一的會話ID:
    1. 打開HP Web Tours Application;
    2. 在Home Page頁面點擊Administration連接;
    3. 取消勾選"Set LOGIN form's action tag to an error page";
    4. 在頁面底部點擊"Update"。

如今你對回放中的錯誤有必定的瞭解了,能夠去學習第四課了。

第四課:爲負載測試準備一個虛擬用戶腳本

在以前的課程中,你已經確認你的腳本回放的過程精確的模擬了真實用戶的行爲。下一步,就是爲了負載測試準備腳本。那麼,多個用戶同時併發的在系統上工做會怎樣呢?系統會不會慢到一個不可接受的程度?

在這一課中,你將會學到不一樣的方法去豐富你的腳本,讓它在負載測試的過程當中更加有效率。

怎樣去估量一個業務流程的持續時間呢?

當你爲一個應用作部署時,必定要準確的估測業務流程的持續時間——登錄須要多久,訂飛機票等等。每個業務流程都由你腳本中的一步或多步組成。在一個虛擬用戶腳本中,你經過把這些步驟加到一個事務(transaction)中來設計一系列你想要估測的行爲。

當你運行一個包含事務的腳本時,LoadRunner將會收集關於事務所花費時間的信息,而且以彩色編碼的段落顯示結果和報告。你經過這個信息去判斷這個應用是否能知足你的性能需求。

你能夠手動 的在虛擬腳本中的任何位置插入一段事務。爲了將一系列步驟組成事務,在第一步以前插入一個事務開始(start_transaction)標識,在最後一步以後插入一個事務結束(end_transaction)標識。

這部分你將在你的腳本中插入一段事務來衡量用戶查找和預訂機票這個過程所花費的時間。

在虛擬用戶腳本中插入一段事務(transaction):

  1. 在VuGen中,打開在第一課時你所建立的Basic_Turorial腳本;
  2. 點擊"Step Navigator"欄;
  3. 插入一個事務開始標識:
    1. 在Step Navigator中,定位到步驟:Image: Search Flights Button.
    2. 雙擊該步驟以找到對應在編輯器中的位置;
    3. 點擊View >Steps Toolbox,右側將出現工具欄;
    4. 在工具欄中Common下,找到lr_start_transaction並把他拖進編輯器中,並把它放在web_image步驟前。此時開始事務對話框會被打開;
    5. 在Transaction Name欄中填寫"find_confirm_flight"並點擊"OK"。Vugen將在Step Navigator中插入一個lr_start_transaction的步驟以及一個相應的叫作lr_start_transaction的方法在編輯器中。
  4. 插入一個事務結束標識:
    1. 在Step Navigator中,定位到步驟:Submit Data: reservations.pl_2;
    2. 雙擊,定位到編輯器中相應的代碼行;
    3. 在Steps Toolbox的Common下找到lr_end_transaction,並把它拖到web_submit_data這部分代碼的後面,此時結束事務對話框會被打開;
    4. 確認Transaction Name爲"find_confirm_flight",而後點擊"OK"。Vugen會在左側的Step Navigator中插入一個lr_end_transaction步驟,並在編輯器相應的位置插入一個lr_end_transaction方法。

    如今你知道該怎麼樣去定義"find_confirm_flight"這個事務了。

要怎樣才能模仿多個用戶?

在你的模仿中,你記錄了一個預約航班和選座的過程。可是真實的生活中,每每多個用戶會有不一樣的選擇。爲了改進你的測試,你須要檢查當多個用戶作出不一樣的選擇時(Aisle,Window或None)預約是否依然能正常工做。

爲了完成這個願望,你須要參數化你的腳本。這就意味着你要把你錄製的值,好比Aisle,用參數來替代。你將在一個參數文件中替換這些參數的值。當你運行腳本時,虛擬用戶將會使用參數文件中的值(Aisle,Window或None)以便更加真實的模擬一個客戶端環境。

參數化你的腳本:

  1. 找到你想要更改值的區域:
    1. 選擇View>Step Navigator,在左側欄中打開Step Navigator;
    2. 在Step Navigator中定位到Submit Data:reservations.pl這一步;
    3. 右鍵點擊Submit Form:reservations.pl這一步,選擇Show Arguments。Submit Form Step Properties對話框打開了:

      這個圖標表明有定值。

  2. 改變定值爲可變值:
    1. 在Submit Form Step Properties對話框中選擇第七行seatPref;
    2. 點擊seatPref右側的按鈕,Select Or Create對話框出現:
  3. 建立一個參數:
    1. 在Parameter name處填寫seat;
    2. 點擊"OK",Submit Form Step Properties對話框中VuGen將 圖標替換成 圖標。

    3. 點擊圖標,Parameter Properties對話框打開:
  4. 爲參數指定值:
    1. 點擊Add Row;
    2. 將Value改爲Window;
    3. 點擊Add Row;
    4. 將Value改爲None;

      備註:值並非大小寫敏感的。

    5. 對話框的Select Column和File Format部分保持默認設置。
  5. 定義測試將如何改變數據:
    1. Update value on保持默認設置:Each Iteration;
    2. 點擊"Close"關閉Parameter Properties對話框;
    3. 點擊"OK"關閉Submit Form Step Properties對話框。

      你如今已經爲seating preference建立了一個參數,當你運行負載測試時,虛擬用戶會使用參數中的值而不使用你事先錄製好的腳本中的值——Aisle。

      當你運行腳本時,Replay log裏將會告訴你每次重複所用到的參數中的值。虛擬用戶第一次運行使用的是Aisle,第二次是Window,第三次是None。

我怎樣確認網頁上的內容?

當你運行一個測試時,你常常須要確認返回頁面上是否包含某些特定內容。Content check功能將會在腳本運行時自動幫你在頁面上檢查你的預期信息。你能夠插入兩種內容檢查:

Text Check:在網頁上檢查一段文字;

Image Check:在網頁上檢查一張圖片。

在這一部分你將插入一個text check去檢查是否Find Flight字樣出如今HP Web Tours的Reservations頁面上。

插入一個text check:

  1. 點擊切換到Step Navigator欄;
  2. 在Step Navigator欄中定位到Submit Form:reservations.pl這一步;
  3. 在VuGen工具欄上,點擊Show Snapshot pane按鈕 讓Snapshot欄顯示出來;

  4. 在Step Navigator中Submit Form:reservations.pl的截圖標誌,相應的截圖將出如今Snapshot欄中:

  5. 從VuGen的菜單中點擊View>Steps Toolbox。Steps Toolbox欄出現;

  6. 在Steps Toolbox的Search框中輸入web_reg並在Filter Results中定位到web_reg_find這一步;
  7. 將web_reg_find這一步拖拽到web_submit_form方法前:

    Find Text Dialog打開了:

  8. 在Find Text對話框中,在Search for specific Text框中輸入Find Flight,並點擊"OK";

  9. VuGen插入一個web_reg_find步驟到Step Navigator中,和一個相應的web_reg_find方法到編輯器中。

    當你回放腳本時,VuGen將會查找文字"Find Flight"並在回放log中代表是否找到相應文字。

我應該怎樣去生成調試信息?

在測試中 的一些點上,你想讓LoadRunner生成併發送一些和腳本運行時相關的消息,這些消息既會顯示在Output欄中的Replay log中,也會顯示在Controller的Output窗口中。你能夠生成標準輸出信息,或生成信息以指出錯誤所在之處。

對待錯誤消息的推薦處理方式是檢查Failed狀態,若是發現了狀態爲Failed的信息,你讓VuGen去生成一個錯誤消息。更多的詳細信息請查看HP LoadRunner Function Reference中的例子。

在教程的本部分,你將讓VuGen在應用完成一次完整的預訂後插入一條輸出信息(Output Message)。

插入一條輸出信息:

  1. 點擊Step Navigator欄;
  2. 在Step Navigator欄中定位到最後一步:Image:SignOffButton;
  3. 雙擊Image:SignOffButton這一步,編輯器中顯示相應的web_image方法;
  4. 在Steps Toolbox中Common下定位到lr_output_message方法;
  5. 將lr_output_message方法拖拽到web_image方法後,Output Message對話框打開;

  6. Message Text中填寫:The flight was booked;
  7. 點擊"OK"。VuGen添加一個lr_output_message的方法到腳本中,而且在Step Navigator中生成相應的一步。

  8. 點擊VuGen工具欄中的Save按鈕 保存腳本。

    請注意,插入一條錯誤消息你要重複相同的過程,除非在Steps Toolbox中選擇lr_error_message方法而不是lr_output_message方法。

個人腳本回放真的成功了嗎?

在這一部分,你將學習運行強化後的腳本並在Replay log中查找text check信息。你將會檢查text check的結果以及事務和參數化的詳細信息。

默認狀況下,image(圖片)和text(文本)的檢查在回放過程當中是禁用的,由於它們須要更多的內存。若是你想要執行圖片或文本的檢查,你須要在runtime settings中enable他們(使它們可用)。

  1. 使圖片和文本檢查可用:
    1. 點擊Replay>Runtime Settings;
    2. 選擇nternet Protocol>Preferences;
    3. Enable image and text check;
    4. 點擊"OK"。
  2. 運行腳本:

    點擊VuGen工具欄上的Replay按鈕,VuGen開始運行腳本,在Output欄的Replay log中生成條目信息。

    等待腳本完成運行。

  3. 定位文本檢查:
    1. 點擊Output欄,選擇Replay;
    2. 在Replay log中點擊鼠標,按Ctrl+F進行搜索;
    3. 搜索web_reg_find;

      點擊Find Next,你前後會搜索到符合的信息:

      web_reg_find started

      Registering web_reg_find was successful.

      這其實不是真正的text check,這是在表單提交後進行的查詢。

      點擊Find Next顯示下一處包含web_reg_find的地方:

      Registered web_reg_find successful for "Text=Find Flight" (count=1)

      這行代表text被找到,若是有人改變了網頁並移除了Find Flight字樣,那麼在以後的運行中,Output將指出找不到相應的text。

  4. 定位一個事務的開端:
    1. 在Replay log中點擊Ctrl+F打開搜索對話框;
    2. 搜索"Transaction",提示會以藍色字體表現。
  5. 檢查參數的替代值:
    1. 在Replay log中點擊Ctrl+F打開搜索對話框;
    2. 搜索"Parameter",log中告訴你"seat"="Aisle"。
  6. 選擇File>Save或點擊VuGen工具欄上的Save按鈕保存。

第五課:建立一個負載測試場景

在以前的課程中,你用VuGen來驗證你的虛擬用戶腳本。在本節課中,你將在多個虛擬用戶負載你的系統下來測評你的系統,你將模擬10個客戶端不一樣程度的同時使用訂票系統,並在此負載下觀察系統的運行。爲了設計並運行這個測試,你須要使用LoadRunner Controller。

場景目標:

在本節課中,你的目標是建立一個場景來模擬十個不一樣的用戶併發的進行登錄,查詢飛機票,預訂飛機票,檢查旅程與註銷的行爲。

介紹一下LoadRunner Controller

負載測試意味着要在典型的工做場景下測試你的系統。好比,你須要對許多旅遊客戶同時在網上對同一個票務預訂系統進行操做的狀況進行測試。

你設計場景是爲了模擬真實的狀況。爲了達到這個目的,你須要可以對你的系統產生負載,而且對負載進行時間上的編排(由於用戶不會同時登錄和註銷)。你也須要模擬不一樣用戶的不一樣行爲。好比有些用戶用火狐瀏覽器去訪問這個系統,而其餘的用戶則用IE。用戶也會經過不一樣的網絡鏈接到該系統,好比modem,DSL,或cable。你在場景中建立並保存這些設置。

Controller爲你提供可以讓你真實的模擬你的工做環境而建立與運行測試所須要的全部工具。

我怎麼樣開始使用Controller?

要建立一個場景,你首先要打開LoadRunner Controller。

  1. 打開HP LoadRunner Controller:

    HP LoadRunner Controller打開並顯示New Scenario對話框。

  2. 選擇一個Scenario Type(場景類別)。

    有兩種Scenario Type:

    Manual Scenario:讓你可以控制虛擬用戶的數量以及他們分別運行腳本的次數,而且可以讓你測試你的系統同時可以響應多少用戶的操做。

    你能夠根據你的業務需求分析用百分比模式(Percentage Mode)來對腳本間虛擬用戶的總數進行分配。若是你正常安裝LoadRunner的話Percentage Mode這個默認是被勾選的。若是它被勾選了,你要把它取消勾選。

    Goal-Oriented Scenario:爲了驗證你的系統是否能夠達到一個特殊的目標。例如,你能夠基於一個事務的響應時間或一秒鐘執行的事務數來驗證,那麼LoadRunner會爲你基於這些目標自動的建立一個場景。

  3. 添加一個Vuser腳本到負載測試中:

    在本次教程中,你只會使用一個腳本,讓全部的用戶都模擬相同的操做。想要多方面多角度的模仿真實世界中的用戶操做,你能夠建立不一樣的虛擬用戶羣,每個羣都用不一樣的腳本和不一樣的用戶設置。

    你以前在VuGen中錄製的腳本包含了你想要測試的業務流程,包括登錄,搜索飛機票,買飛機票,檢查飛機票,以及退出網站。你將要把相似的腳本添加到場景中,並配置場景,以實現8個不一樣的用戶同時在這個飛機票預訂系統上進行併發操做。在本次的測試中,你還須要額外添加兩名虛擬用戶。

    爲了實現這個目的,你須要提供一個和你以前建立的那個腳本相似的腳本。在這裏咱們建議你使用給出的樣本腳本。

    1. 若是basic_script已經在Available Scripts欄中(咱們以前建立的那個叫basic_tutorial,這裏教程說的有些誤差,你們理解意思就能夠,實際操做能夠隨便一點,不用一板一眼的照書來),點擊add按鈕將腳本添加到Scripts in Scenario欄中。

    2. 若是這個basic_script沒有在左側的Available Scripts中列出,點擊Browse按鈕找到它並把它加到Scripts in Scenario欄中來。
    3. 點擊OK,LoadRunner Controller打開了並顯示你所建立的新場景的Design欄。

初識Controller

Controller的Design欄是你設計你的負載測試的主要接口。Design欄又分爲三欄:

  1. Scenario Groups欄:你在該欄中配置虛擬用戶組。你建立不一樣的用戶組來模擬系統的用戶種類並指定操做該應用系統的虛擬用戶數量以及這些虛擬用戶所用的機器種類。
  2. Service Level Agreement欄:當你設計一個負載測試場景時,你能夠爲性能的度量定義goals或SLAs(Service Level Agreements)。當你運行場景時,LoadRunner收集並存儲性能相關的數據,Analysis將收集的數據和SLAs作對比好對定義好的度量肯定SLA的狀態。
  3. Scenario Schedule欄:在Scenario Schedule欄,你設定負載行爲以精確模仿真實世界中的用戶行爲。你經過虛擬用戶將要運行的應用,該應用相應部分的負載比率,負載測試的持續時間,以及負載是如何結束的來定義用戶的操做。

我怎樣修改腳本中的細節?

按照如下的方法來修改腳本中的細節:

  1. 在Scenario Groups欄中檢查一下Group Name列下的Script名爲:basic_tutorial

  2. 改變Group的名字:
    1. 在Scenario Groups欄中選擇basic_tutorial並點擊Details按鈕,因而Group Information對話框打開了:
    2. 將Name改成一個更有意義的名字,好比:travel_agent;
    3. 點擊OK,新名字將顯示在Design欄的Scenario Groups欄下。

我怎樣對系統產生一個負載?

在你添加你的虛擬用戶腳本到你的場景後,你將要配置負載發生器(load generator),也就是你對目標系統產生負載的計算機。

定義:一個負載發生器意味着一臺可以運行多個虛擬用戶並對系統產生負載的計算機。你能夠用許多負載發生器,每一個發生器主持着多個虛擬用戶。

在這一部分,你將學習關於向場景中添加負載發生器,測試負載發生器的鏈接。

添加負載發生器:

在Controller工具欄中點擊Load Generator按鈕。負載發生器對話框打開了:

Load Generator對話框容許你查看與配置你場景中定義的負載發生器,上圖中顯示了一個叫localhost的負載發生器的詳細信息。localhost這個負載發生器的狀態爲"Down"。這代表Controller沒有鏈接到loadhost這個負載發生器。

在本教程中,你將用你的計算機做爲複雜發生器。

備註:在一個典型的操做型系統中,你可能會有多個負載發生器,每個負載發生器都擁有多個虛擬用戶。

測試負載發生器的鏈接:

當你運行一個場景時,Controller會自動鏈接負載發生器所在的機器(load generator machine)。然而,你能夠在嘗試運行腳本前測試這些鏈接。

  1. 在Load Generator對話框,選擇localhost並點擊"Connect":

    Controller嘗試鏈接負載發生器所在機器。當鏈接已經創建,負載發生器的狀態就會從"Down"變成"Ready";

  2. 點擊Close。

我怎樣去模仿真實的負載行爲呢?

當你已經添加了負載發生器,你就能夠準備配置負載行爲(load behavior)了。

典型的用戶基本不可能精確的在同一時間log on以及log off系統。LoadRunner容許用戶逐步的log on以及log off系統。它也容許你決定場景的持續時間,以及場景結束的方式。你下面將要進行配置的場景將會相對簡單。然而,當你要設計一個更加貼近真實的場景時,你能夠定義更多逼真的虛擬用戶行爲。

你在Controller的Scenario Schedule欄中爲manual scenario配置負載行爲(load behavior)。Scenario Schedule欄被分紅三個部分:Schedule Definition區域,Actions格表,以及Interactive Schedule圖表。

你如今將要更改默認的負載設置並配置一個Scenario Schedule(場景時間安排計劃):

  1. 選擇schedule類型與run mode:

    在Schedule Scenario欄中,肯定你選擇了Schedule By:Scenario,Run Mode:Real-world schedule。

  2. 設定Scheduled Actions定義:

    你能夠在Global Schedule格表中或經過操做Interactive Graph圖表來對Scenario Schedules設置Start Vusers,Duration,以及Stop Vusers actions。當你在圖表中進行定義時,對應在格表中的屬性也會有相應的變化與調整。

    如今你要進行設置,來讓Global Schedule的格表像下面同樣顯示:

    1. 創建虛擬用戶初始化:

    初始化意味着經過運行腳本中的"vuser_init "action來爲一個負載測試準備虛擬用戶(Vusers)和負載發生器(load generators)。依於你系統的配置,在運行前初始化Vusers會帶來更加真實的結果。

    1. 雙擊Global Schedule格表中的Initialize(上圖中Action下的第一行)。Edit Action對話框彈出並顯示Initialize action;

    1. 選擇Initialize all Vusers simultaneously;
    2. 點擊OK。
    1. 爲Vusers指定一個陸續開始的時間(gradual start):

      也就是說每隔幾分鐘增長几個Vuser對系統產生負載是在這裏設置的。

      1. 在Global Schedule格表中雙擊Start Vusers,Edit Action對話框彈出並顯示Start Vusers;

      2. 如上圖中進行設置,Start 8 Vusers,2 Vusers every 30 seconds;
      3. 點擊OK。
    2. 計劃持續時間:

      你須要肯定一個持續時間以確保虛擬用戶可以在指定的時間段內持續執行Schedule action,持續產生負載。若是你設定一個時間段(Duration),腳本會在該時間段內儘量多的重複運行來知足需求而忽略掉你在腳本runtime settings中設置的重複次數。

      1. 確保Interactive Schedule Graph是Edit模式(經過點擊Interactive Schedule Graph工具欄中的Edit Mode按鈕)。
      2. 在Interactive Schedule Graph中點擊表明Duration的水平線。線被高亮顯示,以下圖:

        備註:說明會顯示在結束點的上面,點擊Interactive Schedule Graph工具欄中的隱藏說明按鈕來控制它的顯示。

  1. 向右拖拽鑽石形狀的結束點,到11:30的位置,這樣你就設置好了讓虛擬用戶運行10分鐘腳本。

  1. 設置一個逐步的關閉:

    當應用運行到一個臨界值的時候,逐步關閉虛擬用戶有助,檢查內存泄露以及系統恢復。

    1. 在Global Schedule格表中雙擊Stop Vusers。Edit Action對話框被打開:
    2. 如上圖所示,選擇All-2 Users every 30 seconds;
    3. 點擊"OK"。

 

配置好的Global Schedule以下:

我應該怎樣模擬不一樣種類的用戶呢?

如今你已經配置了一個負載計劃表,你須要進一步指定用戶在測試的時候是如何"行爲"的。

當你去模擬一個真實用戶的時候,你須要考慮用戶的實際"行爲"。這裏的"行爲"指的是:一個用戶兩個操做步驟之間所須要的停頓時間,對於一個步驟用戶所重複的次數,等等。

在這一部分,你會學到更多關於LoadRunner的runtime settings,而且你會使用到Think Time和Logging。

  1. 打開runtime settings:
    1. 在Controller中點擊Design欄;
    2. 在Scenario Groups欄中選擇travel_agents組;
    3. 點擊Runtime Settings按鈕,runtime settings對話框將被打開:

      Runtime settings容許你模擬不一樣種類的用戶活動與行爲。它們包括:

      Run Logic,一個虛擬用戶重複一組操做的次數。

      Pacing,重複操做前須要等待的時間。

      Log,在測試過程當中你想要收集的信息等級。你第一次運行場景時是推薦你生成log信息的,以防你第一次運行時會失敗,log會提供你有關的調試信息。

      Think Time,用戶步與步操做之間的停頓時間。因爲新老用戶對系統的熟悉度不一樣,步與步之間的停頓時間也不一樣,老用戶確定比新用戶嫺熟的多。虛擬用戶經過think time能夠更加真實的模仿真實用戶步與步之間的停頓。

      Speed Simulation,用戶經過不一樣的網絡鏈接,包括modem,DSL以及cable。

      Browser Emulation,用戶經過不一樣的瀏覽器來查看應用的性能。

      Content Check,可以自動的檢查用戶定義的錯誤。

      假設你的應用在出錯時會發送一個自定義的頁面,這個自定義頁面包含ASP Error這個字樣,你須要查找服務器所返回的全部頁面來檢查這些字樣是否包含在內。

      你可讓LoadRunner經過runtime settings中的Content Check在測試過程當中自動的完成這個檢查的過程,LoadRunner會自動的檢查你設定的字樣,若是發現則會產生一個錯誤信息。在場景運行時,你能夠確認這些內容檢查方面的錯誤。

  2. 使用Think Time:
    1. 在Runtime Settings對話框,點擊General>Think Time;
    2. 選擇Replay think time,並選擇Use random percentage of recorded think;
    3. Min選50%,Max選150%;以上的設定將會對錄製的think time使用一個隨機的百分比。例如,若是選擇一個航班時錄製的think time爲4s,那麼隨機的think time將會在2-6s內(4的50%或150%)生成。(筆者認爲:這很好的模擬了新老用戶因爲對應用的熟悉程度不一樣而致使了think time不一樣這一特色)
  3. 使用Logging:
    1. 在Runtime Settings對話框中,點擊General>Log;
    2. 選擇Enable Logging;
    3. 在Log options下,選擇Always send messages;
    4. 點擊Extended log,選擇Data returned by server;備註:在初始的調試運行階段以後,不建議對負載測試開啓Extend Log模式。本教程中使用它的目的僅在於想要輸出Vuser的log。
    5. 點擊OK關閉Runtime Settings對話框;
    6. 保存場景。

在負載的狀況下我要怎樣監控系統?

如今你已經定義了你的虛擬用戶在測試中的行爲,已經爲創建監控器作好準備。

當你對一個應用產生負載時,你想要實時的查看這個應用的性能以及潛在的瓶頸所存在的地方。你將在負載測試的過程當中使用LoadRunner的monitor來監控每一層次結構的性能,包括服務器,系統的組件。LoadRunner提供了許多主要的後臺系統組件(包括Web,Application,Database,以及ERP/CRM服務器)的監控器。

例如,你能夠根據正在運行的Web Server的類別選擇一個Web Server Resources監控器。你能夠爲相關的監控器買一個證書,好比IIS,並用這個監控器來找出反映在IIS resources中的問題。

在這一章節,你將學會怎樣添加以及配置Windows Resources監控器(monitor)。你能夠用監控器來肯定負載對你CPU(處理器),disk(硬盤)以及memory resources(內存資源)的影響。

  1. 選擇Windows Resources Monitor:
    1. 在Controller的左下角點擊Run欄:

      Windows Resources圖標是顯示在圖表視圖區域四個默認圖表中的一個。你將在下一節課中學會如何打開其餘的圖表。

    2. 右鍵點擊Windows Resources圖表並選擇Add Measurements。Windows Resources對話框打開了:

  2. 選擇要監控的server:
    1. 在Windows Resources 對話框中的Monitored Server Machines區域,點擊Add。Add Machine對話框打開了:

    2. 在Name欄中填寫localhost(若是你的負載發生器在其餘的機器上,你能夠填寫那臺機器的server名或IP地址);
    3. 在Platform列表中,選擇負載發生器所在機器的操做平臺;
    4. 點擊"OK"。

      默認的Windows Resources measurements會在Resource Measurements on <server machine>列表中列舉出來。

  3. 激活監控器(monitor):

    在Windows Resources對話框中點擊"OK"關閉對話框,monitor就被激活了。

第六課:運行負載測試

當你運行負載測試時,LoadRunner會對系統產生負載。你能夠隨後用LoadRunner的監控器和圖標來觀察負載的狀況下系統的性能。

初始Controller Run視圖

Controller的Run欄是場景的管理和監控中心。它包含五個欄:

  1. Scenario Group欄:左上角的欄,你能夠觀察組中虛擬用戶的狀態,你能夠經過右邊的按鈕開始、中止、重置場景。去查看獨立的虛擬用戶狀態,在場景中經過手動添加更多虛擬用戶來對應用增長負載;
  2. Scenario Status欄:右上角的欄,你能夠在此查看負載測試的一個總結,包括運行的虛擬用戶的數量,以及每個虛擬用戶操做的狀態;
  3. Available Graphs欄:在中間左側的欄,你能夠看到一列LoadRunner的圖表。爲了打開一個圖表,選擇一個樹中的圖表,把它拖拽到Graph Viewing區域;
  4. Graph Display欄:在中間右側的欄,你能夠自定義顯示一個到八個圖表(View>View Graphs);
  5. Graph Legend欄:在底部的欄,你能夠查看你所選擇的圖表中的數據。 備註:Run欄在Controller的底部。

    我怎樣運行一個負載測試場景?

    在這一部分,你將打開場景:

    1. 打開Controller Run視圖:

      點擊Controller底部的Run欄。

      注意到Scenario Groups欄中的Down列下有8個虛擬用戶,這些虛擬用戶是你建立場景(Scenario)時所建立的。

      因爲場景尚未運行,全部其餘的計數器都保持在0,圖表視圖區域的全部圖表都是空的,當你在下一步運行場景時,圖表和計數器將會開始顯示信息。

    2. 開始場景:

      點擊Start Scenario按鈕或選擇Scenario>Start來開始運行場景。

      若是你是按教程第一次運行的話,Controller會開始場景並將結果文件自動保存到負載發生器的temp文件夾下。

      若是你是在重複作測試,你會被建議去覆蓋已有的結果文件。

      點擊No,由於第一次負載測試的結果要用來和以後的測試結果進行比對。以後設置結果保存目錄的對話框被打開:

      肯定一個新的保存結果的文件夾路徑,爲每一次的測試結果起一個有意義的獨特的名字,由於分析圖表時你可能會須要把屢次場景的運行結果疊加。

    在負載狀況下該如何管理應用程序呢?

    你會使用Controller的在線圖表來觀察監控器(monitors)所收集的性能數據。你經過這些信息來讓你的系統遠離潛在的危機。

    1. 檢查性能圖表:

      Run欄下的Graph Display欄中顯示了以下的默認圖表:

      1. Running Vusers(運行着的虛擬用戶)-Whole Scenario graph(全景表):顯示在指定時間運行着的虛擬用戶數量;
      2. Transaction Response Time(事無響應時間)-Whole Scenario graph(全景表):顯示了每個事務完成所花費的時間;
      3. Hits per second(每秒點擊數)-Whole Scenario graph(全景表):顯示場景運行時每秒對web服務器的點擊數(HTTP請求數);
      4. Windows Resources graph(Windows資源表):顯示在場景運行時系統資源的使用狀況。

    2. 高亮個性化定製:
      1. 雙擊Windows Resoures表,它將放大到佔據整個圖表顯示欄。注意到每一個measurement都是用不一樣的顏色來表示,每一行都以相同的顏色對應圖中的一條線;
      2. 選擇哪一行,哪一行在圖表中就會被高亮顯示;
      3. 再雙擊圖表,讓其縮小到原始尺寸。
    3. 查看Throughput(吞吐量)信息:

      在Available Graphs欄中,Web Resources Graphs下,選擇Throughput表並把它拖拽到Graph Display欄中。Throughput表的measurements顯示在Graph Display欄和Graph Legend欄中。

      Throughput(吞吐量)表顯示虛擬用戶從服務器接收 的數據在任意指定的某一秒中的總量(以bytes衡量)。你能夠將此圖與Transaction Response Time(事務響應時間)圖表進行比較以檢查Throughput(吞吐量)是如何影響Transaction(事務)的性能的。

      當吞吐量的規模隨着時間的進行與虛擬用戶數的增長而變大時,這代表帶寬是足夠用的。當圖表隨着虛擬用戶數量增長而趨於相對平緩時,咱們有理由去猜想與推斷帶寬限制了數據傳輸量。

    要怎樣才能實時的觀察一個虛擬用戶的運行?

    當咱們模擬用戶的時候,你能夠實時的查看虛擬用戶的操做以肯定他們執行的操做是正確的。Controller經過Runtime Viewer讓你可以實時的查看虛擬用戶的操做。

    形象的觀察一個虛擬用戶的操做:

    1. 在Controller的Run欄中,點擊Vusers按鈕。Vusers對話框打開:

      Status列顯示了每一個虛擬用戶的狀態。在上面的例子中,你能夠看到四個虛擬用戶在運行,四個已經處於down掉狀態。Scheduler中的Start Vusers操做讓Controller一次釋放兩個虛擬用戶。隨着場景的進行,虛擬用戶將會2個2個的以30秒爲週期被添加到組中。

    2. 在虛擬用戶列表中選擇一個虛擬用戶;
    3. 點擊Vusers工具欄上的Show the selected Vusers按鈕。Runtime Viewer被打開並顯示選擇的虛擬用戶所執行的操做。Runtime Viewer將會隨着虛擬用戶在腳本中步驟的進行而更新。
    4. 點擊Hide the selected Vusers按鈕,關閉Runtime Viewer。

    我在哪裏能夠看到一個關於虛擬用戶操做(Vuser actions)的總結?

    想要單獨看一個虛擬用戶在運行測試的過程當中的進展,你能夠顯示一個包含虛擬用戶操做文字總結的log文件。

    查看虛擬用戶操做的文字性總結:

    1. 在Vusers窗口選擇一個running狀態的Vuser;
    2. 點擊Vusers工具欄中的Show Vuser Log按鈕 。Vuser log對話框被打開:

      log中包含了與用戶操做相對應的信息。好比,在上面的窗口中,Virtual User Script started代表虛擬用戶運行的開始時間。滑到底部你會觀察到隨着虛擬用戶操做的進行,相應的新信息也會被添加進來。

    3. 關閉Vuser Log對話框,以及Vusers對話框。

    怎樣在測試中增長負載?

    爲了給系統增長負載,你能夠在測試的過程當中手動的添加更多的虛擬用戶。

    1. 爲了在負載測試時增長負載:
      1. 肯定當前是在Controller的Run欄;
      2. 點擊Run/Stop Vusers按鈕,Run/Stop Vusers對話框被打開並顯示了當前場景中運行的虛擬用戶數;
      3. 在#列輸入你想要向組中添加的虛擬用戶數,想要再添加兩個虛擬用戶,則在#列把數字8改成2;
      4. 點擊Run按鈕來添加虛擬用戶;
      5. 選擇Run New子按鈕選項。

        兩個額外的虛擬用戶被添加到travel_agent組中而且在localhost負載發生器上運行。場景狀態欄將顯示如今有10個虛擬用戶正在運行。

        你可能會收到LoadRunner Controller沒法激活額外的虛擬用戶的消息。這是由於你可能在用你的本機來看成負載發生器並且它只有頗有限的內存資源。一般來講,用一個專業的機器做爲負載發生器就能夠避免這種狀況的發生。

    應用在負載的狀況下是怎樣執行的?

    在你的Scenario Status欄【Run欄中】中,你能夠仔細的看到有哪些虛擬用戶引發了應用的問題,事務失敗數以及錯誤數偏高代表了你的應用在負載下可能執行的並很差。

    1. 檢查場景的狀態:

      Scenario Status欄的頭部顯示了場景的總體狀態:

    2. 查看虛擬用戶操做的分解:
      1. 點擊Scenario Status欄中的Passed Transactions,Transactions對話框被打開並列出了事務的詳細;

      2. 點擊Close關閉Transactions對話框。

    你的應用遭遇錯誤了嗎?

    在重負的狀況下,應用開始出現失敗的狀況,你可能會遇到錯誤和事務的失敗。你的Controller會在Output窗口中顯示錯誤信息。

    1. 檢查error或warnings消息:
      1. 選擇View>Show Output,你能夠按照種類對信息進行排序,例如warnings或errors;

        Output對話框被打開並顯示了消息信息文字,包括產生的全部消息數,虛擬用戶和負載發生器產生的錯誤,以及發生錯誤的腳本。

      2. 要查看一條消息的詳細內容,選擇消息並點擊"Details",Detailed Message Text框出現,顯示了消息詳細完整的內容文本。
    2. 查看log信息的詳細內容:

      你能夠經過點擊相應列的藍色連接查看關於每條消息、虛擬用戶、腳本以及關聯的負載發生器的錯誤信息。

      例如:想要知道腳本中哪裏出了錯,查看點擊進入Total Message列。Output窗口將顯示你選擇的錯誤代碼的全部相關信息,包括時間,重複次數,以及腳本中出錯的位置行。

    3. 進入查看Line Number列:

      點擊Line Number列下的連接,VuGen將被打開,顯示了腳本中出錯的行。你能夠經過這一信息來幫你確認哪些響應時間較慢的事務致使了應用在負載下的失敗。

    我怎樣得知場景是否已經運行結束?

    在場景運行的總結處,Scenario Status欄的頭部顯示了Down這一狀態。這說明場景中全部的虛擬用戶都已經運行結束。

    你能夠打開Vsuers對話框來分別查看每一個虛擬用戶的狀態。虛擬用戶對話框顯示了每一個虛擬用戶執行的重複次數,成功的重複次數以及經歷的時間(Elapsed Time)。

    你的系統是否在負載下運行良好?

    想要知道你的系統是否在負載下依舊運行良好,你要去查看事務的響應時間並決定響應時間是否在可接受的範圍內。若是事務的響應時間在場景中增長,你須要去查找瓶頸出在哪裏。你會在最後一課中學習更多關於這方面的知識。

    一旦一個問題被發現,就可能須要包括開發,DBAs(數據庫管理員),網絡以及其餘方面的系統專家來修復這個問題。在作出適當調整後,咱們須要從新進行負載測試來驗證該次作出的調整是否知足了所需的要求。你重複這一循環來使得系統的性能不斷獲得優化。

    爲了便於你再次運行具備相同配置的場景,選擇File>Save或點擊Controller工具欄中的Save按鈕進行保存。

    第七課:分析你的場景

    在以前的課程中你學會了如何設計,控制,運行一個場景。你運行負載測試,就必定但願可以分析運行的結果,以找出須要排查的問題來提升你的系統性能。在你的分析的過程當中所生成的圖表和報告表明了你場景性能的重要信息。經過這些圖表和報告,你能夠找到你應用程序中存在的瓶頸,以肯定須要作怎樣的修整才能提升它的性能。

    Analysis Session是怎麼工做的?

    Analysis session(分析會話)的目的是爲了發現你係統性能上存在的缺陷並找到其根源,例如:

  • 測試的預期達到了嗎?在負載的狀況下客戶終端的事務時間是多少?SLA知足目標嗎?事務的平均事務時間是多少?
  • 系統的哪些部分會致使下降系統的性能?網絡和服務器的響應時間是多少?
  • 你能夠經過聯繫事務響應時間和後臺監控模型來找到一個可能的緣由嗎?

在後續的章節中你將會學習如何打開LoadRunner Analysis,並創建與查看可以幫你找到性能問題與根源之所在的圖表和報告。

我怎樣開始個人分析會話?

  1. 打開HP LoadRunner Analysis:

    雙擊桌面上的Analysis圖標,LoadRunner Analysis被打開;

  2. 打開分析會話文件:

    爲了達到本節課的目的,可以舉例分析說明儘量多樣的結果,咱們將會運行一個和你在以前的章節中運行的場景類似的場景。可是這一次,你的場景中將包含70個虛擬用戶,而再也不是10個。你如今將要打開針對於你的測試結果所建立的分析會話。

    1. 在Analysis窗口選擇File>Open,Open Analysis Session對話框被打開:
    2. 在你的<LoadRunner Installation>\tutorial文件夾下選擇analysis_session文件並打開,Analysis打開了你選擇的會話文件。

初始Analysis窗口

Analysis包括如下主要欄:

  1. Session Explorer(會話瀏覽器)
  2. Properties pane(屬性欄)
  3. Graph Viewing pane(圖表查看欄)
  4. Legend pane(說明欄)

  5. Session Explorer:左上角的欄,Analysis顯示了能夠查看的圖表和報告。從這裏你能夠增長一些新的圖表或報告也能夠刪除一些不想看的圖表或報告。
  6. Properties欄:左下角的欄,Properties欄顯示了你在Session Explorer中選擇的圖表或報告的詳細信息,黑色字體部分的是能夠進行編輯的。
  7. Graph Viewing欄:右上角的欄,Analysis顯示圖表的地方。默認狀況下,Summary Report(總結報告)當你打開一個會話的時候會顯示在這裏。
  8. Legend欄:右下角的欄,你能夠在這裏查看所選擇的圖表的數據。

備註:還有一些能夠從工具欄中訪問的欄,這些欄能夠進行拖拽並在屏幕上任意地方進行拖放。

我達到了個人目標嗎?(Service Level Agreement)

在這一部分,咱們將介紹一下Service Level Agreement,即咱們所說的SLA。

SLAs是你爲你的負載測試場景所定義的特殊目標。Analysis將這些目標和LoadRunner運行時收集與存儲的性能相關的數據相比較,而後爲目標判斷SLA的狀態(經過或失敗)。

例如,你能夠爲你腳本中事務的平均事務時間定義一個具體的目標,或臨界值。在測試運行結束後,LoadRunner將你的目標和實際錄製的平均事務時間相對比。Analysis將顯示你定義的每一個SLA的狀態,經過或失敗。例如,若是實際的平均事務時間沒有超過你定義的臨界值,SLA的狀態就將是經過的。

做爲你目標定義的一部分,你可讓SLA將負載的標準也考慮在內,換句話說也就是可接受的臨界值將會隨着負載的等級不一樣而變化,例如,Running Vusers,Throughput等等。當負載增長,你能夠容許一個更高的臨界值。

根據你所定義的目標,LoadRunner經過如下幾種方法中的一種肯定了SLA的狀態:

按照時間軸上的時間來定義SLA的狀態:Analysis在運行時按固定的時間間隔顯示SLA的狀態(好比:每隔5s)。

按整個運行過程來定義SLA的狀態:Analysis爲整個場景的運行顯示一個單獨的SLA狀態。

SLAs能夠在場景在Controller中運行前就定義好,也能夠以後在Analysis中來定義。

在後續的部分中,你將要用HP Web Tours這個樣例來定義一個SLA。假設HP Web Tours的管理員任什麼時候候都想要知道book_flight和search_flight的平均事務時間是否超過了固定的值。爲了達到這個目的,你能夠選擇事務並設置臨界值(threshold values)。這些臨界值就是平均事務時間在可接受範圍內的最大值。

你也將設置三個臨界值來將具體的負載標準考慮在內,在這個例子中咱們指的就是Running Vusers(運行着的虛擬用戶)。換句話說,隨着運行的虛擬用戶數的增長,臨界值也隨之升高。

這是由於雖然HP Web Tours的管理員但願平均事務時間越低越好,可是咱們不得不認可這一年中的有些時候HP Web Tours站點確實會承擔相比於平時更大的負載。例如,在旅遊高峯季的時候,會有更多的旅遊客戶去登錄網站來預訂飛機票,檢查航班等等。在這種能夠理解的高負載狀況下,一個稍微長一點的平均事務響應時間將是能夠接受的。

你將設定SLA來考慮三個負載場景,輕負載,正常負載和高負載。每個場景都有它的臨界值。

我怎樣定義一個SLA?

你將在場景運行後在Analysis中定義一個SLA。

備註:推薦在場景運行前,在Controller中定義一個SLA。可是出於本教程的目的,你尚未對以前的章節中運行的場景進行分析,你將會在Analysis中定義SLA。想在Controller中定義一個SLA,在Design欄的Service Level Agreement模塊中點擊"New"。

定義一個SLA:

  1. 打開SLA Wizard(嚮導):
    1. 在LoadRunner Analysis中,選擇Tools>Configure SLA Rules。Service Level Agreement對話框被打開:
    2. 點擊"New"打開Service Level Agreement嚮導:

      注意:當你第一次打開SLA嚮導,Start頁會顯示在你面前。若是你不但願下次運行嚮導的時候再看到這個頁面,勾選"Skip this page next time"。

    3. 點擊"Next"。
  2. 爲你的目標選擇一個度量尺度。
    1. 在Select a Mearsurement for Your Goal頁面,選擇Transaction Response Time爲Average:
    2. 點擊"Next"。
  3. 選擇要監控的事務。

    在Select Transactions頁面,在Available Transactions列表中選擇一個想要監控的事務。

    1. 雙擊check_itinerary事務,將它移到Selected Transactions列表中:

    2. 點擊"Next"。
  4. 設置負載標準。

    在Set Load Criteria頁面,你要讓SLA考慮到不一樣的負載場景。

    1. 從Load Criteria下拉列表中選擇Running Vusers;
    2. 像下圖中同樣設置Load Values:

      在上圖中,你設置了SLA,對三個潛在的負載場景定義了一個能夠接受的平均事務時間:

      -Light Load(輕負載):0到19個虛擬用戶;

      -Average Load(正常負載):20到49個虛擬用戶;

      -Heavy Load(重負載):多於50個虛擬用戶;

    3. 點擊"Next"。
  5. 設置臨界值。

    在Set Threshold Values頁面,你爲check_itinerary事務定義了一個能夠接受的平均事務時間。

    像下圖中所示來對臨界值進行設定:

    在此你僅僅指出了下列平均事務時間是能夠接受的:

    -Light Load(輕負載):小於等於5s;

    -Average Load(正常負載):小於等於10s;

    -Heavy Load(重負載):小於等於15s。

  6. 保存SLA。

    前後點擊"Next"和"Finish",窗口關閉。

    Analysis將會把你的SLA設置應用到Summary Report(總結報告)中,以後的report將會被更新,包含全部相關的SLA信息。

我要怎樣查看性能的總結?

Summary Report欄顯示了關於場景運行的整體信息和統計,以及全部相關的SLA信息。例如,根據咱們定義的SLAs性能最壞的事務都有哪些,在特定的時間間隔下特定的事務如何執行,以及全部的SLA狀態。你要從Session Explorer中打開Summary Report。

  1. 什麼是整體場景統計?

    在Statistics Summary模塊,你能夠看到最多有70個虛擬用戶在本次測試中運行。其他的統計諸如total/average throughput,total/average hits等信息也會被顯示出來。

  2. 性能最差的事務有哪些?

    這五個最壞事務的表單會告訴你:根據你定義的SLA,哪5個事務的性能最壞。

    你能夠看到在check_itinerary事務執行的時間段內,有66.4%的時間超過了SLA中所定義的臨界值。在整個運行過程當中超過SLA臨界值程度的平均百分比爲200.684%。

  3. 在哪些時間段內臨界值被超越?

    Scenario Behavior Over Time模塊將會顯示不一樣時間內事務的性能,綠色的方塊顯示的是事務性能在SLA所設定的臨界值內的時間段,紅色的方塊顯示的是失敗的事務,灰色的方塊顯示的是沒有相關的SLA被定義。

    你能夠看到對於你定義了SLA的事務,check_itinerary在多數時間段內性能超過了臨界值。

  4. 什麼是整體事務性能?

    Transaction Summary模塊列出了每個事務的性能總結。

    咱們還能夠看到check_itinerary事務失敗了28次。

    回顧每一個事務的時間,90 Percent這一列顯示了特定事務90%次運行所用的時間。你能夠看到90%的check_itinerary事務在測試中執行耗時65.754秒,是它平均時間(32.826秒)的兩倍,這意味着該事務在大多數狀況下響應時間較慢。

    注意SLA Status這一列顯示了和"在SLA中定義的事務"相關的整體狀態:check_itinerary的SLA Status爲Failed。

我要看的到的性能!

你能夠在Session Explorer欄中訪問可觀看的性能圖。接下來你要查看並分析Average Transaction Response Time圖。

  1. 打開Average Transaction Response Time圖:
    1. 在Graphs下的Session Explorer中選擇Average Transaction Response Time。Average Transaction Response Time圖將會顯示在圖顯區域。

    2. 在Legend欄點擊check_itinerary事務,相應在圖中的事務折線會被高亮顯示。

      圖上的點表明了場景運行中某一時間點事務的平均響應時間。讓你的鼠標停留在圖中的某點上,一個黃色的方框將出現並顯示該點的座標信息。

  2. 分析結果:

    注意到check_itinerary事務的平均事務時間波動很大,而且在場景運行到2分56秒時達到了一個75.067秒的峯值。

    在一個性能良好的服務器上,事務將會有一個比較平穩的平均時間折線,在圖的最下方,你能夠看到logon,logoff,book_flight,以及search_flight事務都有着相對更穩定的平均事務時間。

個人服務器是否性能良好?

在課程以前的部分你看到了你的服務器性能的不穩定性。如今你將要分析70個Running Vusers(正着運行的虛擬用戶)對你的系統所產生的影響。

  1. 研究虛擬用戶的行爲:

    在Graphs下的Session Explorer中點擊Running Vusers。Running Vusers圖將顯示在圖顯區域。

    你能夠看到虛擬用戶逐漸的開始運行,以後經歷了一個大約三分鐘的長度,這段時間內70虛擬用戶同時運行,再後來虛擬用戶逐漸中止運行。

  2. 在該圖中進行過濾,以使你只能看到全部的虛擬用戶同時運行時的時間段。

    當你在一個圖中進行過濾的時候,圖中的數據也會被收縮,收縮到只顯示你關心的那部分。其餘的部分都將被隱藏掉。

    1. 在圖上點右鍵,選擇Set Filter/Group By,或者你也能夠點擊Analysis工具欄中的Set Filter/Group By按鈕
    2. 在Filter Condition區域,選擇Scenario Elapsed Time行Values列。
    3. 按照下圖中進行設置:

    4. 點擊"OK";
    5. 在Graph Settings對話框點擊"OK"。

      Running Vusers圖如今只顯示1:30到3:45這段時間在場景中運行着的虛擬用戶。全部其餘的虛擬用戶將被過濾掉。

      注意:要清理filter,在圖上點擊右鍵,選擇Clear Filter/Group By,或者也能夠點擊Analysis工具欄中的Clear Filter/Group By按鈕

  3. 聯繫Running Vusers圖和Average Transaction Response Time圖來比較他們的數據。

    你能夠將這兩個表拼接在一塊兒以觀察一張圖中數據對另外一張圖中的數據所產生的影響,這種作法叫作關聯兩張圖。

    例如,你能夠將Running Vusers圖和Average Transaction Response Time圖進行關聯來查看大量的虛擬用戶對平均事務時間產生的影響。

    1. 右鍵點擊Running Vusers圖選擇"Clear Filter/Group By";
    2. 右鍵點擊圖,選擇"Merge Graphs";
    3. 從Select graph to merge with列表中選擇"Average Transaction Response Time";
    4. 在Select type of merge下選擇"Correlate",並點擊"OK"。

      如今這兩張圖就合在一塊兒顯示了——Running Vusers - Average Transaction Response Time圖。

  4. 分析相關的圖:

    在這張圖中你能夠看到隨着虛擬用戶數的增多,check_itinerary事務的平均時間逐漸增長。換句話說,平均響應時間隨着負載增長而增長。

    在66個虛擬用戶的時候,平均響應時間出現了一個急劇的(sudden,sharp)增加。咱們說這個測試broke the server(衝破了服務器),在多於66個虛擬用戶同時運行時,平均響應時間開始減小。

保存一個模板(template)

至今你已通過濾了一張圖並關聯了兩張圖。下一次你分析場景的時候,你可能會想要看到相同的圖,有相同的過濾與合併條件。你能夠將你的merge and filter(合併與過濾)的設置保存到一個模板中,並將它們用於其餘的分析會話中。

保存你的模板:

  1. 選擇Tools>Templates,出現以下對話框:

  2. 在Templates欄點擊"New" 按鈕,以下對話框被打開:

  3. 輸入一個名字並點擊"OK";
  4. 點擊"Save and close"按鈕關閉Apply/Edit Template對話框。

下一次你打開一個新的分析會話而且想要用一個已存的模板時:

  1. 選擇Tools>Templates,Apply/Edit Template對話框被打開;
  2. 從列表中選擇你的模板,並點擊"Save and close"。

我怎樣精肯定位問題所出自的根源?

至今爲止,你已經看到了隨着負載的增長,對check_itinerary事務的平均響應時間會產生一個負面的影響。

你能夠更深刻的研究check_itinerary事務以便發現哪些系統資源負面地影響了它的性能。

這個自動關聯工具能夠將全部包含可能會影響到check_itinerary事務響應時間的數據的圖合併到一塊兒並精確的定位問題發生時還有什麼事情正在發生。

  1. 從graph樹中選擇Average Transaction Response Time圖。

    看check_itinerary這一事務,特別在過去的1到4分鐘這一時間段內。平均響應時間直線上升並在3分鐘左右到達峯值。

  2. 過濾Average Transaction Response Time圖,只查看check_itinerary事務:
    1. 右鍵點擊圖片,選擇"Set Filter/Group by";
    2. 在Transaction Name / Value格中選擇"check_itinerary";
    3. 點擊"OK"。

  3. 自動關聯圖:
    1. 右鍵點擊圖,選擇"Auto Correlate";
    2. 在Auto Correlate對話框中肯定Measurement to Correlate選擇的是check_itinerary,並將時間範圍設爲從1:20到3:40——你能夠直接在框中輸入,也能夠在圖中ElapsedScenario Time軸上對紅色和綠色的杆兒進行拖拽。

    3. 點擊"OK"。

      這個Auto Correlated Graph(自動關聯圖)將會顯示在圖顯區域。Check_itinerary這一事務被高亮顯示。

      這個自動關聯的圖有個默認的名字:Auto Correlated Graph [1].

  4. 爲該圖重命名:
    1. 在Session Explorer中的Graphs下右鍵點擊Auto Correlated Graph [1]並選擇"Rename Item",圖的名字變爲可編輯狀態;
    2. 輸入Auto Correlated - check_itinerary並按回車,或者隨便點旁邊的什麼地方都行。
  5. 分析自動關聯圖:

    在Legend欄下,從Graph列爲Windows Resources的項中找到Measurement爲Pool Nonpaged Bytes和Private Bytes這倆Measurements。

    在Measurement和Correlation Match列中,你能夠看到這些內存相關的measurements(測量尺度),和check_itinerary這一事務的Correlation Match超過了70%。這意味着這些元素的性能和check_itinerary這一事務的性能在指定的時間段內牢牢相關。

    咱們能夠準確的判定當check_itinerary這一事務的響應時間達到峯值的時候,系統的內存資源將會出現短缺。

我還能夠收集到和場景運行相關的其餘信息嗎?

除了在分析會話開始的graph樹上能看到的圖外,你能夠顯示各類圖來收集其餘關於場景運行的信息。

  1. 點擊Graph>Add New Graph:

    Open A New Graph對話框被打開並列舉了包含數據的並可以顯示的圖的種類:

  • Vusers——顯示虛擬用戶及其狀態的信息;
  • Errors——顯示錯誤統計;
  • Transactions——顯示事務及其響應時間的數據;
  • Web Resources ——顯示點擊量,吞吐量,以及鏈接數據;
  • Web Page Diagnostics——顯示你腳本中監控的各個網頁的數據;
  • System Resources——顯示系統資源使用的數據;
  1. 顯示一個新圖:
    1. 在Open A New Graph對話框中,點擊列出的分類左側的"+"來展開分類;
    2. 選擇一張圖並點擊"Open Graph"按鈕;
    3. 點擊"Close"按鈕關閉Open A New Graph對話框。

      如今打開一些其餘的圖來對你的場景運行狀況有一個更好的瞭解。

我怎樣發佈個人發現?

你能夠從你的分析會話中經過HTML或微軟的Word報告來發布你的發現。報告是用設計者模板建立的,而且包含了解釋以及對圖和數據的說明。

HTML Reports

HTML報告能夠在任何瀏覽器被打開和查看。

建立一個HTML報告:

  1. 點擊Reports>HTML Report;
  2. 爲你的報告起個名兒,和你要將它保存的路徑;
  3. 點擊"Save"進行保存。

    點擊"Save"後Analysis會自動建立報告並將它顯示在你的瀏覽器中。

    你會注意到你的HTML報告的佈局和你的分析會話很是類似。你能夠點擊左側欄中的連接來查看不一樣的圖。每張圖的描述信息將會在頁面底部給出。

微軟Word報告

你能夠將你的分析會話表如今一個微軟的word報告中。Word報告比HTML報告更好理解,由於你能夠選擇讓它包含場景的整體信息,測量尺度描述(measurement description)等等。你也能夠格式化你的報告,讓它包含你公司的名字和標誌(logo),以及做者的詳細信息。

就像任意一個Word文件同樣,這個報告是能夠編輯的,因此你能夠在你生成的報告中添加更多的評論與發現。

建立一個微軟Word報告:

  1. 點擊Reports>New Report:

    New Report對話框打開了。

  2. 在General欄中:
    1. Based on template選擇Detailed report (for single run)
    2. 爲你的Report起一個標題;
    3. 輸入做者姓名,工做標題,公司名稱。

  3. 在Format欄中:

    默認狀況下,創建的報告將會包括一個標題頁面,一個包含內容的表結構,圖的詳細信息以及描述,以及測量尺度描述(measurement description)。你能夠選擇性的將腳本中的信息加到報告裏,讓你能夠查看業務流程步驟中的縮略圖。

    你能夠經過選擇"Include company logo"找到相應的logo文件位置並加入報告中。Logo文件必須是個".bmp"格式的文件。

  4. 在"Content"欄中:
    1. 選擇你要加入到你的報告中的場景運行和分析會話的部份內容。

      出於本教材的目的,你要添加一個"Executive Summary"(概要)到Content Items列表中;

    2. 點擊"Add"按鈕 來打開"Add Content Items"窗口,選擇"Executive Summary"並點擊OK:

      "Executive Summary"被加到左側的Content Items欄中。

      選擇"Executive Summary",在右側編輯框中輸入下列文字:

      - Objectives: The objectives of the test scenario were to....

      - Conclusions: The conclusions I reached are as follows:

    3. 在Content Items欄中,選擇"Largest URLs by Average Kbytes"並點擊Delete按鈕。這樣作將不會把該圖包含在報告中。
    4. 改變報告中顯示內容項的順序。
  • 在Content Items欄中選擇Workload Characteristics。在Selected Columns列表中點擊"Average Hits per Second"。
  • 點擊向下箭頭按鈕直到它移動到Total Transactions Number下面。在報告中,Average Hits per Second這一內容項將會在Total Transactions Number這一內容項後面緊接着顯示。

  1. 點擊"Generate"按鈕:

    以後LoadRunner將會自動收集數據並生成一個Microsoft Word文件,並用Microsoft Word打開。

    除了你在分析會話時生成的圖外,報告還包含了一個客觀的結論,以及其餘你在建立報告時選擇的部分和圖表。

總結

在這節課中,你學會了最基本的——定義SLA(Service Level Agreement),分析一個場景的運行,以及將你的測試結果發佈到報告中。

你已經知道性能上的問題將會在你研究各類顯示服務器瓶頸的圖表後被發現,緣由多是因爲負載太重。你已經看到了,你能夠經過配置圖表來顯示相關聯的數據,指出這些瓶頸的根源之所在。

相關文章
相關標籤/搜索