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自動化面試題資料。