日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

接口测试 Jmeter面试题

發布時間:2023/12/31 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 接口测试 Jmeter面试题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、接口測試

1、接口測試流程

1、首先是從開發那里拿到API接口文檔,了解接口業務、包括接口地址、請求方式,入參、出參,token鑒權,返回格式等信息。
2、然后使用Postman或Jmeter工具執行接口測試,一般使用Jmeter的步驟是這樣的:
 a、首先新建一個線程組。
 b、然后就是新建一個HTTP請求默認值。(輸入接口服務器IP和端口)
 c、再新建很多HTTP請求,一個請求一個用例。(輸入接口路徑,訪問方式,參數等)
 d、然后創建斷言和查看結果樹。
3、最后調試并執行用例,最后編寫接口測試報告
4、其實我們做接口的時候也碰到了蠻多的問題,都是自己獨立解決的,比如返回值亂碼(修改jmeter的配置文件為UTF-8編碼方式),比如需要登錄后才能取得token鑒權碼并且這個鑒權碼在下面的請求中需要用到(使用正則表達式提取器提取token的值等。

2、請簡述一下cookie、session以及token的區別:

(1)cookie數據存放在客戶的瀏覽器上,session數據放在服務器上。而token是接口測試時的鑒權碼,一般情況下登陸后才可以獲取到token,然后在每次請求接口時需要帶上token參數。
(2)cookie不是很安全,別人可以分析存放在本地的cookie并進行cookie欺騙,考慮到安全應當使用session,session會在一定時間內保存在服務器上。當訪問增多,會比較占用你服務器的性能,考慮到減輕服務器性能方面應當使用cookie
(3)可以將登陸信息等重要信息存放為session;其他信息需要保存,可以放在cookie

3、接口測試如何設計測試用例?

接口測試一般考慮入參形式的變化和接口的業務邏輯,一般設計接口測試用例采用等價類、邊界值、場景法居多!

接口測試設計測試用例的思路如下:
1、接口業務邏輯測試?(正例)
接口邏輯測試是指根據業務邏輯、輸入參數、輸出值的描述,對正常輸入情況下所得的輸出值
是否正確的測試,也就是測試對外提供的接口服務是否正常工作。
2、模塊接口測試?(反例)
模塊接口測試是為了保證數據的安全及程序在異常情況下的邏輯的正確性而進行的測試。
模塊接口測試的主要包括以下幾個方面:?
1)鑒權碼token異常(鑒權碼為空<沒有鑒權碼>,錯誤的鑒權碼,過期的鑒權碼)。
2)其他參數異常:
a、必填項檢查
b、參數的長度、類型、格式異常:
常規參數:(數字、字符串、日期)
參數長度:6-18位。或身份證、電話的長度。
參數類型:數字(精度),字母,中文,帶空格的參數,特殊字符。
日期格式:日期:年月日,年月日時分秒,日期格式(包括/,-,:等)。
3)錯誤碼異常覆蓋。
4)接口測試其他的關注點
接口有翻頁時,頁碼與頁數的異常值測試
數據庫的增刪改查,比如一個post接口操作完成后,通過列表頁接口看下新的數據是否和剛才的post一致
接口返回的圖片地址能否打開,圖片尺寸是否符合需求
當輸出參數有聯動性時,需要校驗返回兩參數的實際結果是否都符合需求。
所有列表頁接口必須考慮排序值
所有功能都要考慮兼容舊版本

4、接口測試執行中比對數據庫嗎?

需要,因為接口返回值的數據來源于數據庫,接口對數據的操作還要進行深層次的數據庫檢查!

5、為什么開展接口測試?

a、接口測試屬于集成測試、測試介入越早、就越能在項目早期發現問題,其修復問題的成本越低
b、接口測試非常快速、UI自動化執行一個測試用例10S左右、接口測試用例執行的話,需要的時間是毫秒級的

7、之前用過抓包工具沒有?如何使用的?

之前在項目中用過fiddler抓包工具進行HTTP協議請求的抓取
打開fiddler之后,默認瀏覽器配置了127.0.0.1 8888端口的代理,在fiddler設置好過濾策略后,打開需要進行抓包的網站進行操作,就可以進行抓包

8、json數據是什么,你平時如何解析json數據?

一種開發常用的數據報文格式,由鍵值對和數組兩種格式構成。可以通過工具bejson網站等

9、postman參數化有哪幾種方式?

內建變量、pre-scripts編寫js腳本、批量運行時導入csv或json格式的文件

10、在接口測試中關聯是什么含義?如何用postman設置關聯?

關聯就是把上一個接口返回值的部分截取出來,作為下一個接口的參數,能讓接口串聯運行
在postman中設置關聯的步驟如下:

  • 先通過正則表達式提取的方式或json取值的方式把下一個接口需要的信息從上一個接口截取出來
  • 使用設置全局變量的代碼把取出來的值保存到全局變量
  • 在下一個接口中,使用{{全局變量}}代替要替換的靜態值
  • 二、Jmet

    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提供性能測試方面的優勢,例如:
      用于測試靜態資源和動態資源的性能;
      可用于測試網站最大并發用戶數,從而分析定位網站瓶頸;
      提供了性能報告的圖形化分析;

    24、jmeter參數化的方式有哪幾種可以實現?

  • 配置元件—用戶定義的變量元件可以設置全局變量
  • 函數助手對話框中可以選擇比如隨機字符串、隨機日期、隨機數字作為參數化
  • 可以使用csv文件作為參數化,通過配置元件中的csv data set config元件進行設置即可
  • 三、參考鏈接

    • 接口測試
    • Jmeter面試題

    總結

    以上是生活随笔為你收集整理的接口测试 Jmeter面试题的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。