LoadRunner性能測試基礎(chǔ)知識問答_第1頁
LoadRunner性能測試基礎(chǔ)知識問答_第2頁
LoadRunner性能測試基礎(chǔ)知識問答_第3頁
LoadRunner性能測試基礎(chǔ)知識問答_第4頁
LoadRunner性能測試基礎(chǔ)知識問答_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、LoadRunner性能測試基礎(chǔ)學(xué)問問答作者: aovenus , 發(fā)布于2011-06-24Q1:什么是負(fù)載測試?什么是性能測試?A1:負(fù)載測試是通過逐步增加系統(tǒng)負(fù)載,測試系統(tǒng)性能的轉(zhuǎn)變,并最終確定在滿足性能指標(biāo)的狀況下,系統(tǒng)所能承受的最大負(fù)載量的測試,例如,訪問一個頁面的響應(yīng)時間規(guī)定不超過1秒,負(fù)載測試就是測試在響應(yīng)時間為1秒時,系統(tǒng)所能承受的最大并發(fā)訪問用戶的數(shù)量。性能測試:指在確定的約束條件下(指定的軟件、硬件、網(wǎng)絡(luò)環(huán)境等),確定系統(tǒng)所能承受的最大負(fù)載壓力。Q2.性能測試包含了哪些測試(至少舉出3種)A2:性能測試包含負(fù)載測試、壓力測試、大數(shù)據(jù)量測試、疲乏強(qiáng)度測試等。Q3.簡述性能測試

2、的步驟Q4.簡述用法Loadrunner的步驟A4:制定性能測試方案開發(fā)測試腳本設(shè)計測試場景執(zhí)行測試場景監(jiān)控測試場景分析測試結(jié)果Q5.什么時候可以開頭執(zhí)行性能測試?A5:功能測試通過;一般需要進(jìn)行性能測試的系統(tǒng),都是用戶量比較大、業(yè)務(wù)用法比較頻繁、比較重要的功能模塊。Q6.LoadRunner由哪些部件組成?A6:主要有三部分組成:Q7.你用法LoadRunner的哪個部件來錄制腳本?A7:用法Virtual User Generator錄制測試腳本Q8.LoadRunner的哪個部件可以模擬多用戶并發(fā)下回放腳本?A8:LoadRunner的Controller組件。Q9.什么是集合點?設(shè)置集

3、合點有什么意義?Loadrunner中設(shè)置集合點的函數(shù)是哪個?A9:在性能測試過程中,需要模擬大量用戶在同一時刻,訪問系統(tǒng)并同時操作某一任務(wù),可以通過配置集合點來實現(xiàn),多個用戶同時進(jìn)行某操作;集合點可以在服務(wù)器上創(chuàng)建密集的用戶負(fù)載,使LoadRunner能夠測試服務(wù)器在負(fù)載狀態(tài)下的性能。設(shè)置集合點函數(shù):lr_rendezvous(Meeting); / Meeting是集合點名稱Q10.什么是場景?場景的重要性有哪些?如何設(shè)置場景?A10:場景用于模擬用戶實際業(yè)務(wù)操作;LoadRunner中場景有手工場景和面對目標(biāo)的場景。設(shè)置場景:選擇場景類型、設(shè)置運行時設(shè)置、模擬用戶數(shù)、加減壓方式、持續(xù)時間

4、,配置負(fù)載生成器。Q11.請說明一下如何錄制web腳本?A11:利用Virtual User Generator錄制測試腳本,錄制步驟:1、選擇合適的協(xié)議2、設(shè)置錄制選項3、開頭錄制Q12.為什么要創(chuàng)建參數(shù)?如何創(chuàng)建參數(shù)?A12:LoadRunner在錄制腳本的時候,只是忠實的記錄了全部從客戶端發(fā)送到服務(wù)器的數(shù)據(jù),而在進(jìn)行性能測試的時候,為了更接近真實的模擬現(xiàn)實應(yīng)用,對于某些信息需要每次提交不同的數(shù)據(jù),或者用法多個不同的值進(jìn)行循環(huán)輸入。這時,在LoadRunner中就可以進(jìn)行參數(shù)化設(shè)置,以用法多個不同的值提交應(yīng)用懇求?!緟?shù)化】:用法指定數(shù)據(jù)源中的值來替換腳本錄制生成的語句中的參數(shù)?!緟?shù)化好

5、處】削減腳本的大小供應(yīng)用法不同的值執(zhí)行腳本的力氣,更加真實的模擬現(xiàn)實應(yīng)用。【參數(shù)化步驟】用參數(shù)替換Vuser腳本中的常量值為參數(shù)設(shè)置屬性和數(shù)據(jù)源Q13.什么是關(guān)聯(lián)?請說明一下自動關(guān)聯(lián)和手動關(guān)聯(lián)的不同。A13:【關(guān)聯(lián)的定義】簡潔的說:就是把腳本中某些寫死(固定)的數(shù)據(jù),轉(zhuǎn)變成動態(tài)的數(shù)據(jù),或者說將前面語句的結(jié)果數(shù)據(jù)保存下來,然后在后面的語句提交懇求時用法這些數(shù)據(jù)?!拘枰P(guān)聯(lián)的前提條件】:客戶端需要從服務(wù)器端返回數(shù)據(jù)中獵取部分?jǐn)?shù)據(jù),并將這些部分?jǐn)?shù)據(jù)處理后作為自己下一次懇求的一部分發(fā)出?!咀詣雨P(guān)聯(lián)與手工關(guān)聯(lián)的不同】:自動關(guān)聯(lián)是在腳本錄制過程中,VuGen會依據(jù)已經(jīng)制定好的規(guī)章,自動找出需要關(guān)聯(lián)的值或腳

6、本錄制完成后,執(zhí)行腳本一次,通過Correlation Studio自動找出需要關(guān)聯(lián)的數(shù)據(jù),并建立關(guān)聯(lián);而手動關(guān)聯(lián)是需要錄制兩份相同業(yè)務(wù)流程的腳本,輸入的數(shù)據(jù)要相同,利用WinDiff工具,找出兩份腳本之間不同之處,也就是需要關(guān)聯(lián)的數(shù)據(jù),再通過web_reg_save_param函數(shù)手動建立關(guān)聯(lián),將腳本中用到關(guān)聯(lián)的數(shù)據(jù)參數(shù)化。Q14.你如何找出哪里需要關(guān)聯(lián)?請給一些你所在項目的實例。A14:1、錄制兩份相同業(yè)務(wù)流程的腳本,輸入的數(shù)據(jù)要相同2、利用WinDiff工具,找出兩份腳本之間不同之處,也就是需要關(guān)聯(lián)的數(shù)據(jù)3、通過web_reg_save_param函數(shù)手動建立關(guān)聯(lián),將腳本中用到關(guān)聯(lián)的數(shù)據(jù)

7、參數(shù)化。示例:通過錄制兩份腳本,進(jìn)行對比,可知jsessionid、sap-ext-sid、sap-wd-cltwndid、sap-wd-tstamp需要進(jìn)行關(guān)聯(lián)。Q15.你在哪里設(shè)置自動關(guān)聯(lián)選項?A15:錄制選項中進(jìn)行設(shè)置,如下圖所示:Q16.哪個函數(shù)是用來截取虛擬用戶腳本中的動態(tài)值?(手工關(guān)聯(lián))A16:Web_reg_save_param函數(shù)主要依據(jù)需要做關(guān)聯(lián)的動態(tài)數(shù)據(jù)前面和后面的固定字符串來識別、提取動態(tài)數(shù)據(jù),所以在做關(guān)聯(lián)時,需要找出動態(tài)數(shù)據(jù)的左、右邊界字符串。1.函數(shù)原型:int web_reg_save_param (const char *ParamName, , LAST);2.

8、參數(shù)說明:ParamNam:存放動態(tài)數(shù)據(jù)的參數(shù)名稱List of Attributes:其它屬性,包含Notfound、LB、RB、RelFrameID、Search、ORD、SaveOffset、Convert、SaveLen。Notfound:指當(dāng)找不到要找的動態(tài)數(shù)據(jù)時,怎么處理。Notfound=error,當(dāng)找不到動態(tài)數(shù)據(jù)時,發(fā)出一個錯誤信息,為LoadRunner的默認(rèn)值。Notfound=warning,當(dāng)找不到動態(tài)數(shù)據(jù)時,不發(fā)出錯誤信息,只發(fā)出警告,腳本會連續(xù)執(zhí)行下去不會中斷。LB:動態(tài)數(shù)據(jù)的左邊界字符串,該參數(shù)為必選參數(shù),并區(qū)分大小寫。RB:動態(tài)數(shù)據(jù)的右邊界字符串,該參數(shù)為必選

9、參數(shù),并區(qū)分大小寫。ORD:指提取第幾次毀滅的左邊界的數(shù)據(jù),該參數(shù)為可選參數(shù),默認(rèn)值是1。假如值為All,則查找全部符合條件的數(shù)據(jù)并把這些數(shù)據(jù)存儲在數(shù)組中。Search:搜尋的范圍??梢允荋eaders(只搜尋Headers)、Body(只搜尋Body部分,不搜尋Headers)、Noresources(只搜尋Body部分,不搜尋Header與Resource)或是All(搜尋全部范圍,此為默認(rèn)值),該參數(shù)為可選參數(shù)。RelFrameID:相對于URL而言,欲搜尋的網(wǎng)頁的Frame,此屬性可以是All或是具體的數(shù)字,該參數(shù)為可選參數(shù)。SaveOffset:當(dāng)找到符合的動態(tài)數(shù)據(jù)時,從第幾個字符開

10、頭才存儲到參數(shù)中,該參數(shù)為可選參數(shù),此屬性值不行為負(fù)數(shù),其默認(rèn)值是0.Convert:可能的值有兩種:HTML_TO_URL:將HTML-encoded數(shù)據(jù)轉(zhuǎn)成URL-encoded數(shù)據(jù)格式。HTML_TO_TEXT:將HTML-encoded數(shù)據(jù)轉(zhuǎn)成純文字?jǐn)?shù)據(jù)格式。SaveLen:從Offset開頭算起,到指定長度內(nèi)的字符串,才儲存到參數(shù)中,該參數(shù)為可選參數(shù),默認(rèn)值為-1,表示儲存到結(jié)尾整個字符串。Q17.你在VUGen中何時選擇關(guān)閉日志?何時選擇標(biāo)準(zhǔn)和擴(kuò)展日志?A17:在測試場景執(zhí)行時,關(guān)閉日志,由于日志信息過多,也會影響性能測試結(jié)果;在調(diào)試測試腳本時,可以選擇標(biāo)準(zhǔn)或擴(kuò)展日志,用于輸出調(diào)試

11、信息??梢栽谶\行時設(shè)置中,進(jìn)行日志設(shè)置,如下圖所示:Q18.你如何調(diào)試LoadRunner腳本?A18: 通常接受以下方法調(diào)試LoadRunner測試腳本斷點【方法】在腳本的任意一行上按右鍵菜單或F9增加斷點。單步跟蹤【方法】通過菜單指令VUserRun Step by Step或F10,可以把握腳本以語句為單位執(zhí)行。日志輸出【方法】通過日志輸出函數(shù)lr_message、lr_log_message、lr_output_message輸出。對話框輸出綜上,在實際測試工作中,基本上用法前三種方法,對話框輸出基本上沒用過。Q19、你在LR中如何編寫自定義函數(shù)?請給出一些你在以前進(jìn)行的項目中編寫的函

12、數(shù)。A19:在編寫用戶自定義函數(shù)之前,需要首先為函數(shù)創(chuàng)建外部庫(DLL)文件,將這些庫文件放在bin名目下,一旦庫文件已經(jīng)被添加并且將用戶自定義函數(shù)作為參數(shù),函數(shù)應(yīng)當(dāng)為以下格式:_declspec (dllexport) char* (char*, char*)Q20.在運行設(shè)置下你能更改那些設(shè)置?A20:可以修改Run Logic、pacing、Log、Think Time等,見下圖;可以測試實際需要,修改相關(guān)選項。Q21.你在不同的環(huán)境下如何設(shè)置迭代?A21:在“運行時設(shè)置”中設(shè)置,如下圖所示:Q22.你如何在負(fù)載測試模式下執(zhí)行功能測試?A22:在負(fù)載測試模式下,可以通過同時運行數(shù)個虛擬用

13、戶,通過增加虛擬用戶數(shù),確定服務(wù)器在多大的負(fù)載量下,照舊可以正常運行,我一般進(jìn)行核心功能操作,驗證核心功能運行是否正常。Q23.什么是逐步遞增?你如何來設(shè)置?A23:虛擬用戶數(shù)隨著負(fù)載時間漸漸增加,可以憂慮確定系統(tǒng)響應(yīng)時間減慢的精確時間點??梢栽凇凹訅骸边x項卡中進(jìn)行設(shè)置:如下圖所示,將設(shè)置更改為:“每 30 秒啟動 2 個 Vuser”Q24.以線程方式運行的虛擬用戶有哪些優(yōu)點?A24:以線程方式運行的虛擬用戶,在默認(rèn)狀況下,Controller為每50個用戶僅啟動一個mmdrv進(jìn)程,而每個用戶都按線程方式來運行,這些線程用戶將共享父進(jìn)程的內(nèi)存,這就節(jié)省了大量內(nèi)存空間,從而可以在一個負(fù)載生成器

14、上運行更多的用戶。Q25.當(dāng)你需要在出錯時停止執(zhí)行腳本,你怎么做?A25:取消運行設(shè)置中的“Continue on error”復(fù)選框。或者用法lr_abort函數(shù)。Q26.響應(yīng)時間和吞吐量之間的關(guān)系是什么?Lr性能指標(biāo)A26:當(dāng)系統(tǒng)吞吐量未達(dá)到系統(tǒng)處理極限時,系統(tǒng)性能不會衰減,交易平均響應(yīng)時間一般也不會遞增,當(dāng)系統(tǒng)達(dá)到吞吐量極限時,客戶端交易會在懇求隊列中排隊等待,等待的時間會記錄在響應(yīng)時間中,故交易平均響應(yīng)時間一般會遞增。Q27.說明一下如何在LR中配置系統(tǒng)計數(shù)器?A27:以windows資源監(jiān)控為例,可右鍵點“添加度量”,輸入系統(tǒng)IP、選擇平臺類型,確定即可,具體參與LR自帶操作手冊_。

15、對于監(jiān)控不同類型的操作系統(tǒng),需要做一些預(yù)備工作,可參見監(jiān)控操作系統(tǒng)資源部分。Q28.你如何識別性能瓶頸?A28:性能瓶頸分為:硬件瓶頸和軟件瓶頸性能瓶頸可以通過監(jiān)控器來分析發(fā)覺,這些監(jiān)控器包括應(yīng)用服務(wù)器監(jiān)控、web服務(wù)器監(jiān)控、數(shù)據(jù)庫服務(wù)器監(jiān)控器和網(wǎng)絡(luò)監(jiān)控器;它們可以憂慮分析導(dǎo)致響應(yīng)時間增加的緣由;性能度量一般包括響應(yīng)時間、吞吐量、每秒點擊率、網(wǎng)絡(luò)延遲等等。Q29.假如web服務(wù)器、數(shù)據(jù)庫以及網(wǎng)絡(luò)都正常,問題會出在哪里?A29:問題可能出在系統(tǒng)本身或應(yīng)用服務(wù)器、或為應(yīng)用編寫的代碼編寫中。Q30.如何發(fā)覺web服務(wù)器的相關(guān)問題?WebSphere,WebLogic,Apache,Tomcat,Jb

16、ossA30:可以利用web資源監(jiān)控器發(fā)覺web服務(wù)器相關(guān)問題,在場景執(zhí)行過程中,可以利用監(jiān)控器分析web服務(wù)器吞吐量、每秒點擊率、每秒HTTP響應(yīng)數(shù)、每秒頁面下載數(shù),以及web服務(wù)器硬件資源用法狀況等。Q31.如何發(fā)覺數(shù)據(jù)庫的相關(guān)問題?A31:可以通過數(shù)據(jù)庫監(jiān)控器和數(shù)據(jù)資源圖發(fā)覺數(shù)據(jù)庫相關(guān)的問題,例如在運行Controller之前,可以指定需要度量的資源,之后可以依據(jù)監(jiān)控的數(shù)據(jù),分析數(shù)據(jù)庫相關(guān)的問題。Q32.說明全部web錄制配置?A32:選擇錄制協(xié)議、設(shè)置錄制選項、選擇掃瞄器、選擇存放路徑、開頭錄制。Q33.說明一下掩蓋圖和關(guān)聯(lián)圖的區(qū)分?A33:掩蓋圖:合并兩個圖的內(nèi)容,用法同一個X軸,合

17、并圖左Y軸顯示當(dāng)前圖的值,合并圖右Y軸顯示被合并圖的值。關(guān)聯(lián)圖:當(dāng)前活動圖的Y軸變?yōu)楹喜D的X軸,被合并圖的Y軸變成合并圖的Y軸。Q34.你如何設(shè)計負(fù)載?標(biāo)準(zhǔn)是什么?A34:負(fù)載測試方案多少用戶數(shù)量、用法什么類型的機(jī)器、以及在什么環(huán)境下進(jìn)行。主要基于兩個重要的文檔,任務(wù)分布圖和事務(wù)信息,任務(wù)分布圖告知我們在負(fù)載時間段內(nèi),某一個事務(wù)用法的用戶數(shù),高峰用法率及低峰用法率均來自該文檔;事務(wù)信息告知我們事務(wù)名及優(yōu)先級,在設(shè)計場景時可以參考。Q35.Vuser_init中包括什么內(nèi)容?A35:Vuser_init中包含在腳本執(zhí)行過程中只需執(zhí)行一次的腳本。一般來說,全部需要初始化的都可以放在vuser_i

18、nit里面,比如登錄。Q36. Vuser_end中包括什么內(nèi)容?A36:vuser_end中一般包含退出的過程,比如退出系統(tǒng),主要在腳本執(zhí)行完成或停止時運行,在設(shè)置了迭代次數(shù)時,vuser_end和vuser_int均只執(zhí)行一次。Q37.什么是think time?think_time有什么用?A37:思考時間:用戶在各步驟之間停下來進(jìn)行思考的時間,由于用戶基于其閱歷水平和目標(biāo)而與應(yīng)用程序進(jìn)行交互操作,因此技術(shù)水平更高的用戶工作起來可能會比新用戶要快。通過啟用思考時間,可以使 Vuser在負(fù)載測試期間更精確地模擬其對應(yīng)的真實世界用戶。Q38.標(biāo)準(zhǔn)日志和擴(kuò)展日志的區(qū)分是什么?A38:標(biāo)準(zhǔn)日志:腳本執(zhí)行過程中,將函數(shù)集及信息發(fā)送到日志文件中擴(kuò)展日志:可以將具體的腳本執(zhí)行信息輸出到日志文件中,可以選擇以下三種擴(kuò)展日志信息:參數(shù)替換:腳本運行過程中,可以將參數(shù)及當(dāng)前參數(shù)值輸出到日志文件中服務(wù)器返回的數(shù)據(jù):將服務(wù)器返回給客戶端的數(shù)據(jù)輸出到日志文件中高級跟蹤:全部的虛擬用戶信息和函數(shù)調(diào)用輸出到日志文件中Q39.說明以下函數(shù)及他們的不同之處。A39:lr_debug_message:發(fā)送調(diào)試信息到輸出窗口

溫馨提示

  • 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

提交評論