在面試測試工程師的時候會遇到面試官提各種各樣的問題,特別是對於沒有經驗的人來說往往都很難正確的回答上,
所以這里根據我個人的工作經歷整理了一部分經常會遇到的問題。
1、接口測試用例的設計要點有哪些?
對於這個問題我們可以從接口的組成來進行分析,一個接口主要有請求地址、請求方法、請求參數,其中請求地址和方法都是固定的,
所以我們主要應該從請求參數入手,主要可以從以下幾個方面考慮:
1、參數字段個數:必填字段和可選填
2、參數合法性:輸入輸出合法、非法參數
3、邊界:請求參數邊界值等
4、容錯能力:大容量數據、頻繁請求、重復請求(如:訂單)、異常網絡等的處理
5、響應數據校驗:斷言、數據提取傳遞到下一級接口
6、邏輯校驗:如兩個請求的接口有嚴格的先后順序,需要測試調轉順序的情況
7、性能:對接口模擬並發測試,逐步加壓,分析瓶頸點
8、安全性:構造惡意的字符請求,如:SQL注入、XSS、敏感信息、業務邏輯(如:跳過某些關鍵步驟;未經驗證操縱敏感數據)
2、post和get有什么區別?
這個問題應該是每一個做接口測試人員都能回答的問題,但是要注意說到重點:
1、get方法的參數是在URL中,post的參數是在body中 (本質區別)
2、get方法的安全性沒post的高
3、get方法能被緩存而post不可以
4、GET請求在URL中傳送的參數是有長度限制的,而POST沒有。
當然還有其他的很多區別,但是回答這幾個主要的就差不多了。
3、你會使用哪些抓包工具?
抓包工具有很多種,但是我們技術人員最常用的不外乎就是Fiddler、青花瓷、F12這幾種,所以選一個你自己最常用的就可以了。
當然面試官接下來的問題多半會問你為什么會用抓包工具?公司不是有接口文檔嗎?
4、使用抓包工具做什么?
對於中大型公司里面的開發人員都會編寫好有完整的接口文檔,那我們做接口測試的時候對照接口文檔不就可以了嗎?所以對於還
沒有真正接口項目經驗的小伙伴就不知所措了。那么我們測試人員抓包其實一般都是為了驗證我們測試的數據在接口傳遞過程中是否正常
或者為了判斷某個問題是前端問題還是后端問題。
5、怎么判斷一個bug是前端問題還是后端問題?
這是很多面試官都會問到的問題,而且在工作中為了防止前端開發和后端開發人員相互踢皮球也是我們測試人員必須要掌握的知識點,
其實很容易判斷,我們可以先抓包看請求報文,對着接口文檔,看請求報文有沒問題,有問題就是前端發的數據不對,請求報文沒問題,那就看返回報文,返回的數據不對,那就是后
端開發的問題,這樣我們測試人員才能有自己的判斷,而不是任由開發相互扯皮。
6、你們公司是用什么做接口測試的?
每個公司做接口測試所使用的工具都是不一樣的,有的會使用postman來做一些簡單的單接口測試,但是對於一定數量的接口測試postman就很難勝任了,所以這時候不少公司就
會選擇開源的jmeter來做,因為腳本也相對比較好管理維護也方便。
但是對於不少公司來說jmeter也滿足不了自己的要求,這時候就會有測試人員自己編寫測試框架(也就是測試開發),然后通過編碼自己設計完成自己公司需要的功能。
7、接口測試框架你會嗎?
很多小伙伴都會說我會使用unittest、pytest再或者testNG,其實這些框架對公司來說還不能滿足要求,應該說我們的框架是在unittest或者pytest框架之上進行二次封裝集成了
郵件系統和測試報告以及日志、重跑等功能,然后再說這樣設計的優勢,這樣就會讓人覺得這人是懂具體的框架實現過程的。
8、你們接口測試用例是在哪里?
這要看你們公司是用的什么工具來做接口測試的了,假如是postman和jmeter那么用例就是直接在它們的請求文件里面,但是假如是有自己的框架那么用例一般都在表格或者表
里面的。
總而言之我們在面試的時候要做好充分的准備,打鐵還需自身硬。