LoadRunner性能測試基礎知識問答(2)

發表于:2011-12-14來源:未知作者:娃娃點擊數: 標簽:loadrunner
Q16.哪個函數是用來截取虛擬用戶腳本中的動態值?(手工關聯) A16: Web _reg_save_param函數主要根據需要做關聯的動態數據前面和后面的固定字符串來識別、提

  Q16.哪個函數是用來截取虛擬用戶腳本中的動態值?(手工關聯)

  A16:Web_reg_save_param函數主要根據需要做關聯的動態數據前面和后面的固定字符串來識別、提取動態數據,所以在做關聯時,需要找出動態數據的左、右邊界字符串。

  1.函數原型:

  int web_reg_save_param (const char *ParamName, , LAST);

  2.參數說明:

  ParamNam:存放動態數據的參數名稱

  List of Attributes:其它屬性,包含Notfound、LB、RB、RelFrameID、Search、ORD、SaveOffset、Convert、SaveLen。

  Notfound:指當找不到要找的動態數據時,怎么處理。

  Notfound=error,當找不到動態數據時,發出一個錯誤信息,為LoadRunner的默認值。

  Notfound=warning,當找不到動態數據時,不發出錯誤信息,只發出警告,腳本會繼續執行下去不會中斷。

  LB:動態數據的左邊界字符串,該參數為必選參數,并區分大小寫。

  RB:動態數據的右邊界字符串,該參數為必選參數,并區分大小寫。

  ORD:指提取第幾次出現的左邊界的數據,該參數為可選參數,默認值是1。假如值為All,則查找所有符合條件的數據并把這些數據存儲在數組中。

  Search:搜尋的范圍??梢允荋eaders(只搜尋Headers)、Body(只搜尋Body部分,不搜尋Headers)、Noresources(只搜尋Body部分,不搜尋Header與Resource)或是All(搜尋全部范圍,此為默認值),該參數為可選參數。

  RelFrameID:相對于URL而言,欲搜尋的網頁的Frame,此屬性可以是All或是具體的數字,該參數為可選參數。

  SaveOffset:當找到符合的動態數據時,從第幾個字符開始才存儲到參數中,該參數為可選參數,此屬性值不可為負數,其默認值是0.

  Convert:可能的值有兩種:

  HTML_TO_URL:將HTML-encoded數據轉成URL-encoded數據格式。

  HTML_TO_TEXT:將HTML-encoded數據轉成純文字數據格式。

  SaveLen:從Offset開始算起,到指定長度內的字符串,才儲存到參數中,該參數為可選參數,默認值為-1,表示儲存到結尾整個字符串。

  Q17.你在VUGen中何時選擇關閉日志?何時選擇標準和擴展日志?

  A17:在測試場景執行時,關閉日志,因為日志信息過多,也會影響性能測試結果;在調試測試腳本時,可以選擇標準或擴展日志,用于輸出調試信息。

  可以在運行時設置中,進行日志設置,如下圖所示:

  Q18.你如何調試LoadRunner腳本?

  A18: 通常采用以下方法調試LoadRunner測試腳本

  斷點

  【方法】在腳本的任意一行上按右鍵菜單或F9增加斷點。

  單步跟蹤

  【方法】通過菜單命令VUser—>Run Step by Step或F10,可以控制腳本以語句為單位執行。

  日志輸出

  【方法】通過日志輸出函數lr_message、lr_log_message、lr_output_message輸出。

  對話框輸出

  綜上,在實際測試工作中,基本上使用前三種方法,對話框輸出基本上沒用過。

  Q19、你在LR中如何編寫自定義函數?請給出一些你在以前進行的項目中編寫的函數。

  A19:在編寫用戶自定義函數之前,需要首先為函數創建外部庫(DLL)文件,將這些庫文件放在bin目錄下,一旦庫文件已經被添加并且將用戶自定義函數作為參數,函數應該為以下格式:__declspec (dllexport) char* (char*, char*)

  Q20.在運行設置下你能更改那些設置?

  A20:可以修改Run Logic、pacing、Log、Think Time等,見下圖;可以測試實際需要,修改相關選項。

  Q21.你在不同的環境下如何設置迭代?

  A21:在“運行時設置”中設置,如下圖所示:

  Q22.你如何在負載測試模式下執行功能測試?

  A22:在負載測試模式下,可以通過同時運行數個虛擬用戶,通過增加虛擬用戶數,確定服務器在多大的負載量下,仍然可以正常運行,我一般進行核心功能操作,驗證核心功能運行是否正常。

  Q23.什么是逐步遞增?你如何來設置?

  A23:虛擬用戶數隨著負載時間逐漸增加,可以幫助確定系統響應時間減慢的準確時間點。

  可以在“加壓”選項卡中進行設置:如下圖所示,將設置更改為:“每 30 秒啟動 2 個 Vuser”

  Q24.以線程方式運行的虛擬用戶有哪些優點?

  A24:以線程方式運行的虛擬用戶,在默認情況下,Controller為每50個用戶僅啟動一個mmdrv進程,而每個用戶都按線程方式來運行,這些線程用戶將共享父進程的內存,這就節省了大量內存空間,從而可以在一個負載生成器上運行更多的用戶。

  Q25.當你需要在出錯時停止執行腳本,你怎么做?

  A25:取消運行設置中的“Continue on error”復選框。

  或者使用lr_abort函數。

  Q26.響應時間和吞吐量之間的關系是什么?

  A26:當系統吞吐量未達到系統處理極限時,系統性能不會衰減,交易平均響應時間一般也不會遞增,當系統達到吞吐量極限時,客戶端交易會在請求隊列中排隊等待,等待的時間會記錄在響應時間中,故交易平均響應時間一般會遞增。

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97