jmeter面試題及答案


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提供性能測試方面的優勢,例如:

    • 它可以用於測試靜態資源和動態資源的性能;
    • 它可用於測試網站最大並發用戶數,從而分析定位網站瓶頸;
    • 它提供了性能報告的圖形化分析;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM