純手打!字字珠璣!接口測試面試題和面試官扯得明明白白!

1,目前市面上流行的接口大多有哪幾種協(xié)議的接口?

答:http,https,dubbo,rpc等即可。


2,接口的請求方式有哪幾種?

答:get,post,put,delete,head,Trace,opions等,大多以get和post請求為主

3、get和post區(qū)別是什么?

答:POST和GET都是向服務(wù)器提交數(shù)據(jù),并且都會從服務(wù)器獲取數(shù)據(jù)。

區(qū)別:

(1)傳送方式:get通過地址欄傳輸,post通過報文傳輸,故而post更相對來說私密性一點(diǎn)

(2)傳送長度:get參數(shù)有長度限制(受限于url長度),而post無限制

(3)get請求參數(shù)會被完整保留在瀏覽歷史記錄里,而post中的參數(shù)不會被保留

(4)get方式大多用作查詢接口,獲取響應(yīng)數(shù)據(jù);而post方式更多做數(shù)據(jù)添加、修改或刪除等操作

4,post請求的請求類型有哪幾種?

?

application/json json字符串

?

?

application/x-www-from-urlencoded 表單傳遞

?

?

multipart/form-data 主要用于上傳文件

?

5、cookie和session的區(qū)別

?

cookie數(shù)據(jù)存放在客戶的瀏覽器上,session數(shù)據(jù)放在服務(wù)器上

?

?

cookie不是很安全,別人可以分析存放在本地的cookie并進(jìn)行cookie欺騙,考慮到安全應(yīng)當(dāng)使用session

?

?

session會在一定時間內(nèi)保存在服務(wù)器上。當(dāng)訪問增多,會比較占用你服務(wù)器的性能,考慮到減輕服務(wù)器性能方面應(yīng)當(dāng)使用cookie

?

?

單個cookie保存的數(shù)據(jù)不能超過4K,很多瀏覽器都限制一個站點(diǎn)最多保存20個cookie

?

?

可以將登陸信息等重要信息存放為session;其他信息需要保存,可以放在cookie

?

6、請求接口中常見的返回狀態(tài)碼

答:

a.

1xx -- 信息提示(表示臨時的響應(yīng)??蛻舳嗽谑盏匠R?guī)響應(yīng)之前,準(zhǔn)備接收一個或多個1xx響應(yīng))

b.

c.

2xx -- 成功(表明服務(wù)器成功地接受了客戶端請求)

d.

e.

3xx -- 重定向(客戶端瀏覽器必須采取更多操作來實(shí)現(xiàn)請求,例如用戶未登錄就操作了修改的功能)

f.

g.

4xx -- 客戶端錯誤(發(fā)送錯誤,客戶端有問題)

h.

i.

5xx -- 服務(wù)器錯誤(服務(wù)器由于遇到錯誤而不能完成該請求)

j.

常見的有:

?

200 OK:服務(wù)器成功返回用戶請求的數(shù)據(jù)

?

?

201:用戶新建或修改數(shù)據(jù)成功

?

?

202:表示一個請求已經(jīng)進(jìn)入后臺排隊(duì)(異步任務(wù))

?

?

301:刪除請求數(shù)據(jù)

?

?

302:在其他地址發(fā)現(xiàn)了請求數(shù)據(jù)

?

?

303:建議客戶訪問其他URL或訪問方式

?

?

304:客戶端已經(jīng)執(zhí)行了GET,但文件未變化

?

?

400 :用戶發(fā)出的請求有錯誤,服務(wù)器沒有進(jìn)行新建或修改數(shù)據(jù)的操作

?

?

401:表示用戶沒有權(quán)限(令牌、用戶名、密碼錯誤)

?

?

403 :表示用戶得到授權(quán)(與401錯誤相對),但是訪問被禁止

?

?

404:用戶發(fā)出的請求針對得到是不存在的記錄,服務(wù)器沒有進(jìn)行操作,該操作是冪等的

?

?

500:服務(wù)器發(fā)生錯誤,用戶將無法判斷發(fā)出的請求是否成功。

?

?

502:服務(wù)器返回超時

?

7、接口測試用例如何進(jìn)行設(shè)計(jì)

?

針對輸入,可按照參數(shù)類型進(jìn)行設(shè)計(jì),參數(shù)是否必填,參數(shù)之間是否存在關(guān)聯(lián),參數(shù)數(shù)據(jù)類型限制,參數(shù)數(shù)據(jù)類型自身的數(shù)據(jù)范圍值限制;

?

?

針對接口處理,可按照邏輯進(jìn)行用例設(shè)計(jì);

?

?

針對輸出,可根據(jù)結(jié)果進(jìn)行分析設(shè)計(jì)。

?

8、如何分析是前端還是后端的問題

答:

?

檢查接口,前端和后臺之間是通過接口文件相互聯(lián)系的,需要查看接口文件

?

?

檢查請求的數(shù)據(jù)是什么,反饋的數(shù)據(jù)又是什么

?

?

頁面可以直接F12,或者抓包查看。如果發(fā)送的數(shù)據(jù)是正確的,但是后臺反饋的數(shù)據(jù)是不符合需求的,那就是后臺的問題;如果前端沒有請求接口或請求的時候發(fā)送數(shù)據(jù)與需求不符,那這個時候就是前端的問題了。

?

9、接口測試中,下游接口需要依賴上游接口的數(shù)據(jù),該如何處理?

答:在工具中可以使用全局變量等方式將需要的數(shù)據(jù)進(jìn)行傳送,或者使用對響應(yīng)數(shù)據(jù)進(jìn)行提取,傳給下游接口。

10、依賴第三方數(shù)據(jù)的接口如何進(jìn)行測試?

答:可以使用fiddler進(jìn)行調(diào)用接口時預(yù)設(shè)期望響應(yīng),mock返回自己設(shè)置的響應(yīng)數(shù)據(jù),最大限度的降低對第三方數(shù)據(jù)接口的依賴

11、若請求的接口需要先登錄后方可請求,如何進(jìn)行接口測試?

答:請求登錄口獲取返回的響應(yīng)頭,或者響應(yīng)信息中的數(shù)據(jù),cookie,token,session等,傳遞給依賴登錄接口的請求頭中,發(fā)起請求即可。

軟件測試,與你同行!公眾號:測試人追風(fēng),領(lǐng)取一線大廠軟件測試&Python自動化面試題資料。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容