2023年性能測試面試題總結(jié)答案全_第1頁
2023年性能測試面試題總結(jié)答案全_第2頁
2023年性能測試面試題總結(jié)答案全_第3頁
2023年性能測試面試題總結(jié)答案全_第4頁
2023年性能測試面試題總結(jié)答案全_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1.什么是負(fù)載測試?什么是性能測試?

負(fù)載測試是一種性能測試指數(shù)據(jù)在超負(fù)荷環(huán)境中運(yùn)營,程序是否可以承擔(dān)

在這種測試中,將使測試對(duì)象承擔(dān)不同的工作量,以評(píng)測和評(píng)估測試對(duì)象在不同工作量條件

下的性能行為,以及連續(xù)正常運(yùn)營的能力。負(fù)載測試的目的是擬定并保證系統(tǒng)在超過最大預(yù)

期工作量的情況下仍能正常運(yùn)營。止匕外,負(fù)載測試還要評(píng)估性能特性,例如,響應(yīng)時(shí)間、事

務(wù)解決速率和其他與時(shí)間相關(guān)的方面。

性能測試重要使用場景測試軟件系統(tǒng)的性能是否滿足生產(chǎn)性能的規(guī)定,涉及負(fù)載測試,強(qiáng)度

測試,數(shù)據(jù)庫容量測試,基準(zhǔn)測試以及競爭(并發(fā),用戶)測試。

2.性能測試包含了哪些測試(至少舉出3種)

涉及負(fù)載測試,強(qiáng)度測試,數(shù)據(jù)庫容量測試,基準(zhǔn)測試以及競爭測試

3.簡述性能測試的環(huán)節(jié)

第一步:需求分析、計(jì)劃測試,設(shè)計(jì)測試用例

第二步:測試設(shè)計(jì)和開發(fā)(測試腳本錄制及調(diào)試,測試場景設(shè)計(jì))

第三步:測試執(zhí)行(測試環(huán)境搭建,場景部署,場景執(zhí)行,監(jiān)視場景)

第四步:測試結(jié)果分析,性能問題定位,測試報(bào)告評(píng)估

4,簡述使用Loadrunner的環(huán)節(jié)

制定性能測試計(jì)劃-》使用Vuser錄制調(diào)試腳本VuGen-》用LoadrunnerController設(shè)立場景-》

運(yùn)營場景-》監(jiān)視場景byLoadrunneronlineruntime等-》分析測試結(jié)果

5.什么時(shí)候可以開始執(zhí)行性能測試?

功能測試通過;一般需要進(jìn)行性能測試的系統(tǒng),都是用戶量比較大、業(yè)務(wù)使用比較頻繁、比

較重要的功能模塊。

6.LoadRunner由哪些部件組成?

VirtualUserGenerator-生成用于"Controlier”部署的Vusers

LoadRunnerControlier-產(chǎn)生壓力和搜集測試結(jié)果數(shù)據(jù)

LoadRunnerAnalysis-通過圖表分析工具來編譯和顯示測試結(jié)果

7.你使用LoadRunner的哪個(gè)部件來錄制腳本?

使用VirtualUserGenerator錄制測試腳本

8.LoadRunner的哪個(gè)部件可以模擬多用戶并發(fā)下回放腳本?

LoadRunner的Controller組件。

9.什么是集合點(diǎn)?設(shè)立集合點(diǎn)有什么意義?Loadrunner中設(shè)立集合點(diǎn)的函數(shù)是哪個(gè)?

在性能測試過程中,需要模擬大量用戶在同一時(shí)刻,訪問系統(tǒng)并同時(shí)操作某一任務(wù),可以通

過配置集合點(diǎn)來實(shí)現(xiàn),多個(gè)用戶同時(shí)進(jìn)行某操作;

集合點(diǎn)可以在服務(wù)器上創(chuàng)建密集的用戶負(fù)載,使LoadRunner可以測試服務(wù)器在負(fù)載狀

態(tài)下的性能。

設(shè)立集合點(diǎn)函數(shù):lr_rendezvous("Meeting"):〃Meeting是集合點(diǎn)名稱

10.什么是場景?場景的重要性有哪些?如何設(shè)立場景?

場景用于模擬用戶實(shí)際業(yè)務(wù)操作;

LoadRunner中場景有手工場景和面向目的的場景。

設(shè)立場景:選擇場景類型、設(shè)立運(yùn)營時(shí)設(shè)立、模擬用戶數(shù)、加減壓方式、連續(xù)時(shí)間,配

置負(fù)載生成器。

11.請(qǐng)解釋一下如何錄制web腳本?

運(yùn)用VirtualUserGenerator錄制測試腳本,錄制環(huán)節(jié):

1、選擇合適的協(xié)議-Web(Http/Html),

2、設(shè)立錄制選項(xiàng)(HTML-basedScript/URL-basedScript)

3、開始錄制

12.為什么要?jiǎng)?chuàng)建參數(shù)?如何創(chuàng)建參數(shù)?

A12:LoadRunner在錄制腳本的時(shí)候,只是忠實(shí)的記錄了所有從客戶端發(fā)送到服務(wù)器的數(shù)據(jù),

而在進(jìn)行性能測試的時(shí)候,為了更接近真實(shí)的模擬現(xiàn)實(shí)應(yīng)用,對(duì)于某些信息需要每次提交不

同的數(shù)據(jù),或者使用多個(gè)不同的值進(jìn)行循環(huán)輸入。這時(shí),在LoadRunner中就可以進(jìn)行參數(shù)

化設(shè)立,以使用多個(gè)不同的值提交應(yīng)用請(qǐng)求。

【參數(shù)化】:使用指定數(shù)據(jù)源中的值來替換腳本錄制生成的語句中的參數(shù)。

【參數(shù)化好處】

?減少腳本的大小

?提供使用不同的值執(zhí)行腳本的能力,更加真實(shí)的模擬現(xiàn)實(shí)應(yīng)用。

【參數(shù)化環(huán)節(jié)】

?用參數(shù)替換Vuser腳本中的常量值

?為參數(shù)設(shè)立屬性和數(shù)據(jù)源

13.什么是關(guān)聯(lián)?請(qǐng)解釋一下自動(dòng)關(guān)聯(lián)和手動(dòng)關(guān)聯(lián)的不同。

A13:【關(guān)聯(lián)的定義】簡樸的說:就是把腳本中某些寫死(固定)的數(shù)據(jù),轉(zhuǎn)變成動(dòng)態(tài)的數(shù)

據(jù),或者說將前面語句的結(jié)果數(shù)據(jù)保存下來,然后在后面的語句提交請(qǐng)求時(shí)使用這些數(shù)據(jù)。

【需要關(guān)聯(lián)的前提條件】:

客戶端需要從服務(wù)器端返回?cái)?shù)據(jù)中獲取部分?jǐn)?shù)據(jù),并將這些部分?jǐn)?shù)據(jù)解決后作為自己下

一次請(qǐng)求的一部分發(fā)出。

【自動(dòng)關(guān)聯(lián)與手工關(guān)聯(lián)的不同】:自動(dòng)關(guān)聯(lián)是在腳本錄制過程中,VuGen會(huì)根據(jù)已經(jīng)制

定好的規(guī)則,自動(dòng)找出需要關(guān)聯(lián)的值或腳本錄制完畢后,執(zhí)行腳本一次,通過Correlation

Studio自動(dòng)找出需要關(guān)聯(lián)的數(shù)據(jù),并建立關(guān)聯(lián):而手動(dòng)關(guān)聯(lián)是需要錄制兩份相同業(yè)務(wù)流程的

腳本,輸入的數(shù)據(jù)要相同,運(yùn)用WinDiff工具,找出兩份腳本之間不同之處,也就是需要關(guān)

聯(lián)的數(shù)據(jù),再通過web_reg_save_param函數(shù)手動(dòng)建立關(guān)聯(lián),將腳本中用到關(guān)聯(lián)的數(shù)據(jù)參數(shù)

化。

14.你如何找出哪里需要關(guān)聯(lián)?請(qǐng)給一些你所在項(xiàng)目的實(shí)例。

A14:

1、錄制兩份相同業(yè)務(wù)流程的腳本,輸入的數(shù)據(jù)要相同

2、運(yùn)用WinDiff工具,找出兩份腳本之間不同之處,也就是需要關(guān)聯(lián)的數(shù)據(jù)

3、通過web_reg_save_param函數(shù)手動(dòng)建立關(guān)聯(lián),將腳本中用到關(guān)聯(lián)的數(shù)據(jù)參數(shù)化。

通過錄制兩份腳本,進(jìn)行對(duì)比,可知jsessionid、sap-ext-sid、sap-wd-cltwndid、sap-wd-tstamp

需要進(jìn)行關(guān)聯(lián)。

15.你在哪里設(shè)立自動(dòng)關(guān)聯(lián)選項(xiàng)?

錄制選項(xiàng)中進(jìn)行設(shè)立

16.哪個(gè)函數(shù)是用來截取虛擬用戶腳本中的動(dòng)態(tài)值?(手工管聯(lián))

A16:Web_reg_save_param函數(shù)重要根據(jù)需要做關(guān)聯(lián)的動(dòng)態(tài)數(shù)據(jù)前面和后面的固定字符串來

辨認(rèn)、提取動(dòng)態(tài)數(shù)據(jù),所以在做關(guān)聯(lián)時(shí),需要找出動(dòng)態(tài)數(shù)據(jù)的左、右邊界字符串。

1.函數(shù)原型:

intweb_reg_save_param(constchar*ParamName,<ListofAttributes>,LAST);

2.參數(shù)說明:

ParamNam:存放動(dòng)態(tài)數(shù)據(jù)的參數(shù)名稱

ListofAttributes:其它屬性,包含Notfound、LB、RB、RelFramelD、Search、ORD、SaveOffset、

Convert、SaveLen。

17.你在VUGen中何時(shí)選擇關(guān)閉日記?何時(shí)選擇標(biāo)準(zhǔn)和擴(kuò)展日記?

在腳本運(yùn)營調(diào)試成功后應(yīng)關(guān)閉日記。創(chuàng)建發(fā)送函數(shù)和消息日記時(shí)用標(biāo)準(zhǔn)日記,創(chuàng)建警告和其

他信息是用擴(kuò)展日記。

18.你如何調(diào)試LoadRunner腳本?

在VuGen設(shè)立斷點(diǎn)breakpoints,然后使用單步跟蹤RunStepbyStep,輸出調(diào)試日記

19你在LR中如何編寫自定義函數(shù)?請(qǐng)給出一些你在以前進(jìn)行的項(xiàng)目中編寫的函數(shù)。

Givemefewfunctionsyouwroteinyourpreviousproject?-BeforewecreatetheUserDefined

functionsweneedtocreatetheexternal

library(DLL)withthefunction.WeaddthislibrarytoVuGenbindirectory.Oncethelibraryis

addedthenweassignuserdefinedfunctionasaparameter.Thefunctionshouldhavethe

followingformat:

_declspec(dllexport)char*<functionname>(char*,char*)

Ir_load_dll("user32.dll");

Examplesofuserdefinedfunctionsareasfollows:GetVersion,GetCurrentTime,GetPItformare

someoftheuserdefinedfunctionsusedinmyearlierproject.

20.在運(yùn)營設(shè)立下你能更改那些設(shè)立?

pacing:每個(gè)虛擬用戶腳本涉及三個(gè)部分:vusejinit,Run(Actions),vuser_end.當(dāng)你運(yùn)營

腳本的時(shí)候你能告知,虛擬用戶反復(fù)執(zhí)行run部分,每一個(gè)反復(fù)做為一個(gè)iteration.

注意:vuserjnit和vusejend部分是不被反復(fù)的。

ThinkTimeSettings:虛擬用戶thinktime仿效一個(gè)真實(shí)用戶在活動(dòng)中檔待的時(shí)間,例如:

當(dāng)一個(gè)用戶從服務(wù)器接受數(shù)據(jù)的時(shí)候,在響應(yīng)前這個(gè)用戶需要等待數(shù)秒來接受數(shù)據(jù),這個(gè)被

耽擱的時(shí)間就是thinktime。

ErrorHandling:你能指定一個(gè)虛擬用戶在腳本執(zhí)行期間如何解決錯(cuò)誤,默認(rèn)的,當(dāng)一個(gè)虛擬

用戶發(fā)現(xiàn)一個(gè)錯(cuò)誤的時(shí)候,它會(huì)隨著下一次反復(fù)繼續(xù)下去,你能使用這個(gè)設(shè)立來告知虛擬用

戶當(dāng)發(fā)生錯(cuò)誤的時(shí)候是否繼續(xù)執(zhí)行腳本。

RunLogic:迭代次數(shù)

21.你在不同的環(huán)境下如何設(shè)立迭代?

A21:在“RunTimeSettings”中設(shè)立

22.你如何在負(fù)載測試模式下執(zhí)行功能測試?

A22:在負(fù)載測試模式下,可以通過同時(shí)運(yùn)營數(shù)個(gè)虛擬用戶,通過增長虛擬用戶數(shù),擬定服

務(wù)器在多大的負(fù)載量下,仍然可以正常運(yùn)營,我一般進(jìn)行核心功能操作,驗(yàn)證核心功能運(yùn)營

是否正常。

23.什么是逐步遞增?你如何來設(shè)立?

A23:虛擬用戶數(shù)隨著負(fù)載時(shí)間逐漸增長,可以幫助擬定系統(tǒng)響應(yīng)時(shí)間減慢的準(zhǔn)確時(shí)間點(diǎn)。

可以在"加壓"選項(xiàng)卡中進(jìn)行設(shè)立:如下圖所示,將設(shè)立更改為:"每30秒啟動(dòng)2個(gè)

Vuser"

24.以線程方式運(yùn)營的虛擬用戶有哪些優(yōu)點(diǎn)?

A24:以線程方式運(yùn)營的虛擬用戶,在默認(rèn)情況下,Controller為每50個(gè)用戶僅啟動(dòng)一個(gè)

mmdrv進(jìn)程,而每個(gè)用戶都按線程方式來運(yùn)營,這些線程用戶將共享父進(jìn)程的內(nèi)存,這就

節(jié)省了大量內(nèi)存空間,從而可以在一個(gè)負(fù)載生成器上運(yùn)營更多的用戶。

25.當(dāng)你需要在犯錯(cuò)時(shí)停止執(zhí)行腳本,你怎么做?

取消運(yùn)營設(shè)立中的"Continueonerror"復(fù)選框。

或者使用lr_abort函數(shù)。

26.響應(yīng)時(shí)間和吞吐量之間的關(guān)系是什么?

A26:當(dāng)系統(tǒng)吞吐量未達(dá)成系統(tǒng)解決極限時(shí),系統(tǒng)性能不會(huì)衰減,交易平均響應(yīng)時(shí)間一般也

不會(huì)遞增,當(dāng)系統(tǒng)達(dá)成吞吐量極限時(shí),客戶端交易會(huì)在請(qǐng)求隊(duì)列中排隊(duì)等待,等待的時(shí)間會(huì)

記錄在響應(yīng)時(shí)間中,故交易平均響應(yīng)時(shí)間一般會(huì)遞增。

27.說明一下如何在LR中配置系記錄數(shù)器?

A27:以windows資源監(jiān)控為例,可右鍵點(diǎn)"添加度量”,輸入系統(tǒng)IP、選擇平臺(tái)類型,擬

定即可,具體參與LR自帶操作手冊(cè)八_"。

對(duì)于監(jiān)控不同類型的操作系統(tǒng),需要做一些準(zhǔn)備工作,可參見監(jiān)控操作系統(tǒng)資源部分。

28.你如何辨認(rèn)性能瓶頸?

A28:性能瓶頸分為:硬件瓶頸和軟件瓶頸

性能瓶頸可以通過監(jiān)控器來分析發(fā)現(xiàn),這些監(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)時(shí)間增長的因素;性能

度量一般涉及響應(yīng)時(shí)間、吞吐量、每秒點(diǎn)擊率、網(wǎng)絡(luò)延遲等等。

29.假如web服務(wù)器、數(shù)據(jù)庫以及網(wǎng)絡(luò)都正常,問題會(huì)出在哪里?

A29:問題也許出在系統(tǒng)自身或應(yīng)用服務(wù)器、或?yàn)閼?yīng)用編寫的代碼編寫中。

30.如何發(fā)現(xiàn)web服務(wù)器的相關(guān)問題?

A30:可以運(yùn)用web資源監(jiān)控器發(fā)現(xiàn)web服務(wù)器相關(guān)問題,在場景執(zhí)行過程中,可以運(yùn)用

監(jiān)控器分析web服務(wù)器吞吐量、每秒點(diǎn)擊率、每秒HTTP響應(yīng)數(shù)、每秒頁面下載數(shù),以及

web服務(wù)器硬件資源使用情況等。

31.如何發(fā)現(xiàn)數(shù)據(jù)庫的相關(guān)問題?

A31:可以通過數(shù)據(jù)庫監(jiān)控器和數(shù)據(jù)資源圖發(fā)現(xiàn)數(shù)據(jù)庫相關(guān)的問題,例如在運(yùn)營Controller

之前,可以指定需要度量的資源,之后可以根據(jù)監(jiān)控的數(shù)據(jù),分析數(shù)據(jù)庫相關(guān)的問題

32.解釋所有web錄制配置?

A32:選擇錄制協(xié)議、設(shè)立錄制選項(xiàng)、選擇瀏覽器、選擇存放途徑、開始錄制。

33.解釋一下覆蓋圖和關(guān)聯(lián)圖的區(qū)別?

A33:覆蓋圖:合并兩個(gè)圖的內(nèi)容,使用同一個(gè)X軸,合并圖左Y軸顯示當(dāng)前圖的值,合并

圖右Y軸顯示被合并圖的值。

關(guān)聯(lián)圖:當(dāng)前活動(dòng)圖的Y軸變?yōu)楹喜D的X軸,被合并圖的Y軸變成合并圖的Y軸。

34.你如何設(shè)計(jì)負(fù)載?標(biāo)準(zhǔn)是什么?

A34:負(fù)載測試計(jì)劃多少用戶數(shù)量、使用什么類型的機(jī)器、以及在什么環(huán)境下進(jìn)行。重要

基于兩個(gè)重要的文檔,任務(wù)分布圖和事務(wù)信息,任務(wù)分布圖告訴我們?cè)谪?fù)載時(shí)間段內(nèi),某一

個(gè)事務(wù)使用的用戶數(shù),高峰使用率及低峰使用率均來自該文檔;

事務(wù)信息告訴我們事務(wù)名及優(yōu)先級(jí),在設(shè)計(jì)場景時(shí)可以參考。

35.Vuser_init中涉及什么內(nèi)容?

A35:Vusejinit中包含在腳本執(zhí)行過程中只需執(zhí)行一次的腳本。一般來說,所有需要初始化

的都可以放在vusejinit里面,比如登錄。

36.Vuser_end中涉及什么內(nèi)容?

A36:vuser_end中一般包含退出的過程,比如退出系統(tǒng),重要在腳本執(zhí)行完畢或停止時(shí)

運(yùn)營,在設(shè)立了迭代次數(shù)時(shí),vusejend和vusejint均只執(zhí)行一次。

37.什么是thinktime?think_time有什么用?

A37:思考時(shí)間:用戶在各環(huán)節(jié)之間停下來進(jìn)行思考

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論