接口自動化測試面試(高頻面試常問)+答案

目錄:導讀

    • 前言
    • 一、Python編程入門到精通
    • 二、接口自動化項目實戰
    • 三、Web自動化項目實戰
    • 四、App自動化項目實戰
    • 五、一線大廠簡歷
    • 六、測試開發DevOps體系
    • 七、常用自動化測試工具
    • 八、JMeter性能測試
    • 九、總結(尾部小驚喜)


前言

1、結合項目講解項目中實戰接口操作(postman和jmeter挑一個)

postman版本答案一:

我用的postman工具做的 接口測試的過程:首先我會問開發拿到接口文檔,編寫對應的接口測試用例,然后把對應的url地址,data信息,headers都放入到postman里面。

然后設置斷言,然后發送接口的請求,看一下接口是否斷言成功,對于一些關聯接口的測試,我會首先把登錄接口調通,然后拿到登錄接口返回的token值,通過在后置處理器tests里面把token設置為環境變量,然后在下一個接口的請求頭里面通過{{token}} 倆個大括號進行引用。

達到關聯接口的測試,如果是有參數化的接口測試,我首先會在本地創建一個CSV文件然后造對應的測試數據,在postman左側欄有一個run點擊一下,然后選擇本地對應的CSV文件,然后批量運行接口,看一下接口是否運行成功和是否斷言成功,完成參數化接口的測試。

postman版本答案二:
我用的postman工具做的,如果有接口文檔,我會問開發拿到接口文檔,如果沒有的話我會自己用fiddler抓包,編寫對應的接口測試用例,然后把對應的url地址,還有入參都放入到postman里面。

然后設置斷言,然后發送接口的請求,看一下接口是否調通并且斷言成功,對于一些關聯接口的測試,我會首先把上一個接口調通,然后拿到上一個接口的返回值,通過在tests里面把拿到的值,設置為環境變量,然后在下一個接口的請求頭里面通過倆個大括號進行引用。

達到關聯接口的測試,如果要批量運行接口的話,我會在左側欄集合里面點擊運行,然后設置迭代次數和選擇參數化文件進行運行,達到批量運行的目的。

jmeter版本:
首先我會問開發同事拿到接口文檔并且設計對應的測試用例,然后打開jmeter,創建一個測試計劃和線程組,添加http請求,把對應的URL地址,入參和端口都填寫進去,然后添加斷言和斷言結果,添加察看結果樹,發送請求。

如果是對于關聯接口的話我首先會把登錄接口調通然后設置一個jsonpath提取器或者正則表達式提取器,拿到登錄接口返回的token值,并且在http信息頭管理器里面通過${token}進行引用,完成關聯接口的測試。

對于需要做參數化的接口,首先我會在本地準備csv文件,然后在jmeter里面添加csv data set config,然后把本地的csv文件加載進來,點擊運行,查看接口通過的情況。

2、接口抓包工具的原理?介紹當前常見的接口測試工具,接口設計測試用例應該從哪些方面去考慮?你們1個接口可以寫多少條自動化測試用例?你測過多少個接口?總共有多少條接口自動化用例,每次運行時間要多久? 你們自動化和功能測試的占比是怎樣的?

1)常見的抓包工具:
fiddler、Charles、wrieshark(TCP/UDP)、瀏覽器F12開發者調試模式

2)抓包工具的原理:
fiddler作為一個代理服務器,代理的是本地,端口號8888,客戶端發送請求給到服務端,fiddler可以打請求前斷點進行攔截,修改請求的數據,然后發送給到服務端,服務端接收到數據進行處理并響應,然后fiddler可以打響應后斷點,修改響應后的數據,再把響應后的數據返回給到客戶端

打斷點:
① 全局斷點
② 單個斷點
請求前斷點 ==》bpu + 接口路徑 ==》取消斷點:bpu
響應前斷點 ==》bpafter +接口路徑 ==》取消斷點:bpafter

【面試題】你主要用fiddler來做什么?

答:用來抓包、打斷點–》那你還能用來做什么?–》還可以進行mock測試,弱網測試
–》為什么要打斷點?–》通過斷點修改請求參數和響應的內容來對接口進行正常場景和異常場景的測試

3)常見的接口測試工具
postman、jmeter、swagger(存接口)、apifox、apipost
Apifox = Postman + Swagger + Mock + JMeter
Apipost = Postman + Swagger + Mock + Jmeter
apifox、apipost ==》團隊協作更為鑒權
Postman ==》不登錄也是可以使用的
apifox ==》必須要掃碼登錄

4)接口設計測試用例應該從哪些方面去考慮【超級重點】

① 首先我會考慮接口入參的必填和選填,參數的長度校驗和類型校驗
② 不同的請求方法,比如把post換成get請求
③ 不同的請求的內容類型,比如表單鍵值對換成json字符串
④ 還會根據接口不同的返回值去設計不同的入參來進行覆蓋
⑤ 還會考慮接口之間的邏輯關系,比如關聯接口等等
⑥ 用戶無效的token或者錯誤的token進行鑒權
⑦ 還有需要考慮接口的冪等性
⑧ 還會考慮接口查詢數據的性能表現==》會不會有慢SQL等等的問題

5)你們1個接口可以寫多少條自動化測試用例?你測過多少個接口?總共有多少條接口自動化用例,每次運行時間要多久? 你們自動化和功能測試的占比是怎樣的?

1個接口大概寫8-10條自動化測試用例
之前項目組測了大概有100多個接口–》100個接口8-10條=800-1000條用例–》接口自動化測試用例寫了大概了1000多條–》10000.5秒每條=8-9分鐘

自動化和功能測試的占比–》功能和業務占到60-70%,UI和接口自動化以及性能占30%左右

3、對于接口冪等性你是怎么測試的?

冪等性的概念:接口冪等性就是用戶對同一個接口發起一次或多次請求的結果是一致的,不會因為多次請求而產生不同的結果

查:是有天然冪等,不需要再做額外的冪等
刪:也是有天然冪等的

更新操作–》數據庫鎖
1)數據庫悲觀鎖–》指的就是每次操作的時候,先把記錄鎖定起來,其他人無法操作這條記錄

2)數據庫樂觀鎖–》就是很樂觀,每次去拿數據的時候都認為別人不會修改,所以不會上鎖,但是在更新的時候會判斷一下在此期間別人有沒有去更新這個數據,可以使用版本號機制。

新增操作==》唯一索引
前端:如防止表單重復提交,按鈕置灰、隱藏、按鈕不可點擊等方式
后端:唯一索引

【面試題】你對接口冪等性是怎么測試的【重點】

答:我會在jmeter里面去組建接口,并且設置比如50個并發線程數,加入同步定時器(集合點)同時去對接口發起請求,如果只有一個接口能請求的通,其他的49次請求都是失敗的,就說明接口是做了冪等性校驗的

4、你給后端接口做冪等性校驗,那這個key(唯一索引)加在哪個字段上面?

電商項目:唯一索引加在訂單號上面
銀行貸款項目:貸款申請號,借據號上面
保險項目:保單號上面

5、在測試過程當中有沒有出現過資損的情況?怎么防止資損或者資損這塊怎么測

1)沒有出現過資損的情況
2)防止資損的技術手段:數據庫不用float等數據類型,用bigdecimal 或 decimal等數據類型 ==》比如3333.33 變成了3333.333333333333333333
==》有些除不盡的數據,比如10000分3期,第一期3333.33,第二期3333.33,第三期3333.34
==》通過對賬對金額和資損進行測試

6、mock和沙箱環境是什么意思

1)mock測試:
① 后端接口功能還沒有實現好,但是有需要用到這個還沒有開發完成的接口,就可以通過模擬接口的返回值,先進行mock數據測試;
② 測試一下第三方接口的時候,可以通過mock測試達到測試的目的

7、第三方接口是怎么測試的

1)如果對方有沙箱環境我們就使用第三方的沙箱環境進行測試
2)如果沒有,我們可以通過mock進行第三方接口的測試

最全Python自動化測試進階之路視頻教學 (全集)

下面是我整理的2025年最全的軟件測試工程師學習知識架構體系圖

一、Python編程入門到精通

請添加圖片描述

二、接口自動化項目實戰

請添加圖片描述

三、Web自動化項目實戰

請添加圖片描述

四、App自動化項目實戰

請添加圖片描述

五、一線大廠簡歷

請添加圖片描述

六、測試開發DevOps體系

請添加圖片描述

七、常用自動化測試工具

請添加圖片描述

八、JMeter性能測試

請添加圖片描述

九、總結(尾部小驚喜)

人生最耀眼的不是站在領獎臺的瞬間,而是黑暗中依然前行的勇氣。當你覺得疲憊不堪時,請記住:每個偉大的轉折都藏在"再堅持一下"的決定里。你的腳步,正在丈量屬于自己的傳奇!

別被眼前的迷霧困住腳步!那些看似徒勞的努力,都在為驚喜的綻放積蓄力量。當世界說"到此為止"時,你的堅持就是最響亮的回答。向前奔跑吧,生命的精彩正在下一站等你!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/86266.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/86266.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/86266.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Kubernetes 從入門到精通-StatefulSet控制器

一、StatefulSet 基礎概念 1. 與 Deployment 的關鍵區別 特性StatefulSetDeployment網絡標識穩定的 DNS 名稱隨機生成存儲每個 Pod 獨立 PVC,數據持久化 共享存儲或無狀態啟停順序嚴格按序號順序(0→N-1 啟動,N-1→0 停止)并行適…

Redis ①②-事務

Redis 事務 先來看看 MySQL 事務的四大特性: 原子性:將事務里的多個操作打包成一個整體,要么全部成功,要么全部失敗,失敗后會進行回滾操作。一致性:確保事務執行前后,其數據的整體變化一致。隔…

Leetcode+JAVA+回溯

39.組合總和 給你一個 無重復元素 的整數數組 candidates 和一個目標整數 target ,找出 candidates 中可以使數字和為目標數 target 的 所有 不同組合 ,并以列表形式返回。你可以按 任意順序 返回這些組合。 candidates 中的 同一個 數字可以 無限制重復…

嘉訊科技:醫院電子病歷系統的關鍵性作用

電子病歷系統在現代醫療領域發揮著至關重要的作用。 電子病歷系統極大地提高了醫療效率。以往,醫生需要翻閱大量的紙質病歷,耗費時間和精力去查找關鍵信息。而電子病歷系統通過數字化的存儲和檢索方式,使得醫生能夠在短時間內獲取患者的完整病…

解決 Docker 里 DrissionPage 無法連接瀏覽器的問題,內含直接可用的Docker鏡像(DrissionPage 瀏覽器鏈接失敗 怎么辦?)

文章目錄 ?? 介紹 ???? 演示環境 ???? 報錯現象與診斷 ???? 源碼?? DrissionPage 報錯內容?? 手動啟動 Chrome 測試?? 原因分析與解決方案 ???? 為什么會這樣??? 解決辦法?? 推薦方案?? 測試?? 可直接使用的Docker鏡像 ???? 鏡像下載地址…

Mysql 數據庫中設備實時狀態表水平分表

一、 需求概述 在使用 Mysql 數據庫存儲設備上報日志時,存在一張設備實時狀態表,隨著時間推移,數據量變得十分龐大。為了更好地管理和查詢數據,提高數據庫性能,需要對該表進行水平分表操作。同時,存在分頁…

nginx的下載與安裝 mac

1. 下載 方法一:本地下載 鏈接:https://nginx.org/en/download.html(可直接搜官網) 下載到本地后,上傳到linux的某個文件夾中 方法二:直接linux上下載(推薦) wget -c http://ngi…

在 Mac 上配置 Charles,抓取 iOS 手機端接口請求

工具官網:https://www.charlesproxy.com/ Charles 激活碼 一、簡介 Charles 是一款強大的網絡抓包工具,支持 HTTP 和 HTTPS 協議,適用于調試手機 App、微信小程序、H5 頁面等網絡請求。 它能作為代理服務器,轉發并記錄本機及其他…

較大項目 git(gitee, github) 拉取失敗解決方法

問題描述 近期遇到了一個拉取一個比較大項目失敗的問題,229M這么大 每次都失敗 我在自己的PC上,只有極好的環境才能拉取,筆記本辦公熱點怎么都不行 解決辦法 后面通過https鏈接 首次會報錯,因為我輸入錯了gitee的username&am…

爬蟲中網絡知識基礎

HTTP(HyperText Transfer Protocol)和 HTTPS(HyperText Transfer Protocol Secure)是互聯網上用于傳輸網頁內容等數據的兩種主要協議,以下是它們的定義和基本工作原理: HTTP 定義 :HTTP 是一種…

安全工具-二進制安全-testssl.sh

1 需求 --openssl <PATH> &#xff1a;use this openssl binary (default: look in $PATH, $RUN_DIR of testssl.sh) --quiet&#xff1a;dont output the banner. By doing this you acknowledge usage terms normally appearing in the banner --severity <severity…

WHAT - 組件庫與 Storybook

文章目錄 什么是 Storybook&#xff1f;使用場景舉例快速上手教程&#xff08;React 為例&#xff09;1. 安裝 Storybook2. 創建一個 Story&#xff08;組件故事&#xff09;3. 啟動 Storybook 常用功能常見生態擴展示例&#xff1a;用 Args 和 Controls 動態控制 Props推薦資料…

魔音音樂 5.0.2 | 無損下載 同步網易云歌單UI美觀

魔音音樂是一款功能豐富的音樂播放軟件&#xff0c;提供高保真音質、智能推薦系統和用戶友好界面。其豐富的音樂庫幾乎覆蓋了所有類型的音樂&#xff0c;無論是流行歌曲還是小眾音樂&#xff0c;都能在這里找到。這款應用非常適合音樂愛好者使用&#xff0c;它不僅讓你享受高品…

云原生時代的中國答案:OLARDB、OceanBase與PostgreSQL的共生革命

以下是對阿里自研數據庫的全景式技術調查,重點梳理其產品體系、與PostgreSQL的技術關聯及發展歷程: 一、阿里自研數據庫全景圖譜 ??1. 核心自研產品?? ??數據庫名稱????類型????技術定位????與PostgreSQL關系????PolarDB??云原生分布式數據庫存儲計…

HTTP 請求方法與狀態碼

前言&#xff1a;構建可靠前端應用的 HTTP 通信基礎 在當今復雜的 Web 應用生態中&#xff0c;前端開發已遠超簡單的頁面構建&#xff0c;轉而成為與后端系統緊密交互的復雜體系。作為這一交互的核心機制&#xff0c;HTTP 協議承載著幾乎所有的前后端數據交換&#xff0c;其設…

WIFI原因造成ESP8266不斷重啟的解決辦法

一、報錯 報錯信息如下&#xff1a; 21:37:21.799 -> ets Jan 8 2013,rst cause:2, boot mode:(3,7) 21:37:21.799 -> 21:37:21.799 -> load 0x4010f000, len 3424, room 16 21:37:21.799 -> tail 0 21:37:21.799 -> chksum 0x2e 21:37:21.799 -> loa…

13.5-13.8. 計算機視覺【2】

文章目錄 13.5. 多尺度目標檢測13.5.1. 多尺度錨框13.5.2. 多尺度檢測13.5.3. 小結 13.6. 目標檢測數據集13.6.2. 讀取數據集13.6.3. 演示 13.7. 單發多框檢測&#xff08;SSD&#xff09;13.7.1. 模型13.7.1.1. 類別預測層13.7.1.2. 邊界框預測層13.7.1.3. 連結多尺度的預測13…

RSS解析并轉換為JSON的API集成指南

RSS解析并轉換為JSON的API集成指南 引言 隨著互聯網的發展&#xff0c;信息的傳播和共享變得越來越重要。RSS&#xff08;簡易信息聚合&#xff09;作為一種廣泛采用的格式&#xff0c;用于發布經常更新的內容&#xff0c;如博客文章、新聞頭條或播客等。它允許用戶訂閱這些內…

java數據類型詳解篇

1、8種基本數據類型 數據類型分類字節數內存位數是否最高位為符號位&#xff08;0正數1負數&#xff09;取值范圍&#xff08;數值形式&#xff09;取值說明byte整數類型18是-128 ~ 127-2^7 ~ 2^7 - 1 &#xff08;冪形式&#xff09;short整數類型216是-32,768 ~ 32,767-2^15…

vue 瀏覽器樣式警告:“unknown property name“

瀏覽器樣式警告&#xff1a;"unknown property name"&#xff0c;但在部分電腦上的瀏覽器又是沒有問題的。 這個問題因為沒有安裝sass或者less&#xff0c;卻直接使用了他的語法&#xff0c;比如嵌套樣式&#xff1a; body {/* 按鈕 */.el-button {background: lin…