如何學習效能測試?LoadRunner小技巧集錦

博為峰網校發表於2018-12-07

LoadRunner是一款非常主流、常用的效能測試工具。我們在使用它進行測試的過程中經常會遇到一些錯誤,這些錯誤可能是由於設定不當引起,也有可能是選項設定引起,更有可能是測試執行中的一些細節沒有注意而引起的,在此做一個效能測試系列總結。

如何學習效能測試?LoadRunner小技巧集錦

一、效能指標

在做效能測試之前,簡單說下效能指標:

響應時間

針對頁面操作,響應時間小於2秒,使用者會感覺系統較快較滿意;響應時間在2~5秒,使用者可以接受,但對速度有些不滿;響應時間超過5秒,使用者將無法接受。

作為優秀的專案當然越快越好,我們在做壓測的時候,一般希望響應時間在1秒以內, 針對系統內部呼叫的介面響應時間更要快,具體情況視具體介面而定。

吞吐量

通常需要結合業務部門的市場目標而定。

伺服器資源佔用

CPU佔用率、記憶體使用率不能過高;Cache命中率不能過低。

二、效能測試流程

制定效能測試目標-->選擇效能測試工具-->設計效能測試-->執行效能測試指令碼-->監控分析系統-->效能調優

1、目標:

如,系統需滿足500個使用者線上、20個使用者併發操作發帖的情況下,發帖響應時間不超過2秒,系統資源使用率不超過30%。

2、選擇效能測試工具:

可選擇LR、Locust、jmeter等主流測試工具,下面主要介紹LR相關。

3、效能測試準備:

測試指令碼開發、負載的生成規則及監控方式、測試環境的搭建。

效能測試準備過程中需要注意的點:

確認壓測前SQL Review已透過;

確認壓測環境已成功搭建,壓測伺服器上單獨部署一套程式程式碼;

明確域名及需要繫結的host;

搞清楚需要壓測的業務及場景(也可以理解為測試用例);

清楚輸入引數及服務端返回資訊;

明確需要引數化的輸入值,明確“請求成功的服務端返回碼”;

4、負載過程、負載後對資料進行分析,這個分析需要眾多專家共同協作,找出資料背後的問題,確定效能瓶頸。

5、確定瓶頸後,進行軟硬體調優,調優完成重複之前的步驟。

三、Loadunner主要特色

非常優秀的效能測試工具

很容易使用

3、壓力測試表現出色,容易找到效能瓶頸(諸如檢測:執行緒異常、記憶體異常、連線池異常、物件洩漏、資料庫及應用系統的效能表現);

幾個亮點:

1. 事務:用於事務計時;

2. 集合點:在併發使用者發出請求前設定集合點,待併發使用者都到達集合點後再發出併發請求。

3. IP欺騙:模擬不同的IP地址嚮應用系統發出業務請求;

4. 引數化:把指令碼資料引數化後,變成千萬個不同請求資料的指令碼,確保唯一性;

5. 多場景型別:同一個指令碼,可以設定不同的場景型別嚮應用系統發出業務請求;

6. 多機:多機聯合產生負載,確保客戶端自身穩定性;

7. 監控:支援對伺服器資源監視;

8. 效能分析:圖、表分析測試結果,非常直觀

四、LoadRunner常見問題

1、LR指令碼為空的解決辦法

①去掉ie設定中的第三方支援取消掉

②在系統屬性-高階-效能-資料執行保護中,新增loadrunner安裝目錄中的vugen.exe檔案。

遇到flight介面為空的解決的可能方法:

①如果安裝了IE以外的瀏覽器,並且IE不是預設瀏覽器,則無法生成錄製指令碼

②如果錄製指令碼時IE不能 開啟,則需要將瀏覽器的IE工具高階選項中,將“啟用第三方瀏覽器擴充套件”的勾選去掉

③lr自帶的webtours系統,如果點選Flights選項,出現空白頁面,請檢查本機oracle的PERL5LIB環境變數,我的解決辦法是使用webtours的時候刪除掉該變數的內容,使用oracle的時候再填上該變數內容為什麼該變數會影響webtours的使用,原因不明。

2、LoadRunner錄製指令碼時為什麼不彈出IE瀏覽器?

當一臺主機上安裝多個瀏覽器時,LoadRunner錄製指令碼經常遇到不能開啟瀏覽器的情況,可以用下面的方法來解決。

啟動瀏覽器,開啟Internet選項對話方塊,切換到高階標籤,去掉“啟用第三方瀏覽器擴充套件(需要重啟動)”的勾選,然後再次執行VuGen即可解決問題

提示:通常安裝Firefox等瀏覽器後,都會勾選上面得選項,導致不能正常錄製。因此建議執行LoadRunner得主機上保持一個乾淨的測試環境。

3、HTML-based script與URL-based script的指令碼有什麼區別?

使用“HTML-based script”的模式錄製指令碼,VuGen為使用者的每個HTML操作生成單獨的步驟,這種指令碼看上去比較直觀;使用 “URL-based script”模式錄製指令碼時,VuGen可以捕獲所有作為使用者操作結果而傳送到伺服器的HTTP請求,然後為使用者的每個請求分別生成對應方法。

通常,基於瀏覽器的Web應用會使用“HTML-based script”模式來錄製指令碼;而沒有基於瀏覽器的Web應用、Web應用中包含了與服 務器進行互動的Java Applet、基於瀏覽器的應用中包含了向伺服器進行通訊的JavaScript/VBScript程式碼、基於瀏覽器的應用中使 用了HTTPS安全協議,這時使用“URL-based script”模式進行錄製。

4、執行時的Pacing設定主要影響什麼?

Pacing主要用來設定重複迭代指令碼的間隔時間。共有三種方法:上次迭代結束後立刻開始、上次迭代結束後等待固定時間、按固定或隨機的時間間隔開始執行新的迭代。

根據實際需要設定迭代即可。通常,沒有時間間隔會產生更大的壓力。

5、執行時設定Log標籤中,如果沒有勾選“Enable logging”,則手工訊息可以傳送嗎?

Enable logging選項僅影響自動日誌記錄和透過lr_log_message傳送的訊息。即使沒有勾選,虛擬使用者指令碼中如果使用lr_message、lr_output_message、lr_error_message,仍然會記錄其發出的訊息。

6、LoadRunner回放指令碼時,在瀏覽器顯示的中文是亂碼

解決辦法(1):

首先設定Run-Time Settings – Browser –Browser Emulation – User-Agent

然後設定IE:

檢視-編碼-鉤上“自動選擇”和Unicode(UTF-8)。

解決辦法(2):

使用lr_convert_string_encoding函式來轉換編碼。

歡迎加入  51軟體測試大家庭,在這裡你將獲得【最新行業資訊】,【免費測試工具安裝包】,【軟體測試技術乾貨】,【面試求職技巧】... 51與你共同學習,一起成長!期待你的加入: QQ                     群:                    755431660


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31407649/viewspace-2284563/,如需轉載,請註明出處,否則將追究法律責任。

相關文章