1.解釋什么是jmeter?
jmeter是一款java開源工具,用於性能負載測試。它旨在分析和衡量web應用程序和各種服務的性能和負載功能行為。
2.說明jmeter的工作原理?
jmeter就像一群將請求發送到目標服務器的用戶一樣。它收集來自目標服務器的響應以及其他統計數據,這些統計數據通過圖形或表格顯示應用程序或服務器的性能。
3.說明可以在哪里使用函數和變量?
變量和函數可以寫入任何測試組件的任何字段。
4.提到jmeter中的正則表達式是什么?
根據模式(patterns),使用正則表達式搜索和操作文本。jmeter可用於解釋在整個jmeter測試計划中使用的正則表達式或模式的形式。
5.解釋什么是采樣器(Samplers)和線程組(Thread group)?
線程組:對於任何測試計划,線程組元件都是JMeter的開始部分。這是JMeter的重要元件,你可以在其中設置多個用戶和時間來加載線程組中給出的所有用戶。
采樣器:采樣器生成一個或多個采樣結果;這些采樣結果具有許多屬性,例如經過時間、數據大小等。采樣器允許JMeter通過采樣器將特定類型的請求發送到服務器,線程組決定需要發出的請求類型。一些有用的采樣器包括HTTP請求、FTP請求、JDBC請求等等。
6、使用JMeter構建的測試計划是否依賴於操作系統?
通常,測試計划以XML格式保存,因此與任何特定的操作系統都沒有關系。它可以在JMeter可以運行的任何操作系統上運行。
7、提到JMeter中處理器的類型是什么?
JMeter中的處理器類型為:①預處理器;②后處理器。
8、解釋什么是預置處理器元件?列出一些預處理器元件?
預置處理器是在采樣器執行之前發生的事情。為了在執行采樣請求之前對其進行配置,或者用於更新未從響應文本中提取的變量,需要使用預處理器元件。
一些預處理器元件是:
- HTTP URL重寫修飾符
- HTTP用戶參數修飾符
- HTML鏈接解析器
- BeanShell PreProcessor
9、是否提到測試元件的執行順序?
測試計划元件的執行順序為:
配置元件 -> 前置處理器 -> 計時器 -> 取樣器 -> 后置處理器 -> 斷言 -> 監聽器
10、正則表達式中的“包含”和“匹配”表示什么?
在正則表達式中,contains表示正則表達式與目標的至少一部分匹配。匹配表示正則表達式匹配整個目標。如“alphabet”與“al.*t”匹配。
11、解釋什么是配置元件?
配置元件與采樣器並行工作。要設置默認值和變量以供采樣器以后使用,可以使用配置元件。在合並范圍的開始,將先處理這些元件,然后再處理同一合並范圍中的任何采樣器。
12、說明JMeter中的計時器是什么,計時器的類型是什么?
默認情況下,JMeter線程將連續發送請求而不會暫停。為了在請求之間暫停,使用了計時器。使用的一些計時器包括恆定計時器,高斯隨機計時器,同步計時器,均勻隨機計時器等。
13、解釋什么是測試片段?
測試片段也是一種元件,例如“線程組”元件。唯一的區別是,除非模塊控制器或包含控制器引用了測試片段,否則不會實現測試片段。
14、解釋什么是JMeter中的斷言?斷言的類型有哪些?
斷言有助於驗證被測服務器是否返回了預期結果。
JMeter中一些常用的斷言是:
- 響應斷言
- 持續時間斷言
- 大小斷言(Size Assertion)
- XML斷言
- HTML斷言
15、說明如何減少JMeter中的資源需求?
①使用非GUI模式執行測試,如 jmeter –n –t test.jmx –l test.jtl
②在加載期間,測試不使用“查看結果樹”或“查看表中的結果”監聽器,僅在腳本編寫階段使用它們;
③不要使用功能模式;
④與其使用大量相似的采樣器,不如在循環中使用相同的采樣器,並使用變量來改變采樣;
16、解釋如何在JMeter中執行尖峰測試(Spike testing)?
通過同步,可以實現計時器JMeter尖峰測試。同步計時器將阻塞線程,直到阻塞了特定數量的線程,然后將它們全部釋放,從而產生了巨大的瞬時負載。
小貼士:尖峰測試 也可以稱為沖擊測試,反復沖擊服務器。指的是在某一瞬間或者多個頻次下用戶數和壓力陡然增加的場景。
17、解釋如何在JMeter中捕獲身份驗證窗口的腳本?
通常,可以通過錄制來捕獲腳本:
首先,必須在Testplan(測試計划)中使用 Threadgroup,然后在 Workbench(工作台) 中使用HTTP代理服務器;
之后,在“全局設置”框中設置端口號(如8911),然后在 IE高級選項>連接>局域網設置中 開啟 代理設置,並將地址修改為localhost,端口改為8911。
然后,HTTP代理服務器中選擇 目標控制器 Testplan>Threadgroup,然后啟動HTTP代理服務器並運行應用進行登錄。
18)列出幾個JMeter監聽器?
一些JMeter監聽器是:
- 集合報告
- 匯總報告
- 查看結果樹
- 用表格查看結果
- 圖形結果
- BeanShell Listener
- 摘要報告等
19、什么是分布式負載測試?如何實現?
分布式負載測試是整個系統可以用來模擬大量用戶負載的過程。通過使用主從配置,JMeter可以進行分布式負載測試。
20、在JMeter中是否有必要顯式調用嵌入式資源?
你可以消除所有嵌入式資源的顯式調用。請求底部有一個復選框,顯示“檢索嵌入式資源(retrieve embedded resources.)”。它會捕獲所有CSS、JPG等。這是在Web應用中查找資源和斷開鏈接的絕妙方法。
21、解釋計時器(Timer)在JMeter中的作用是什么?
在計時器的幫助下,JMeter可以延遲線程發出的每個請求之間的時間。它可以解決服務器的過載問題。
22、解釋什么是后置處理器?
要在發出請求后執行任何操作,則使用后處理器。例如,如果JMeter向Web服務器發送HTTP請求,並且如果你希望JMeter在Web服務器顯示錯誤時停止發送請求,那么你將使用后處理器執行此操作。
23、JMeter為性能測試提供什么好處?
JMeter提供性能測試方面的優勢,例如:
- 它可以用於測試靜態資源和動態資源的性能;
- 它可用於測試網站最大並發用戶數,從而分析定位網站瓶頸;
- 它提供了性能報告的圖形化分析;