服務端測試開發必備技能:Mock測試

程序员潇潇發表於2024-04-15

什麼是mock測試

Mock 測試就是在測試活動中,對於某些不容易構造或者不容易獲取的資料/場景,用一個Mock物件來建立以便測試的測試方法。

Mock測試常見場景

  • 無法控制第三方系統介面的返回,返回的資料不滿足要求
  • 依賴的介面還未開發完成,就需要對被測系統進行測試

Mock測試的缺點

測試過程中如果大量使用Mock,mock測試的場景失去了真實性,可能會導致在後續的系統性測試時才發現bug,使得缺陷發現的較晚,可能會造成後續修復成本更大

Mock工具:Fiddler / Postman

01、實戰

postman 建立一個mock server

步驟一:

在左上角有一個New,點開後會有下拉選單展示,選擇裡面的Mock Server

服務端測試開發必備技能:Mock測試

步驟二:

勾選Request-Body(請求內容)

服務端測試開發必備技能:Mock測試

步驟三:

填寫mock測試的各個請求引數,之後點選Next下一步

服務端測試開發必備技能:Mock測試

步驟四:

建立mock server

  • 填寫Mock服務的名稱(可用中文)
  • 勾選Make this Mock server private,可以不勾選;如果勾選了,這個Mock服務就只能你自己私有訪問,此時建立的Mock Service需要一個x-api-key,把生成的key放到header中,具體生成x-api-key後面會介紹
  • 選擇環境,如果沒有合適的環境可以選擇no environment
  • 勾選 Save the mock server URL as an environment variable
服務端測試開發必備技能:Mock測試

步驟五:

點選here獲取mock 介面金鑰,登陸瀏覽器設定,然後點選close

服務端測試開發必備技能:Mock測試

黃色部分就是Mock伺服器地址,這個mock server是postman在自己的伺服器上為我們建立的,無論我們是否開啟postman,我們都可以直接用這個地址來訪問mock的API,如我們透過Jmeter也能對這個介面進行訪問

如果需要對這個Mock服務建立API key,可以點選here開啟一個瀏覽器頁面,生成一個API key,(注意,這個key值只出現一次,複製好以後最好新建一個記事本粘進去),後面訪問這個介面的時候,必須在請求頭裡帶上 API key,才能訪問成功,相當於一個介面鑑權的作用。

x-api-key獲取地址:
服務端測試開發必備技能:Mock測試

步驟六:

Mock服務建立成功

建立成功後回到postman主介面,在右側collection集合出出現了一個以剛才mock server命名相同的collection,點選這個集合右上角的箭頭,選擇mock,出現mock server的地址。

服務端測試開發必備技能:Mock測試

這個{{url}}其實就是我們的Mock服務地址,滑鼠放上去可以顯示,如果使用postman進行測試,使用時位址列內的{{url}}一定要帶著,如果

使用其它工具如Jmeter,可以使用{{{url}}變數中具體的值,也即如上圖中的:在這個mock server地址,其後面路徑名稱以及層級均可自定義,但要記得設定對應的example並且儲存後再執行。

服務端測試開發必備技能:Mock測試

步驟七:

修改Mock Server,如果需要修改Mock Server,點選進入Mock Server服務,點選右上角的Examples就可以修改了

選擇環境,選擇Examples,預設為default,如果僅僅要修改當前的Mock Service,則選擇Default

如果要在此基礎上新增Mock Service,則選擇Add Example,新增或者修改mock service,並儲存為新的mock service,注意介面地址中{{url}}/test/testdemo,前面要帶上路徑符號/

服務端測試開發必備技能:Mock測試服務端測試開發必備技能:Mock測試

步驟八:

訪問Mock服務,可以使用 postman 、jmeter等介面測試工具進行訪問,這裡選擇使用postman進行訪問

建立一個Http服務請求 “Add Request”,Request name可以命名為中文,儲存

服務端測試開發必備技能:Mock測試

選擇環境:點選右上角眼睛旁的下拉框選擇環境,此處剛才建立Mock server時候新增了一個和mock server命名相同的的環境,選擇環境後點選眼睛,還可以看到該環境下介面地址的具體資訊

服務端測試開發必備技能:Mock測試服務端測試開發必備技能:Mock測試

服務請求介面輸入介面地址、請求方法、請求header和請求body等內容,點選save,點選send按鈕,可檢視服務請求和響應內容,此處響應的內容就是前面建立Mock服務定義的響應內容,響應成功狀態碼就是Mock服務定義的響應狀態碼,如:Status:200

服務端測試開發必備技能:Mock測試

建立一個Http服務請求 “Add Request”,也可以對步驟七中新增/修改的Mock Service(Example)傳送服務請求,步驟同上

步驟九:

使用Jmeter訪問Mock服務

備註:使用Jmeter進行介面測試不存在選擇環境
服務端測試開發必備技能:Mock測試

步驟十:

其它-環境管理,對於一些無用的環境,可以刪除

服務端測試開發必備技能:Mock測試

行動吧,在路上總比一直觀望的要好,未來的你肯定會感 謝現在拼搏的自己!如果想學習提升找不到資料,沒人答疑解惑時,請及時加入扣群:731789136,裡面有各種軟體測試+開發資料和技術可以一起交流學習哦。

最後感謝每一個認真閱讀我文章的人,禮尚往來總是要有的,這些資料,對於【軟體測試】的朋友來說應該是最全面最完整的備戰倉庫,雖然不是什麼很值錢的東西,如果你用得到的話可以直接拿走:

如果你想學習軟體測試和需要軟體測試資料,歡迎加入扣扣交流群:731789136,裡面可以免費領取軟體測試+自動化測試資料+軟體測試面試寶典+簡歷模版+實戰專案+面試刷題工具和大佬答疑解惑,我們一起交流一起學習!

相關文章