性能測(cè)試面試題集_第1頁(yè)
性能測(cè)試面試題集_第2頁(yè)
性能測(cè)試面試題集_第3頁(yè)
性能測(cè)試面試題集_第4頁(yè)
性能測(cè)試面試題集_第5頁(yè)
已閱讀5頁(yè),還剩19頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、軟件性能測(cè)試模擬筆試題目(一)注:本試卷中題目所涉及性能測(cè)試工具如無(wú)特殊說(shuō)明則均為L(zhǎng)oadRunner。一、 簡(jiǎn)答題(2*10=20分)1. 客戶交付一個(gè)性能測(cè)試項(xiàng)目,請(qǐng)闡述你的實(shí)施流程。答案:測(cè)試設(shè)計(jì)階段: 1)了解被測(cè)系統(tǒng)的性能需求,定義測(cè)試目標(biāo)和范圍; 2)了解系統(tǒng)的技術(shù)信息,如系統(tǒng)架構(gòu)等;3)確定測(cè)試方案、進(jìn)度安排,并制定測(cè)試計(jì)劃,場(chǎng)景設(shè)置方案,及需要收集的測(cè)試數(shù)據(jù);4)同相關(guān)人員協(xié)商討論測(cè)試方案; 5)準(zhǔn)備數(shù)據(jù)收集模板;不同項(xiàng)目的性能測(cè)試,需要收集的數(shù)據(jù)不同;針對(duì)性的制定一個(gè)模板,更符合需要;測(cè)試環(huán)境準(zhǔn)備: 1)技術(shù)準(zhǔn)備;選擇性能測(cè)試工具;測(cè)試方案中涉及到的技術(shù)問(wèn)題;測(cè)試數(shù)據(jù)的收集方

2、案實(shí)現(xiàn);如:如何監(jiān)控系統(tǒng)資源等; 2)搭建測(cè)試環(huán)境; 3)創(chuàng)建初始數(shù)據(jù);如虛擬用戶使用的賬號(hào)等;測(cè)試執(zhí)行階段: 1)錄制腳本; 2)調(diào)試腳本; 3)執(zhí)行場(chǎng)景; 4)收集測(cè)試數(shù)據(jù),并簡(jiǎn)單整理;測(cè)試分析階段: 1)分析測(cè)試數(shù)據(jù);提交測(cè)試報(bào)告。2. 解釋5個(gè)常用的性能指標(biāo)的名稱與具體含義。答案:l 并發(fā):所有用戶在同一時(shí)刻對(duì)系統(tǒng)執(zhí)行操作,一般指做同一件事情或操作。l 在線:所有用戶在一段時(shí)間內(nèi)對(duì)系統(tǒng)執(zhí)行操作。l 請(qǐng)求響應(yīng)時(shí)間 從client端發(fā)出請(qǐng)求到得到響應(yīng)的整個(gè)時(shí)間; 包括:client端響應(yīng)時(shí)間+網(wǎng)絡(luò)響應(yīng)時(shí)間+Server端響應(yīng)時(shí)間。l 事務(wù)請(qǐng)求響應(yīng)時(shí)間 完成相應(yīng)事務(wù)所用的時(shí)間;這個(gè)是性能測(cè)試

3、中重點(diǎn)關(guān)注的指標(biāo)。l TPS(Transaction Per Second) 每秒鐘系統(tǒng)能夠處理的交易或事務(wù)的數(shù)量。它是衡量系統(tǒng)處理能力的重要指標(biāo)。TPS是LoadRunner中重要的性能參數(shù)指標(biāo)。l 點(diǎn)擊率(Hit Per Second) 每秒發(fā)送的HTTP請(qǐng)求的數(shù)量;點(diǎn)擊率越大對(duì)Server的壓力越大l 資源利用率 對(duì)不同資源的使用程度,如CPU,I/O,內(nèi)存,3. 寫出5個(gè)Loadrunner中常用函數(shù),并對(duì)其中2個(gè)舉例說(shuō)明用法。答案:字符串復(fù)制strcpy(str,"Hello ") ;字符串連接strcat(str,"World !");lr_

4、message("str: %s",str);sprintf(s, "%s love %s.", "I", “ocean"); /產(chǎn)生:“I love ocean. "變量轉(zhuǎn)為參數(shù),將變量str的值存到參數(shù)Param中l(wèi)r_save_string(str,"Param");參數(shù)復(fù)制lr_save_string(lr_eval_string("Param"),"Param_1");參數(shù)轉(zhuǎn)為變量strcpy(str1,lr_eval_string("

5、Param_1");4. 簡(jiǎn)述LoadRunner的工作原理?答案:loadrunner會(huì)自動(dòng)監(jiān)控指定的URL或應(yīng)用程序所發(fā)出的請(qǐng)求及服務(wù)器返回的響應(yīng),它做為一個(gè)第三方(Agent)監(jiān)視客戶端與服務(wù)器端的所有對(duì)話,然后把這些對(duì)話記錄下來(lái),生成腳本,再次運(yùn)行時(shí)模擬客戶端發(fā)出的請(qǐng)求,捕獲服務(wù)器端的響應(yīng)。5. 什么是集合點(diǎn)?設(shè)置集合點(diǎn)有什么意義?LoadRunner中設(shè)置集合點(diǎn)的函數(shù)是哪個(gè)?答案:集合點(diǎn):是一個(gè)并發(fā)訪問(wèn)的點(diǎn),例如在測(cè)試計(jì)劃中,可能會(huì)要求系統(tǒng)能夠承受1000 人同時(shí)提交數(shù)據(jù),在LoadRunner 中可以通過(guò)在提交數(shù)據(jù)操作前面加入集合點(diǎn),這樣當(dāng)虛擬用戶運(yùn)行到提交數(shù)據(jù)的集合點(diǎn)時(shí)

6、,LoadRunner 就會(huì)檢查同時(shí)有多少用戶運(yùn)行到集合點(diǎn),如果不到1000 人,LoadRunner 就會(huì)命令已經(jīng)到集合點(diǎn)的用戶在此等待,當(dāng)在集合點(diǎn)等待的用戶達(dá)到1000 人時(shí),LoadRunner 命令1000 人同時(shí)去提交數(shù)據(jù),并發(fā)訪問(wèn)的目的。注意:集合點(diǎn)經(jīng)常和事務(wù)結(jié)合起來(lái)使用,常放在事務(wù)的前面,集合點(diǎn)只能插入到Action 部分,vuser_init和vuser_end 中不能插入集合點(diǎn)。集合點(diǎn)函數(shù)如下:lr_rendezvous(“SubmitData”)6. HTML-based script與URL-based script的腳本有什么區(qū)別?答案:使用“HTML-based sc

7、ript”的模式錄制腳本,VuGen為用戶的每個(gè)HTML操作生成單獨(dú)的步驟,這種腳本看上去比較直觀;使用“URL-based script”模式錄制腳本時(shí),VuGen可以捕獲所有作為用戶操作結(jié)果而發(fā)送到服務(wù)器的HTTP請(qǐng)求,然后為用戶的每個(gè)請(qǐng)求分別生成對(duì)應(yīng)方法。 通常,基于瀏覽器的Web應(yīng)用會(huì)使用“HTML-based script”模式來(lái)錄制腳本;而沒(méi)有基于瀏覽器的Web應(yīng)用、Web應(yīng)用中包含了與服務(wù)器進(jìn)行交互的Java Applet、基于瀏覽器的應(yīng)用中包含了向服務(wù)器進(jìn)行通信的JavaScript/VBScript代碼、基于瀏覽器的應(yīng)用中使用了HTTPS安全協(xié)議,這時(shí)使用“URL-based

8、 script”模式進(jìn)行錄制。7. 如何設(shè)置LaodRunner才能讓集合點(diǎn)只對(duì)一半的用戶生效?答案:在Loadrunner中,進(jìn)入Controller->Scenario->Rendezvous ->Policy,系統(tǒng)彈出Policy對(duì)話框。在該對(duì)話框中可以設(shè)定集合點(diǎn)執(zhí)行的策略。第一項(xiàng):表示當(dāng)所有用戶數(shù)的X%到達(dá)集合點(diǎn)時(shí),開(kāi)始釋放等待的用戶并繼續(xù)執(zhí)行場(chǎng)景。第二項(xiàng):表示當(dāng)前正在運(yùn)行用戶數(shù)的X%到達(dá)集合點(diǎn)時(shí),開(kāi)始釋放等待的用戶并繼續(xù)執(zhí)行場(chǎng)景。第三項(xiàng):表示當(dāng)X個(gè)用戶到達(dá)集合點(diǎn)時(shí),開(kāi)始釋放等待的用戶并繼續(xù)執(zhí)行場(chǎng)景。其中還有一項(xiàng)Timeout between Vusers,就30秒來(lái)

9、說(shuō),當(dāng)?shù)谝粋€(gè)用戶到達(dá)集合點(diǎn)后,再等待30秒,如果在30秒內(nèi)到達(dá)的用戶數(shù)達(dá)到指定的數(shù)量,就開(kāi)始繼續(xù)執(zhí)行場(chǎng)景。如果在30秒內(nèi)還沒(méi)有達(dá)到指定的用戶數(shù)量,就不再等待,開(kāi)始釋放等待的用戶并繼續(xù)執(zhí)行場(chǎng)景。由上可知,將第一項(xiàng)用戶數(shù)設(shè)置成50%可。8. LoadRunner的Controller組件中Pacing參數(shù)的作用是什么?答案: 設(shè)置LoadRunner中事務(wù)(trsaction)在每次循環(huán)中的間隔時(shí)間,系統(tǒng)可以利用該間隔時(shí)間進(jìn)行相應(yīng)事務(wù)的結(jié)束收尾工作的處理。加大Pacing參數(shù),可使系統(tǒng)壓力減小。9. LoadRunner中如何監(jiān)控Windows資源?答案:進(jìn)入被監(jiān)視windows系統(tǒng),開(kāi)啟以下二個(gè)

10、服務(wù):Remote Procedure Call(RPC)和Remote Registry Service;在controller 中,Windows Resources窗口中右擊鼠標(biāo)選擇Add Measurements,添加被監(jiān)控windows的IP地址,選擇所屬系統(tǒng),然后選擇需要監(jiān)控的指標(biāo)就可以開(kāi)始監(jiān)控。10. 如果讓QALoad模擬LoadRunner中只對(duì)關(guān)注的性能點(diǎn)進(jìn)行迭代測(cè)試,你有什么好方法?答案:可以將QAload腳本中關(guān)注的事務(wù)點(diǎn)寫成一個(gè)循環(huán),如果進(jìn)行長(zhǎng)時(shí)間的綜合場(chǎng)景測(cè)試,則可將其寫成一個(gè)永真循環(huán),如while (1) 事務(wù)點(diǎn),則對(duì)關(guān)注的性能點(diǎn)進(jìn)行循環(huán),而腳本其他代碼不會(huì)進(jìn)行循

11、環(huán)。11. 什么是負(fù)載測(cè)試?負(fù)載測(cè)試是通過(guò)逐步增加系統(tǒng)負(fù)載,測(cè)試系統(tǒng)性能的變化,并最終確定在滿足性能指標(biāo)的情況下,系統(tǒng)所能承受的最大負(fù)載量的測(cè)試,例如,訪問(wèn)一個(gè)頁(yè)面的響應(yīng)時(shí)間規(guī)定不超過(guò)1秒,負(fù)載測(cè)試就是測(cè)試在響應(yīng)時(shí)間為1秒時(shí),系統(tǒng)所能承受的最大并發(fā)訪問(wèn)用戶的數(shù)量。12. 什么是性能測(cè)試?性能測(cè)試:指在一定的約束條件下(指定的軟件、硬件、網(wǎng)絡(luò)環(huán)境等),確定系統(tǒng)所能承受的最大負(fù)載壓力。13. 說(shuō)明負(fù)載測(cè)試過(guò)程?第一步:計(jì)劃測(cè)試。在這里,我們需開(kāi)發(fā)一個(gè)明確定義的測(cè)試計(jì)劃,以確保該測(cè)試方案能完成負(fù)載測(cè)試目標(biāo)。第二步:創(chuàng)建虛擬用戶。創(chuàng)建的腳本需要包含單個(gè)虛擬用戶需要執(zhí)行的操作、多個(gè)虛擬用戶作為一個(gè)整體要

12、執(zhí)行的操作、以及能夠作為事務(wù)來(lái)度量的操作。第三步:創(chuàng)建場(chǎng)景。一個(gè)場(chǎng)景描述了在一個(gè)測(cè)試會(huì)話中發(fā)生的事件。它包含了當(dāng)場(chǎng)景中運(yùn)行時(shí)的機(jī)器、腳本和虛擬用戶。我們使用LoadRunner中的Controller創(chuàng)建場(chǎng)景。我們可以創(chuàng)建手動(dòng)場(chǎng)景也可以創(chuàng)建基于目標(biāo)的場(chǎng)景。在手動(dòng)場(chǎng)景中,我們定義虛擬用戶的數(shù)量、負(fù)載生成器、被分配到每個(gè)腳本中虛擬用戶的百分比。對(duì)于web測(cè)試,我們創(chuàng)建基于目標(biāo)的場(chǎng)景,其中目標(biāo)即測(cè)試過(guò)程中要達(dá)成的性能目標(biāo)。LoadRunner會(huì)由此自動(dòng)為我們創(chuàng)建一個(gè)場(chǎng)景。第四步:運(yùn)行場(chǎng)景。我們通過(guò)配置多個(gè)虛擬用戶同時(shí)執(zhí)行任務(wù)來(lái)模擬對(duì)服務(wù)器加壓。在測(cè)試之前,我們?cè)O(shè)置場(chǎng)景的配置和計(jì)劃安排。我們可以運(yùn)行整

13、個(gè)場(chǎng)景、一組虛擬用戶或單個(gè)虛擬用戶。第五步:監(jiān)控場(chǎng)景。我們使用LoadRunner聯(lián)機(jī)運(yùn)行來(lái)監(jiān)測(cè)場(chǎng)景執(zhí)行、事務(wù)系統(tǒng)資源,Web資源,Web服務(wù)器資源,Web應(yīng)用服務(wù)器資源,數(shù)據(jù)庫(kù)服務(wù)器資源,網(wǎng)絡(luò)延遲,流媒體資源,防火墻服務(wù)器資源,ERP服務(wù)器資源,Java性能監(jiān)視器。第六步:分析測(cè)試結(jié)果。在場(chǎng)景執(zhí)行時(shí),LoadRunner記錄了應(yīng)用軟件在不同負(fù)載下的性能。我們可以使用LoadRunner的圖表和報(bào)告來(lái)分析應(yīng)用軟件的性能。14. 我們什么時(shí)候做負(fù)載和性能測(cè)試?我們一旦完成界面(GUI)測(cè)試,我們就可以執(zhí)行負(fù)載測(cè)試?,F(xiàn)代的軟件系統(tǒng)架構(gòu)龐大而復(fù)雜的。而單用戶測(cè)試主要是側(cè)重于系統(tǒng)組件的功能和用戶界面的

14、測(cè)試,應(yīng)用測(cè)試側(cè)重于整個(gè)系統(tǒng)的性能和可靠性。例如,一個(gè)典型的應(yīng)用測(cè)試場(chǎng)景,描繪了1000個(gè)用戶,同時(shí)登錄到系統(tǒng)。這就產(chǎn)生了問(wèn)題,如系統(tǒng)的響應(yīng)時(shí)間是多少,它會(huì)崩潰么;是否兼容不同的應(yīng)用軟件和系統(tǒng)平臺(tái);它是否可以支撐成千上萬(wàn)的用戶等,這時(shí)我們就需要做負(fù)載和性能測(cè)試。15. 什么是LoadRunner的組件?LoadRunner的組件有虛擬用戶生成器,控制器、代理程序、LoadRunner的分析器和監(jiān)控器,LoadRunner在線幫助16. 你用LoadRunner的哪個(gè)組件錄制腳本?虛擬用戶生成器(VuGen)可以用來(lái)錄制腳本。它通過(guò)多種應(yīng)用程序類型和通訊協(xié)議來(lái)確保你開(kāi)發(fā)一個(gè)Vuser腳本。17.

15、 在多用戶模式下你用LoadRunnner的哪個(gè)組件來(lái)回放腳本?虛擬用戶生成器(VuGen)可以用來(lái)錄制腳本。它通過(guò)多種應(yīng)用程序類型和通訊協(xié)議來(lái)確保你開(kāi)發(fā)一個(gè)Vuser腳本。18. 在多用戶模式下你用LoadRunnner的哪個(gè)組件來(lái)回放腳本?Controller組件可以用來(lái)在多用戶模式下回放腳本。這個(gè)過(guò)程可以在一組虛擬用戶以組的形式執(zhí)行腳本的場(chǎng)景中運(yùn)行時(shí)完成。19. 什么是場(chǎng)景場(chǎng)景定義了發(fā)生在每個(gè)測(cè)試會(huì)話中的事件。例如,一個(gè)場(chǎng)景定義和控制了要加載的虛擬用戶的數(shù)量,要被執(zhí)行的動(dòng)作,虛擬用戶模擬壓力時(shí)的機(jī)器。20. 解釋W(xué)eb Vuser腳本的錄制模式我們使用VuGen通過(guò)記錄一個(gè)用戶在客戶端執(zhí)

16、行典型的業(yè)務(wù)流程來(lái)開(kāi)發(fā)一個(gè)Vuser腳本。VuGen通過(guò)記錄客戶端和服務(wù)器之間的交互來(lái)創(chuàng)建腳本。例如,基于Web的應(yīng)用程序,VuGen監(jiān)測(cè)客戶端直到數(shù)據(jù)庫(kù),跟蹤所有發(fā)送出的請(qǐng)求,再?gòu)臄?shù)據(jù)庫(kù)服務(wù)器接收。我們使用VuGen:監(jiān)測(cè)應(yīng)用程序和服務(wù)器的交互;使形成函數(shù)調(diào)用;插入生成的函數(shù)調(diào)用到一個(gè)Vuser腳本中。21. 為什么創(chuàng)建參數(shù)?參數(shù)就像腳本中的變量。他們被用來(lái)改變對(duì)服務(wù)器的輸入值來(lái)模擬真正的用戶。每次當(dāng)腳本運(yùn)行時(shí),不同的數(shù)據(jù)設(shè)置被發(fā)送到服務(wù)器。為了更精確的在Controller中測(cè)試,從而更好的模擬使用模型;一個(gè)腳本在系統(tǒng)上模擬很多不同的用戶。22. 什么是關(guān)聯(lián)?解釋自動(dòng)關(guān)聯(lián)和手動(dòng)關(guān)聯(lián)的區(qū)別關(guān)

17、聯(lián)是用來(lái)獲取每次腳本運(yùn)行時(shí)由嵌套請(qǐng)求產(chǎn)生的唯一的數(shù)據(jù)。關(guān)聯(lián)提供值以避免產(chǎn)生重復(fù)值的錯(cuò)誤,并且優(yōu)化代碼(避免嵌套請(qǐng)求)。自動(dòng)關(guān)聯(lián)是我們自己為關(guān)聯(lián)設(shè)置的一定規(guī)則。它可以是應(yīng)用服務(wù)器特定的。這里的值被通過(guò)規(guī)則創(chuàng)建的數(shù)據(jù)取代。在手動(dòng)關(guān)聯(lián)里,我們要關(guān)聯(lián)的值被瀏覽和創(chuàng)建關(guān)聯(lián)以用來(lái)關(guān)聯(lián)。23. 什么是關(guān)聯(lián)?解釋自動(dòng)關(guān)聯(lián)和手動(dòng)關(guān)聯(lián)的區(qū)別24. 你在哪里設(shè)置自動(dòng)關(guān)聯(lián)的選項(xiàng)從web自動(dòng)關(guān)聯(lián)的觀點(diǎn)來(lái)說(shuō),可以在錄制選項(xiàng)中和關(guān)聯(lián)表單中設(shè)置。這里我們可以使整個(gè)腳本關(guān)聯(lián),選擇在線信息或者離線的動(dòng)作,在這里我們可以定義關(guān)聯(lián)的規(guī)則。為數(shù)據(jù)庫(kù)自動(dòng)關(guān)聯(lián)可以使用顯示輸出窗口和為了關(guān)聯(lián)瀏覽,找出關(guān)聯(lián)查詢的圖表,選擇我們想關(guān)聯(lián)的查詢值來(lái)

18、完成。如果我們知道要被關(guān)聯(lián)的特殊值,我們只用為這個(gè)值創(chuàng)建關(guān)聯(lián),指定如何創(chuàng)建這個(gè)值25. 什么函數(shù)可以捕捉到web Vuser腳本的動(dòng)態(tài)值?Web_reg_save_param函數(shù)保存動(dòng)態(tài)的數(shù)據(jù)信息到一個(gè)參數(shù)中。26. 什么時(shí)候你在虛擬用戶產(chǎn)生器中禁用日志,什么時(shí)候選擇標(biāo)準(zhǔn)日志和擴(kuò)展日志?一旦我們調(diào)試腳本來(lái)驗(yàn)證它的功能,我們可以只記錄錯(cuò)誤。當(dāng)我們?cè)趫?chǎng)景中添加一個(gè)腳本,日志記錄將自動(dòng)被禁用。標(biāo)準(zhǔn)日志選項(xiàng):當(dāng)您選擇標(biāo)準(zhǔn)日志,它在腳本執(zhí)行調(diào)試時(shí)創(chuàng)建一個(gè)標(biāo)準(zhǔn)的功能和發(fā)送信息的日志。大負(fù)荷的測(cè)試場(chǎng)景時(shí),禁用此選項(xiàng)。當(dāng)你復(fù)制一個(gè)腳本到一個(gè)場(chǎng)景,日志自動(dòng)禁用擴(kuò)展日志選項(xiàng):選擇擴(kuò)展日志創(chuàng)建一個(gè)擴(kuò)展的日志,包括警

19、告和其他信息。禁用此選項(xiàng)為大負(fù)荷的測(cè)試場(chǎng)景。當(dāng)你復(fù)制一個(gè)腳本的場(chǎng)景,將被自動(dòng)禁用日志記錄。我們可以指定附加信息,用擴(kuò)展日志選項(xiàng)添加到擴(kuò)展日志中。27. 你如何調(diào)試LoadRunner的腳本?VuGen包含兩個(gè)選項(xiàng)幫助調(diào)試VuGen腳本通過(guò)逐步命令和斷點(diǎn)運(yùn)行某一步。選項(xiàng)對(duì)話框中的Debug設(shè)置,使我們決定在場(chǎng)景運(yùn)行期間進(jìn)行跟蹤的程度。Debug信息被寫到輸出窗口,我們可以使用lr_set_debug_message函數(shù)手動(dòng)設(shè)置你的腳本中的信息類。如果我們希望得到關(guān)于一小部分腳本的調(diào)試信息時(shí),這就有意義了。28. 你怎么寫LR中用戶自定義的函數(shù)?寫幾個(gè)你以前項(xiàng)目中的函數(shù)?在我們創(chuàng)建用戶自定義的函數(shù)

20、之前我們需要?jiǎng)?chuàng)建外部的庫(kù)函數(shù)。我們添加這個(gè)庫(kù)到VuGen bin目錄下。一旦庫(kù)被添加,然戶我們分配給用戶自定義的函數(shù)作為參數(shù)。函數(shù)應(yīng)該有以下格式:_declspec(dllexport)char*<函數(shù)名稱>(char*,char *)。用戶自定義函數(shù)如下:GetVersion,GetCurrentTime,GetPltform,這些都是我之前的項(xiàng)目中用到的用戶自定義的函數(shù)。29. 在run-time setting里你可以設(shè)置哪些改變?Run Time Setting中我們所做的是:a)Pacing它有迭代次數(shù)。b)Log在此,我們有已禁用的標(biāo)準(zhǔn)日志。c)擴(kuò)展Think Time

21、在Think Time里有兩個(gè)選項(xiàng),忽略think time和回放think time。d)General在General選項(xiàng)卡中,我們可以設(shè)置vusers作為進(jìn)程或者多線程,將每一步作為一個(gè)事務(wù)。30. 你在哪里設(shè)置Vuser測(cè)試時(shí)迭代?我們?cè)赩uGen中的Run Time Setting中設(shè)置迭代。這個(gè)導(dǎo)航是Run Time Setting,Pacing選項(xiàng)卡,設(shè)置迭代次數(shù)。31. 你如何在負(fù)載下執(zhí)行功能測(cè)試?負(fù)載下的功能可以通過(guò)同時(shí)運(yùn)行多個(gè)Vuser來(lái)測(cè)試。通過(guò)增加一定數(shù)量的Vuser,我們可以判斷服務(wù)器可以承受多少負(fù)載。32. 什么是Ramp up?你如何設(shè)置?這個(gè)選項(xiàng)被用來(lái)逐步增加V

22、user的數(shù)量/服務(wù)器上的負(fù)載。初始值設(shè)置,間隔的等待值可以被指定。要設(shè)置Ramp up,進(jìn)入“場(chǎng)景調(diào)度選項(xiàng)”33. Vuser作為線程運(yùn)行的優(yōu)勢(shì)是什么?VuGen提供使用多線程的設(shè)施。這使每個(gè)產(chǎn)生器中運(yùn)行更多的Vuser。如果Vuser作為進(jìn)程運(yùn)行,相同的驅(qū)動(dòng)程序?yàn)槊總€(gè)Vuser加載到內(nèi)存,從而占用大量的內(nèi)存。這限制了在單發(fā)生器中運(yùn)行的Vuser的數(shù)量。如果Vuser作為線程運(yùn)行,為給定數(shù)量的Vuser(如100),只有一個(gè)驅(qū)動(dòng)程序的實(shí)例被加載到內(nèi)存。每個(gè)線程共享父驅(qū)動(dòng)程序的內(nèi)存,從而使每個(gè)產(chǎn)生器運(yùn)行更多的Vuser。34. 如果你想停止執(zhí)行出錯(cuò)的腳本,怎么做?Lr_abort函數(shù)中止執(zhí)行V

23、user 腳本。它指示Vuser停止執(zhí)行Action部分,執(zhí)行vuser_end部分,并結(jié)束執(zhí)行。這個(gè)函數(shù)是有用的,當(dāng)你需要手工停止一個(gè)腳本的執(zhí)行,作為一個(gè)指定錯(cuò)誤條件下的結(jié)果。當(dāng)你使用這個(gè)函數(shù)停止一個(gè)腳本,Vuser被分配成停止?fàn)顟B(tài)。為讓它生效,我們必須首先在RunTime Setting中取消選擇“Continue on error”35. 響應(yīng)時(shí)間和吞吐量間的關(guān)系是什么?吞吐量圖表顯示的是Vuser每秒從服務(wù)器收到的以字節(jié)為單位的數(shù)據(jù)量。當(dāng)我們比較它和事務(wù)響應(yīng)時(shí)間,我們會(huì)發(fā)現(xiàn),若吞吐量下降,響應(yīng)時(shí)間也會(huì)下降。同樣,高峰時(shí)期的吞吐量和最高的響應(yīng)時(shí)間大約在同一個(gè)時(shí)間。36. 你如何識(shí)別性能瓶

24、頸?性能瓶頸可以使用監(jiān)控器監(jiān)測(cè)。這些監(jiān)控器可能是應(yīng)用服務(wù)器監(jiān)控器、web服務(wù)器監(jiān)控器和網(wǎng)絡(luò)監(jiān)控器。它們幫助找出在場(chǎng)景中導(dǎo)致響應(yīng)時(shí)間增加有問(wèn)題的區(qū)域。通常所做的測(cè)試指標(biāo)是性能響應(yīng)時(shí)間、吞吐量,點(diǎn)擊率,網(wǎng)絡(luò)延遲圖等37. 如果web服務(wù)器、數(shù)據(jù)庫(kù)服務(wù)器、網(wǎng)絡(luò)都一切正常,那么哪里可能有問(wèn)題?問(wèn)題可能是系統(tǒng)本身,應(yīng)用程序服務(wù)器或?yàn)閼?yīng)用程序編寫的代碼。38. 你如何找出web服務(wù)器相關(guān)的問(wèn)題?利用web資源監(jiān)控器,我們可以發(fā)現(xiàn)web服務(wù)器的性能。使用這些監(jiān)測(cè)器我們可以分析發(fā)生在場(chǎng)景中的web服務(wù)器的吞吐量,每秒點(diǎn)擊數(shù)、以及每秒HTTP響應(yīng)數(shù),每秒下載的網(wǎng)頁(yè)數(shù)量。39. 你是怎么找到數(shù)據(jù)庫(kù)中的相關(guān)問(wèn)題?監(jiān)

25、視運(yùn)行“數(shù)據(jù)庫(kù)”監(jiān)測(cè)器和在“數(shù)據(jù)資源圖”的幫助下,我們可以發(fā)現(xiàn)數(shù)據(jù)庫(kù)中的相關(guān)問(wèn)題。例如您可以在Controller運(yùn)行前指定您想要的資源來(lái)監(jiān)控,然后你可以看到數(shù)據(jù)庫(kù)中的相關(guān)問(wèn)題40. 覆蓋圖和關(guān)聯(lián)圖之間的區(qū)別是什么?覆蓋圖:它覆蓋兩個(gè)圖表的內(nèi)容,使共用一個(gè)X軸。合并后的圖形左Y軸顯示當(dāng)前圖形中的值,右Y軸顯示合并圖的Y軸的值。關(guān)聯(lián)圖:繪制相互對(duì)立的兩個(gè)圖表的Y軸?;顒?dòng)圖的Y軸,成為合并后的圖的X軸。合并圖的Y軸成為合并后的圖的Y軸41. 你是怎么計(jì)劃負(fù)載的?標(biāo)準(zhǔn)是什么?計(jì)劃負(fù)載測(cè)試,以決定用戶數(shù)量,我們將使用的機(jī)器型號(hào),在哪里運(yùn)行。它是基于兩個(gè)重要文件,任務(wù)分配圖和事務(wù)狀況。任務(wù)分配圖,給我們

26、提供用戶數(shù)量為一個(gè)特定的業(yè)務(wù)信息和負(fù)載時(shí)間。從這個(gè)圖決定使用高峰期和不工作時(shí)段。事務(wù)配置文件,為我們提供了有關(guān)交事務(wù)方面的情況,包括事務(wù)的名稱和我們決定的它們關(guān)于場(chǎng)景的優(yōu)先等級(jí)。42. vuser_init動(dòng)作包含什么?Vuser_init動(dòng)作包含登錄到服務(wù)器的程序43. vuser_end動(dòng)作包含什么?Vuser_end部分包含注銷的程序。44. 什么是Think Time?你如何改變這個(gè)閾值?Think Time是一個(gè)真實(shí)的用戶動(dòng)作之間的等待時(shí)間。例如:當(dāng)一個(gè)用戶從服務(wù)器接收數(shù)據(jù)時(shí),用戶可以在響應(yīng)前等待幾秒鐘來(lái)檢查響應(yīng)數(shù)據(jù)。此延遲就是Think Time。更改這個(gè)閾值:閾值是一個(gè)標(biāo)準(zhǔn)水平,

27、思考時(shí)間低于閾值水平時(shí)將被忽略,Vugen不會(huì)生成思考時(shí)間語(yǔ)句。默認(rèn)值是5秒。我們可以在Vugen錄制選項(xiàng)中改變Think Time閾值。45. 簡(jiǎn)述使用Loadrunner的步驟制定性能測(cè)試計(jì)劃>開(kāi)發(fā)測(cè)試腳本>設(shè)計(jì)測(cè)試場(chǎng)景>執(zhí)行測(cè)試場(chǎng)景>監(jiān)控測(cè)試場(chǎng)景>分析測(cè)試結(jié)果46. 什么是集合點(diǎn)?設(shè)置集合點(diǎn)有什么意義?Loadrunner中設(shè)置集合點(diǎn)的函數(shù)是哪個(gè)?在性能測(cè)試過(guò)程中,需要模擬大量用戶在同一時(shí)刻,訪問(wèn)系統(tǒng)并同時(shí)操作某一任務(wù),可以通過(guò)配置集合點(diǎn)來(lái)實(shí)現(xiàn),多個(gè)用戶同時(shí)進(jìn)行某操作;集合點(diǎn)可以在服務(wù)器上創(chuàng)建密集的用戶負(fù)載,使LoadRunner能夠測(cè)試服務(wù)器在負(fù)載狀態(tài)下的

28、性能。設(shè)置集合點(diǎn)函數(shù):lr_rendezvous(“Meeting”); / Meeting是集合點(diǎn)名稱47. 請(qǐng)解釋一下如何錄制web腳本?48. 請(qǐng)解釋一下自動(dòng)關(guān)聯(lián)和手動(dòng)關(guān)聯(lián)的不同。49. 哪個(gè)函數(shù)是用來(lái)截取虛擬用戶腳本中的動(dòng)態(tài)值?(手工關(guān)聯(lián))Web_reg_save_param函數(shù)主要根據(jù)需要做關(guān)聯(lián)的動(dòng)態(tài)數(shù)據(jù)前面和后面的固定字符串來(lái)識(shí)別、提取動(dòng)態(tài)數(shù)據(jù),所以在做關(guān)聯(lián)時(shí),需要找出動(dòng)態(tài)數(shù)據(jù)的左、右邊界字符串。1.函數(shù)原型:int web_reg_save_param (const char *ParamName, , LAST);2.參數(shù)說(shuō)明:ParamNam:存放動(dòng)態(tài)數(shù)據(jù)的參數(shù)名稱List

29、of Attributes:其它屬性,包含Notfound、LB、RB、RelFrameID、Search、ORD、SaveOffset、Convert、SaveLen。50. 你如何在負(fù)載測(cè)試模式下執(zhí)行功能測(cè)試?在負(fù)載測(cè)試模式下,可以通過(guò)同時(shí)運(yùn)行數(shù)個(gè)虛擬用戶,通過(guò)增加虛擬用戶數(shù),確定服務(wù)器在多大的負(fù)載量下,仍然可以正常運(yùn)行,我一般進(jìn)行核心功能操作,驗(yàn)證核心功能運(yùn)行是否正常。51. 什么是逐步遞增?你如何來(lái)設(shè)置?虛擬用戶數(shù)隨著負(fù)載時(shí)間逐漸增加,可以幫助確定系統(tǒng)響應(yīng)時(shí)間減慢的準(zhǔn)確時(shí)間點(diǎn)??梢栽凇凹訅骸边x項(xiàng)卡中進(jìn)行設(shè)置:如下圖所示,將設(shè)置更改為:“每 30 秒啟動(dòng) 2 個(gè) Vuser”52. 當(dāng)你

30、需要在出錯(cuò)時(shí)停止執(zhí)行腳本,你怎么做?53. 響應(yīng)時(shí)間和吞吐量之間的關(guān)系是什么?當(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ì)遞增。54. 說(shuō)明一下如何在LR中配置系統(tǒng)計(jì)數(shù)器?以windows資源監(jiān)控為例,可右鍵點(diǎn)“添加度量”,輸入系統(tǒng)IP、選擇平臺(tái)類型,確定即可,詳細(xì)參加LR自帶操作手冊(cè)_。對(duì)于監(jiān)控不同類型的操作系統(tǒng),需要做一些準(zhǔn)備工作,可參見(jiàn)監(jiān)控操作系統(tǒng)資源部分。55. .如果web服務(wù)器、數(shù)據(jù)庫(kù)以及網(wǎng)絡(luò)都正常,問(wèn)題會(huì)出在哪里?56. 如何發(fā)現(xiàn)

31、web服務(wù)器的相關(guān)問(wèn)題?57. .如何發(fā)現(xiàn)數(shù)據(jù)庫(kù)的相關(guān)問(wèn)題?58. 解釋所有web錄制配置?59. 你如何設(shè)計(jì)負(fù)載?標(biāo)準(zhǔn)是什么?60. 什么是吞吐量?61. 在LoadRunner中為什么要設(shè)置思考時(shí)間和pacing錄制時(shí)記錄的是客戶端和服務(wù)端的交互,如果要精確模擬 用戶的行為,那么客戶操作客戶端時(shí)花費(fèi)了很多時(shí)間要怎么模擬呢?錄入 填寫提交的內(nèi)容,從列表中下拉搜索選擇特定的值等,這時(shí)LOADRUNNER 不會(huì)記錄用戶 的客戶端操作,而是記錄了用戶這段時(shí)間,成為思考時(shí)間(Think-time),因?yàn)橛脩舻倪@些客戶端操作不會(huì)影響服務(wù)端,只是讓服務(wù)器端在這段時(shí)間內(nèi)沒(méi)有請(qǐng)求而已。,所以加入思考時(shí)間就能

32、模擬出熟練的或者生疏的用戶操作,接近實(shí)際對(duì)于服務(wù)端的壓力。 Vuser 思考時(shí)間模擬實(shí)際用戶在不同操作之間等待的時(shí)間。例如,當(dāng)用戶收到來(lái)自服務(wù)器的數(shù)據(jù)時(shí),可能要等待幾秒鐘查看數(shù)據(jù),然后再做出響應(yīng)。這種延遲就稱為“思考時(shí)間”。VuGen 使用 lr_think_time 函數(shù)將思考時(shí)間值錄制到 Vuser 腳本中。以下錄制的函 數(shù)指明用戶等待了 8 秒鐘才執(zhí)行下一個(gè)操作: lr_think_time(8); 當(dāng)您運(yùn)行了 Vuser 腳本并且 Vuser 遇到了上述 lr_think_time 語(yǔ)句時(shí),默認(rèn)情況下,Vuser 將等待 8 秒鐘后再執(zhí)行下一個(gè)操作。可以使用思考時(shí)間運(yùn)行時(shí)設(shè)置來(lái)影響運(yùn)行

33、腳本時(shí) Vuser 使用錄制思考時(shí)間的方式。62. 如何理解TPS?TPS主要還是體現(xiàn)服務(wù)器對(duì)當(dāng)前錄制的事務(wù)的處理速度快慢。TPS高并不代表性能好。TPS 是Transactions Per Second 的 縮 寫,也就是事務(wù)數(shù)/ 秒。它是軟件測(cè)試結(jié)果的測(cè)量單位。一個(gè)事務(wù)是指一個(gè)客戶機(jī)向服務(wù)器發(fā)送請(qǐng)求然后服務(wù)器做出反應(yīng)的過(guò)程??蛻魴C(jī)在發(fā)送請(qǐng)求時(shí)開(kāi)始計(jì)時(shí),收到服務(wù)器響應(yīng)后結(jié)束計(jì)時(shí),以此來(lái)計(jì)算使用的時(shí)間和完成的事務(wù)個(gè)數(shù),最終利用這些信息來(lái)估計(jì)得分??蛻魴C(jī)使用加權(quán)協(xié)函數(shù)平均方法來(lái)計(jì)算客戶機(jī)的得分,試軟件就是利用客戶機(jī)的這些信息使用加權(quán)協(xié)函 數(shù)平均方法來(lái)計(jì)算服務(wù)器端的整體TPS得分。63. load

34、runner中的設(shè)置線程和進(jìn)程的區(qū)別loadrunner中,在進(jìn)行運(yùn)行設(shè)置中有一項(xiàng)選擇,是按進(jìn)程運(yùn)行Vuser或按線程運(yùn)行Vuser?下面進(jìn)行分別來(lái)講:1.按進(jìn)程運(yùn)行Vuser:Controller將使用驅(qū)動(dòng)程序mdrv運(yùn)行Vuser。如果按進(jìn)程方式運(yùn)行每個(gè)Vuser,則對(duì)于每個(gè)Vuser實(shí)例,都將啟動(dòng)一個(gè)mdrv進(jìn)程。如果設(shè)置了10個(gè)Vuser,則在任務(wù)管理器中出現(xiàn)10個(gè)mdrv進(jìn)程。多個(gè)mdrv進(jìn)程肯定會(huì)占用大量?jī)?nèi)存及其他系統(tǒng)資源,這就限制了可以在任一負(fù)載生成器上運(yùn)行的Vuser的數(shù)量。2.按線程運(yùn)行Vuser:及設(shè)置了10個(gè)Vuser,其只會(huì)調(diào)用一個(gè)驅(qū)動(dòng)程序mdrv.而每個(gè)Vuser都按

35、線程運(yùn)行,這些線程Vuser將共享父進(jìn)程的內(nèi)存段。這就節(jié)省了大量?jī)?nèi)存控件,從而可以在一個(gè)負(fù)載生成器上運(yùn)行更多的Vuser。任何選擇都是有兩面性的。選擇線程方式運(yùn)行Vuser會(huì)帶來(lái)一些安全問(wèn)題。因?yàn)榫€程的資源是從進(jìn)程資源中分配出來(lái)的,因此同一個(gè)進(jìn)程中的多個(gè)線程會(huì)有共享的內(nèi)存空間,這樣可能會(huì)引起多個(gè)線程的同步問(wèn)題,調(diào)度不好,就會(huì)出問(wèn)題,不如A線程要用的資源就必須等待B線程釋放,而B(niǎo)也在等待其他資源釋放才能繼續(xù)。這就會(huì)出現(xiàn)這樣的問(wèn)題:同一個(gè)測(cè)試場(chǎng)景,用線程并發(fā)就會(huì)超時(shí)失敗或報(bào)錯(cuò),而用進(jìn)程并發(fā)就沒(méi)錯(cuò)。雖然會(huì)有區(qū)別,但兩種方式的運(yùn)行都會(huì)給服務(wù)端造成的壓力是一樣的。64. loadrunner如何遍歷一個(gè)

36、頁(yè)面中的url并進(jìn)行訪問(wèn)?65. HTML-Based scrpt 和URL-Based scrpt 錄制的區(qū)別?基于瀏覽器的應(yīng)用程序推薦使用HTML-Based scrpt。不是基于瀏覽器的應(yīng)用程序推薦使用URL-Based scrpt。如果基于瀏覽器的應(yīng)用程序中包含了Java scrpt并且該腳本 向服務(wù)器產(chǎn)生了請(qǐng)求,比如DataGrid的分頁(yè)按鈕等,也要使用URL-Based scrpt方式錄制。基于瀏覽器的應(yīng)用程序中使用了HTTPS安全協(xié)議,使用URL-Based scrpt方式錄制。錄制過(guò)程中不要使用瀏覽器的“后退”功能,LoadRunner對(duì)其支持不太好。66. 本次通過(guò)loadR

37、unner錄制SQL Server介紹一下如何測(cè)試一個(gè)sql語(yǔ)句或存儲(chǔ)過(guò)程的執(zhí)行性能。主要分如下幾個(gè)步驟完成:第一步、測(cè)試準(zhǔn)備第二步、配置ODBC數(shù)據(jù)源第三步、錄制SQL語(yǔ)句在Sql Server查詢分析器中的運(yùn)行過(guò)程第四步、優(yōu)化錄制腳本,設(shè)置事務(wù)第五步、改變查詢數(shù)量級(jí)查看SQL語(yǔ)句的性能第六步、在controller中運(yùn)行腳本67. LoadRunner如何創(chuàng)建腳本?啟動(dòng)VuGen:選擇需要新建的協(xié)議腳本,可以創(chuàng)建單協(xié)議,或是多協(xié)議腳本2.點(diǎn)擊Start Record按鈕,輸入程序地址,開(kāi)始進(jìn)行錄制3.使用VuGen進(jìn)行錄制:創(chuàng)建的每個(gè) Vuser 腳本都至少包含三部分:vuser_init

38、、一個(gè)或多個(gè) Actions 及vuser_end。錄制期間,可以選擇腳本中 VuGen 要插入已錄制函數(shù)的部分。運(yùn)行多次迭代的Vuser 腳本時(shí),只有腳本的Actions部分重復(fù),而vuser_init和vuser_end部分將不重復(fù)68. LoadRunner如何設(shè)置Recording Options 選項(xiàng)?(以單協(xié)議http/html為例)1.菜單tools->Recording Options進(jìn)入錄制的設(shè)置窗體2.Recording標(biāo)簽頁(yè):選用哪種錄制方式3.Browser標(biāo)簽頁(yè):瀏覽器的選擇4.Recording Proxy 標(biāo)簽頁(yè):瀏覽器上的代理設(shè)置5.Advanced 標(biāo)簽

39、頁(yè):可以設(shè)置錄制時(shí)的think time,支持的字符集標(biāo)準(zhǔn)等6.Correlation標(biāo)簽頁(yè):手工設(shè)置關(guān)聯(lián),通過(guò)關(guān)聯(lián)可在測(cè)試執(zhí)行過(guò)程中保存動(dòng)態(tài)值。使用這些設(shè)置可以配置 VuGen 在錄制過(guò)程中執(zhí)行的自動(dòng)關(guān)聯(lián)的程度。69. LoadRunner如何選擇協(xié)議?LoadRunner屬于應(yīng)用在客戶端的測(cè)試工具,在客戶端模擬大量并發(fā)用戶去訪問(wèn)服務(wù)器,從而達(dá)到給服務(wù)器施加壓力的目的。所以說(shuō)LoadRunner模擬的就是客戶端,其腳本代表的是客戶端用戶所進(jìn)行的業(yè)務(wù)操作,即只要腳本能表示用戶的業(yè)務(wù)操作就可以。1.LR支持多種協(xié)議,請(qǐng)大家一定要注意,這個(gè)地方協(xié)議指的是你的Client端通過(guò)什么協(xié)議訪問(wèn)的Serv

40、er,Client一般是面向最終使用者的,Server是第一層Server端,因?yàn)楝F(xiàn)在的體系架構(gòu)中經(jīng)常Server層也分多個(gè)層次,什么應(yīng)用層,什么數(shù)據(jù)層等等,LR只管Client如何訪問(wèn)第一層Server.2.特別要注意某些應(yīng)用,例如一個(gè)Web系統(tǒng),這個(gè)系統(tǒng)是通過(guò)ActiveX控件來(lái)訪問(wèn)后臺(tái)的,IE只是一個(gè)容器,而ActiveX控件訪問(wèn)后臺(tái)是通過(guò)COM/DCOM協(xié)議的,這種情況就不能使用Web協(xié)議,否則你什么也錄制不到,所以,LR工程師一定要了解應(yīng)用程序的架構(gòu)和使用的技術(shù)。 3. 象HTTPS,一般來(lái)講一定要選擇多協(xié)議,但在選擇具體協(xié)議的時(shí)候一定只選Web協(xié)議,這時(shí)候才能作那個(gè)端口映射。n通常

41、協(xié)議選擇1.對(duì)于常見(jiàn)的B/S系統(tǒng),選擇Web(Http/Html)2.測(cè)一個(gè)C/S系統(tǒng),根據(jù)C/S結(jié)構(gòu)所用到的后臺(tái)數(shù)據(jù)庫(kù)來(lái)選擇不同的協(xié)議,如果后臺(tái)數(shù)據(jù)庫(kù)是sybase,則采用sybaseCTlib協(xié)議,如果是SQL server,則使用MS SQL server的協(xié)議,至于oracle 數(shù)據(jù)庫(kù)系統(tǒng),當(dāng)然就使用Oracle 2-tier協(xié)議。3.對(duì)于沒(méi)有數(shù)據(jù)庫(kù)的C/S(ftp,smtp)這些可以選擇Windwos Sockets協(xié)議。4.至于其他的ERP,EJB(需要ejbdetector.jar),選擇相應(yīng)的協(xié)議即可.5. 一般可以使用Java vuser協(xié)議錄制由java編寫的C/S模式的軟

42、件, ,當(dāng)其他協(xié)議都沒(méi)有用時(shí),只能使用winsocket協(xié)議70. Loadrunner支持哪些常用協(xié)議?Web(HTTP/HTML)S 協(xié)議web services常用數(shù)據(jù)庫(kù)協(xié)議(ODBC,ORACLE,SQLSERVER 等)郵件(SMTP、pop3)其它協(xié)議71. 性能測(cè)試的類型都有哪些?負(fù)載測(cè)試(Load Test)通過(guò)逐步增加系統(tǒng)負(fù)載,測(cè)試系統(tǒng)性能的變化,并最終確定在滿足性能指標(biāo)的情況下,系統(tǒng)所能承受的最大負(fù)載量的測(cè)試。壓力測(cè)試(Stress Test)通過(guò)逐步增加系統(tǒng)負(fù)載,測(cè)試系統(tǒng)性能的變化,并最終確定在什么負(fù)載條件下系統(tǒng)性能處于失效狀態(tài),并以此來(lái)獲得系統(tǒng)能夠提

43、供的最大服務(wù)級(jí)別的測(cè)試。壓力測(cè)試是一種特定類型的負(fù)載測(cè)試。疲勞強(qiáng)度測(cè)試通常是采用系統(tǒng)穩(wěn)定運(yùn)行情況下能夠支持的最大并發(fā)用戶數(shù)或者日常運(yùn)行用戶數(shù),持續(xù)執(zhí)行一段時(shí)間業(yè)務(wù),通過(guò)綜合分析交易執(zhí)行指標(biāo)和資源監(jiān)控指標(biāo)來(lái)確定系統(tǒng)處理最大工作量強(qiáng)度性能的過(guò)程。疲勞強(qiáng)度測(cè)試可以反映出系統(tǒng)的性能問(wèn)題,例如內(nèi)存泄漏等。大容量測(cè)試(Volume Test)對(duì)特定存儲(chǔ)、傳輸、統(tǒng)計(jì)、查詢業(yè)務(wù)的測(cè)試。72. Loadrunner常用的分析點(diǎn)都有哪些?Vusers:提供了生產(chǎn)負(fù)載的虛擬用戶運(yùn)行狀態(tài)的相關(guān)信息,可以幫助我們了解負(fù)載生成的結(jié)果。Rendezvous(負(fù)載過(guò)程中集合點(diǎn)下的虛擬用戶):當(dāng)設(shè)置集合點(diǎn)后會(huì)生成相關(guān)數(shù)據(jù),反映

44、了隨著時(shí)間的推移各個(gè)時(shí)間點(diǎn)上并發(fā)用戶的數(shù)目,方便我們了解并發(fā)用戶的變化情況。Errors(錯(cuò)誤統(tǒng)計(jì)):通過(guò)錯(cuò)誤信息可以了解錯(cuò)誤產(chǎn)生的時(shí)間和錯(cuò)誤類型,方便定位產(chǎn)生錯(cuò)誤的原因。Errors per Second(每秒錯(cuò)誤):了解在每個(gè)時(shí)間點(diǎn)上錯(cuò)誤產(chǎn)生的數(shù)目,數(shù)值越小越好。通過(guò)統(tǒng)計(jì)數(shù)據(jù)可以了解錯(cuò)誤隨負(fù)載的變化情況,定為何時(shí)系統(tǒng)在負(fù)載下開(kāi)始不穩(wěn)定甚至出錯(cuò)。Average Transaction Response Time(平均事務(wù)響應(yīng)時(shí)間):反映隨著時(shí)間的變化事務(wù)響應(yīng)時(shí)間的變化情況,時(shí)間越小說(shuō)明處理的速度越快。如果和用戶負(fù)載生成圖合并,就可以發(fā)現(xiàn)用戶負(fù)載增加對(duì)系統(tǒng)事務(wù)響應(yīng)時(shí)間的影響規(guī)律。Transac

45、tions per Second(每秒事務(wù)):TPS吞吐量,反映了系統(tǒng)在同一時(shí)間內(nèi)能處理事務(wù)的最大能力,這個(gè)數(shù)據(jù)越高,說(shuō)明系統(tǒng)處理能力越強(qiáng)。Transactions Summary(事務(wù)概要說(shuō)明)統(tǒng)計(jì)事物的Pass數(shù)和Fail數(shù),了解負(fù)載的事務(wù)完成情況。通過(guò)的事務(wù)數(shù)越多,說(shuō)明系統(tǒng)的處理能力越強(qiáng);失敗的事務(wù)數(shù)越小說(shuō)明系統(tǒng)越可靠。Transaction performance Summary(事務(wù)性能概要):事務(wù)的平均時(shí)間、最大時(shí)間、最小時(shí)間柱狀圖,方便分析事務(wù)響應(yīng)時(shí)間的情況。柱狀圖的落差越小說(shuō)明響應(yīng)時(shí)間的波動(dòng)小,如果落差很大,說(shuō)明系統(tǒng)不夠穩(wěn)定。Transaction Response Time

46、Under Load(用戶負(fù)載下事務(wù)響應(yīng)時(shí)間):負(fù)載用戶增長(zhǎng)的過(guò)程中響應(yīng)時(shí)間的變化情況,該圖的線條越平穩(wěn),說(shuō)明系統(tǒng)越穩(wěn)定。Transactions Response time(事務(wù)響應(yīng)時(shí)間百分比):不同百分比下的事務(wù)響應(yīng)時(shí)間范圍,可以了解有多少比例的事物發(fā)生在某個(gè)時(shí)間內(nèi),也可以發(fā)現(xiàn)響應(yīng)時(shí)間的分布規(guī)律,數(shù)據(jù)越平穩(wěn)說(shuō)明響應(yīng)時(shí)間變化越小。Transaction Response Time(各時(shí)間段上的事務(wù)數(shù)):每個(gè)時(shí)間段上的事務(wù)個(gè)數(shù),響應(yīng)時(shí)間較小的分類下的是無(wú)數(shù)越多越好。Hits per Second(每秒點(diǎn)擊):當(dāng)前負(fù)載重對(duì)系統(tǒng)所產(chǎn)生的點(diǎn)擊量記錄,每一次點(diǎn)擊相當(dāng)于對(duì)服務(wù)器發(fā)出了一次請(qǐng)求,數(shù)據(jù)越大越

47、好。Throughput(吞吐量):系統(tǒng)負(fù)載下所使用的帶寬,該數(shù)據(jù)越小說(shuō)明系統(tǒng)的帶寬依賴就越小,通過(guò)這個(gè)數(shù)據(jù)可以確定是不是網(wǎng)絡(luò)出現(xiàn)了瓶頸。HTTP Responses per Second(每秒HTTP響應(yīng)):每秒服務(wù)器返回各種狀態(tài)的數(shù)目,一般和每秒點(diǎn)擊量相同。點(diǎn)擊量是客戶端發(fā)出的請(qǐng)求數(shù),而HTTP響應(yīng)數(shù)是服務(wù)器返回的響應(yīng)數(shù)。如果服務(wù)器的響應(yīng)數(shù)小于點(diǎn)擊量,那么說(shuō)明服務(wù)器無(wú)法應(yīng)答超出負(fù)載的連接請(qǐng)求。Connections per Second(每秒連接):統(tǒng)計(jì)終端的連接和新建的連接數(shù),方便了解每秒對(duì)服務(wù)器產(chǎn)生連接的數(shù)量。同時(shí)連接數(shù)越多,說(shuō)明服務(wù)器的連接池越大,當(dāng)連接數(shù)隨著負(fù)載上升而停止時(shí),說(shuō)明系

48、統(tǒng)的連接池已滿,通常這時(shí)候服務(wù)器會(huì)返回504錯(cuò)誤。需要修改服務(wù)器的最大連接來(lái)解決該問(wèn)題。LoadRunner不執(zhí)行檢查方法怎么解決? 在錄制Web協(xié)議腳本中添加了檢查方法Web_find,但是在腳本回放的過(guò)程中并沒(méi)有執(zhí)行。錯(cuò)誤現(xiàn)象:在腳本中插入函數(shù)Web_find,在腳本中設(shè)置文本以及圖像的檢查點(diǎn),但是在回放過(guò)程中并沒(méi)有對(duì)設(shè)置的檢查點(diǎn)進(jìn)行檢查,即Web_find失效。錯(cuò)誤分析:由于檢查功能會(huì)消耗一定的資源,因此LoadRunner默認(rèn)關(guān)閉了對(duì)文本以及圖像的檢查,所以在設(shè)置檢查點(diǎn)后,需要開(kāi)啟檢查功能。解決辦法:打開(kāi)運(yùn)行環(huán)境設(shè)置對(duì)話框進(jìn)行設(shè)置,在“Run-time Settings”的“Inter

49、net Protocol”選項(xiàng)里的“Perference”中勾選“Check”下的“Enable Image and text check”選項(xiàng)。73. 并發(fā)用戶數(shù)是什么?跟在線用戶數(shù)什么關(guān)系? 并發(fā)主要是針對(duì)服務(wù)器而言,是否并發(fā)的關(guān)鍵是看用戶操作是否對(duì)服務(wù)器產(chǎn)生了影響。因此,并發(fā)用戶數(shù)量的正確理解為:在同一時(shí)刻與服務(wù)器進(jìn)行了交互的在線用戶數(shù)量,這種交互既可以是單向的傳輸數(shù)據(jù),也可以是雙向的傳送數(shù)據(jù)。并發(fā)用戶數(shù)是指系統(tǒng)運(yùn)行期間同一時(shí)刻進(jìn)行業(yè)務(wù)操作的用戶數(shù)量。該數(shù)量取決于用戶操作習(xí)慣、業(yè)務(wù)操作間隔和單筆交易的響應(yīng)時(shí)間。使用頻率較低的應(yīng)用系統(tǒng)并發(fā)用戶數(shù)一般為在線用戶數(shù)的5%左右。使用頻率較高的應(yīng)用

50、系統(tǒng)并發(fā)用戶數(shù)一般為主線用戶數(shù)的10%左右74. LoadRunner請(qǐng)求無(wú)法找到如何解決?在錄制Web協(xié)議腳本回放腳本的過(guò)程中,會(huì)出現(xiàn)請(qǐng)求無(wú)法找到的現(xiàn)象,而導(dǎo)致腳本運(yùn)行停止。錯(cuò)誤現(xiàn)象:Action.c(41): Error -27979: Requested form. not found MsgId: MERR-27979Action.c(41): web_submit_form. highest severity level was “ERROR”,0 body bytes, 0 header bytes MsgId: MMSG-27178”這時(shí)在tree view中看不到此組件的相關(guān)U

51、RL。錯(cuò)誤分析:所選擇的錄制腳本模式不正確,通常情況下,基于瀏覽器的Web應(yīng)用會(huì)使用“HTML-based script”模式來(lái)錄制腳本;而沒(méi)有基于瀏覽器的Web應(yīng)用、Web應(yīng)用中包含了與服務(wù)器進(jìn)行交互的Java Applet、基于瀏覽器的應(yīng)用中包含了向服務(wù)器進(jìn)行通信的JavaScript/VBScript代碼、基于瀏覽器的應(yīng)用中使用HTTPS安全協(xié)議,這時(shí)則使用“URL-based script”模式進(jìn)行錄制。解決辦法:打開(kāi)錄制選項(xiàng)配置對(duì)話框進(jìn)行設(shè)置,在“Recording Options”的“Internet Protocol”選項(xiàng)里的“Recording”中選擇“Recording Le

52、vel”為“HTML-based script”,單擊“HTML Advanced”,選擇“Script. Type”為“A script. containing explicit”。然后再選擇使用“URL-based script”模式來(lái)錄制腳本。75. LoadRunner HTTP服務(wù)器狀態(tài)代碼都有哪些?如何解決?在錄制Web協(xié)議腳本回放腳本的過(guò)程中,會(huì)出現(xiàn)HTTP服務(wù)器狀態(tài)代碼,例如常見(jiàn)的頁(yè)面-404錯(cuò)誤提示、-500錯(cuò)誤提示。錯(cuò)誤現(xiàn)象1:-404 Not Found服務(wù)器沒(méi)有找到與請(qǐng)求URI相符的資源,但還可以繼續(xù)運(yùn)行直到結(jié)束。錯(cuò)誤分析:此處與請(qǐng)求URI相符的資源在錄制腳本時(shí)已經(jīng)被提

53、交過(guò)一次,回放時(shí)不可再重復(fù)提交同樣的資源,而需要更改提交資源的內(nèi)容,每次回放一次腳本都要改變提交的數(shù)據(jù),保證模擬實(shí)際環(huán)境,造成一定的負(fù)載壓力。解決辦法:在出現(xiàn)錯(cuò)誤的位置進(jìn)行腳本關(guān)聯(lián),在必要時(shí)插入相應(yīng)的函數(shù)。錯(cuò)誤現(xiàn)象2:-500 Internal Server Error服務(wù)器內(nèi)部錯(cuò)誤,腳本運(yùn)行停止。錯(cuò)誤分析:服務(wù)器碰到了意外情況,使其無(wú)法繼續(xù)回應(yīng)請(qǐng)求。解決辦法:出現(xiàn)此錯(cuò)誤是致命的,說(shuō)明問(wèn)題很嚴(yán)重,需要從問(wèn)題的出現(xiàn)位置進(jìn)行檢查,此時(shí)需要此程序的開(kāi)發(fā)人員配合來(lái)解決,而且產(chǎn)生的原因根據(jù)實(shí)際情況來(lái)定,測(cè)試人員無(wú)法單獨(dú)解決問(wèn)題,而且應(yīng)該盡快解決,以便于后面的測(cè)試76. HTTP的超時(shí)有哪三種?HTTP-

54、request connect timeout、HTTP-request receive timeout、step download timeout77. 在什么地方設(shè)置HTTP頁(yè)面filter?在runtime_settings中download filter里面進(jìn)行設(shè)置。78. 如何設(shè)置可以讓一個(gè)虛擬IP對(duì)應(yīng)到一個(gè)Vuser?利用線程和進(jìn)程做中介,邏輯上的對(duì)應(yīng)。選中Expert Mode,設(shè)置Options中的General79. 什么是contentcheck?如何來(lái)用?ContentCheck的設(shè)置是為了讓VuGen 檢測(cè)何種頁(yè)面為錯(cuò)誤頁(yè)面。如果被測(cè)的Web 應(yīng)用沒(méi)有使用自定義的錯(cuò)誤頁(yè)

55、面,那么這里不用作更改;如果被測(cè)的Web 應(yīng)用使用了自定義的錯(cuò)誤頁(yè)面,那么這里需要定義,以便讓VuGen 在運(yùn)行過(guò)程中檢測(cè),服務(wù)器返回的頁(yè)面是否包含預(yù)定義的字符串,進(jìn)而判斷該頁(yè)面是否為錯(cuò)誤頁(yè)面。如果是,VuGen就停止運(yùn)行,指示運(yùn)行失敗。使用方法:點(diǎn)擊在runtime settings中點(diǎn)擊“contentcheck”,然后新建立一個(gè)符合要求的應(yīng)用程序和規(guī)則,設(shè)定需要查找的文本和前綴后綴即可使用。80. network中的speed simulation是模擬的什么帶寬?模擬用戶訪問(wèn)速度的帶寬。81. 生成WEB性能圖有什么意義?大概描述即可??梢院苤庇^的看到,在負(fù)載下系統(tǒng)的運(yùn)行情況以及各種資

56、源的使用情況,可以對(duì)系統(tǒng)的性能瓶頸定位、性能調(diào)優(yōu)等起到想要的輔助作用。82. WAN emulation是模擬什么的?可以很直觀的看到,在負(fù)載下系統(tǒng)的運(yùn)行情況以及各種資源的使用情況,可以對(duì)系統(tǒng)的性能瓶頸定位、性能調(diào)優(yōu)等起到想要的輔助作用。83. 如何設(shè)置才能讓集合點(diǎn)只對(duì)一半的用戶生效?84. 在設(shè)置windows資源圖監(jiān)控的時(shí)候,用到的是什么端口和協(xié)議?在這一過(guò)程中,會(huì)有大概哪些問(wèn)題?(大概描述)microsoft-ds :445 ;要有權(quán)限、開(kāi)啟服務(wù)。樹(shù)視圖和腳本視圖各有什么優(yōu)點(diǎn)?85. 需要關(guān)聯(lián)的數(shù)據(jù)怎么確定?86.87. 樹(shù)視圖和腳本視圖各有什么優(yōu)點(diǎn)?Tree View的好處是使用戶更方

57、便地修改腳本,Tree View支持拖拽,用戶可以把任意一個(gè)節(jié)點(diǎn)拖拽到他想要的地方,從而達(dá)到修改腳本的目的。用戶可以右鍵單擊節(jié)點(diǎn),進(jìn)行修改/刪除當(dāng)前函數(shù)參數(shù)屬性,增加函數(shù)等操作,通過(guò)Tree View能夠增加LoadRunner提供的部分常用通用函數(shù)和協(xié)議相關(guān)函數(shù)。Script View適合一些高級(jí)用戶,在Script View中能夠看到一行行的API函數(shù),通過(guò)Script View向腳本中增加一些其他API函數(shù),對(duì)會(huì)編程的高手來(lái)說(shuō)很方便88. LR中的API分為幾類?:通用的:,就是跟具體的協(xié)議無(wú)關(guān),在任何協(xié)議的腳本里都能用的;:針對(duì)協(xié)議的:像lrs前綴是winsock的;lrd的是針對(duì)database;:自定義的:這個(gè)范圍就比較廣了;89. 解釋以下函數(shù)及他們的不同之處。 Lr_debug_messageLr_output_messageLr_error_m

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論