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

下載本文檔

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

文檔簡介

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

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

3、中重點關注的指標。l TPS(Transaction Per Second) 每秒鐘系統(tǒng)能夠處理的交易或事務的數(shù)量。它是衡量系統(tǒng)處理能力的重要指標。TPS是LoadRunner中重要的性能參數(shù)指標。l 點擊率(Hit Per Second) 每秒發(fā)送的HTTP請求的數(shù)量;點擊率越大對Server的壓力越大l 資源利用率 對不同資源的使用程度,如CPU,I/O,內(nèi)存,3. 寫出5個Loadrunner中常用函數(shù),并對其中2個舉例說明用法。答案:字符串復制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ù)復制lr_save_string(lr_eval_string("Param"),"Param_1");參數(shù)轉(zhuǎn)為變量strcpy(str1,lr_eval_string("

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

30、需要在出錯時停止執(zhí)行腳本,你怎么做?53. 響應時間和吞吐量之間的關系是什么?當系統(tǒng)吞吐量未達到系統(tǒng)處理極限時,系統(tǒng)性能不會衰減,交易平均響應時間一般也不會遞增,當系統(tǒng)達到吞吐量極限時,客戶端交易會在請求隊列中排隊等待,等待的時間會記錄在響應時間中,故交易平均響應時間一般會遞增。54. 說明一下如何在LR中配置系統(tǒng)計數(shù)器?以windows資源監(jiān)控為例,可右鍵點“添加度量”,輸入系統(tǒng)IP、選擇平臺類型,確定即可,詳細參加LR自帶操作手冊_。對于監(jiān)控不同類型的操作系統(tǒng),需要做一些準備工作,可參見監(jiān)控操作系統(tǒng)資源部分。55. .如果web服務器、數(shù)據(jù)庫以及網(wǎng)絡都正常,問題會出在哪里?56. 如何發(fā)現(xiàn)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

50、系統(tǒng)并發(fā)用戶數(shù)一般為主線用戶數(shù)的10%左右74. LoadRunner請求無法找到如何解決?在錄制Web協(xié)議腳本回放腳本的過程中,會出現(xiàn)請求無法找到的現(xiàn)象,而導致腳本運行停止。錯誤現(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”這時在tree view中看不到此組件的相關U

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

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

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

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

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

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

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

溫馨提示

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

評論

0/150

提交評論