小編在后臺收到一些留言妖碉,大家都對接口很感興趣忽肛,特地去搜羅了一番找到了最新的接口面試題,來幫助大家面對各種接口面試损敷。如果有同學(xué)還是覺得看文字理解太麻煩葫笼,可以留言告訴我,如果人多的話拗馒,我去慫恿咱們松勤的老師出一期直播路星,專門講解這些題目和所涉及到的知識點和拓展。
1诱桂、什么是HTTP協(xié)議無狀態(tài)協(xié)議?怎么解決HTTP協(xié)議無狀態(tài)協(xié)議
是指協(xié)議對于事務(wù)處理沒有記憶能力洋丐,服務(wù)器不知道客戶端是什么狀態(tài)。即我們給服務(wù)器發(fā)送 HTTP 請求之后挥等,服務(wù)器根據(jù)請求友绝,會給我們發(fā)送數(shù)據(jù)過來,但是肝劲,發(fā)送完迁客,不會記錄任何信息。
解決方案:通過cookie和session來保持狀態(tài)辞槐。
2掷漱、HTTP協(xié)議學(xué)了哪幾個版本
http協(xié)議目前有4個版本(0.9,1.0,1.1,2.0),其中1.0榄檬、1.1版本在互聯(lián)網(wǎng)上被廣泛使用卜范,2.0版本目前應(yīng)用很少,是下一代的http協(xié)議丙号。
3先朦、Session和Cookies區(qū)別
cookie數(shù)據(jù)存放在客戶的瀏覽器上,session數(shù)據(jù)放在服務(wù)器上犬缨。
cookie不是很安全喳魏,別人可以分析存放在本地的COOKIE并進行COOKIE欺騙
考慮到安全應(yīng)當使用session。
session會在一定時間內(nèi)保存在服務(wù)器上怀薛。當訪問增多刺彩,會比較占用你服務(wù)器的性能
考慮到減輕服務(wù)器性能方面,應(yīng)當使用COOKIE枝恋。
單個cookie保存的數(shù)據(jù)不能超過4K创倔,很多瀏覽器都限制一個站點最多保存20個cookie。
4焚碌、HTTPS在哪一層, 會話層在第幾層
https工作在應(yīng)用層.
會話層為7層協(xié)議的第五層畦攘,為表示層提供建立、維護和結(jié)束會話連接的功能十电,并提供會話管理服務(wù)知押。
5叹螟、你熟悉OSI協(xié)議嗎?原理是什么
OSI是一個開放性的通信系統(tǒng)互連參考模型台盯,它是一個定義得非常好的協(xié)議規(guī)范罢绽。OSI模型有7層結(jié)構(gòu),每層都可以有幾個子層静盅。OSI的7層從上到下分別是 7 應(yīng)用層 6 表示層 5 會話層 4 傳輸層 3 網(wǎng)絡(luò)層 2 數(shù)據(jù)鏈路層 1 物理層 良价;其中高層(即7、6蒿叠、5明垢、4層)定義了應(yīng)用程序的功能,下面3層(即3市咽、2袖外、1層)主要面向通過網(wǎng)絡(luò)的端到端,點到點的數(shù)據(jù)流魂务。
6、從HTTP變化到HTTPS協(xié)議泌射,測試點
注意一些配置是否同步修改
有些url是否是寫死在代碼的粘姜,需要同步修改
有些通過類cms配置的頁面,需要更新檢查是否更新域名
如果有存在和第三方接口聯(lián)調(diào)的,需要檢查是否彼此都更新了熔酷。
相關(guān)聯(lián)業(yè)務(wù)系統(tǒng)之間互相調(diào)用是否存在問題孤紧,比如http調(diào)用https的情況。
7拒秘、購物車模塊, 加入購物車接口測試點分析
接口入?yún)⑿r?是否必填,臨界值,默認值,枚舉值,參數(shù)組合
業(yè)務(wù)邏輯校驗:新增商品進購物車,當購物車達到最大值是否可以添加,重復(fù)添加單一商品驗證最大添加次數(shù),沒有庫存的商品是否可以添加到購物車号显,一次添加超過庫存量的商品。
安全性:是否校驗登錄狀態(tài)
異常:接口的異常返回結(jié)果是否有專有提示躺酒,如網(wǎng)絡(luò)異常押蚤,接口超時,系統(tǒng)異常
性能:多用戶并發(fā)操作購物車,同一商品被多用戶同時操作到購物車
8、http://...?orderId=,**, 接口設(shè)計用例
接口入?yún)㈤L度是否滿足get接口url的長度
不同的orderid是返回不同的訂單信息
orderid不存在的情況,接口返回
orderid過長過短的情況,接口返回
刪除一些非必填項入?yún)⒏Γ{(diào)用接口揽碘,返回什么
刪除一些必填項入?yún)ⅲ{(diào)用接口园匹,返回什么
不同的入?yún)⒔M合雳刺,正常的組合異常的組合,返回什么
9裸违、一個訂單的幾種狀態(tài)如何全部測到掖桦,如:未處理,處理中供汛,處理失敗枪汪,處理成功
未處理和處理成功都好測試涌穆,正常流程就可以覆蓋
處理中可以通過制造網(wǎng)絡(luò)延遲來觀測處理中的狀態(tài),或者用fiddler來打斷點
處理失敗可以通過網(wǎng)絡(luò)超時來呈現(xiàn)處理失敗的狀態(tài)料饥,或者抓包修改接口返回值為處理失敗的狀態(tài)蒲犬。
10、你平常做接口測試的過程中發(fā)現(xiàn)過哪些Bug
權(quán)限未處理,導(dǎo)致一般用戶可以通過接口獲取管理員權(quán)限
可以輸入一些前端限制過的值岸啡,比如提取積分接口原叮,通過修改積分為負數(shù),這個在前端無法測試巡蘸,因為前端會限制你的輸入值不能為負奋隶,而接口沒做相關(guān)限制,導(dǎo)致你的積分越提取越多悦荒。
11唯欣、平常你是怎么測試接口的
根據(jù)接口文檔設(shè)計接口測試用例,使用postman工具實現(xiàn)測試用例,根據(jù)不同的用例設(shè)置不同的斷言搬味,并且保存在集合中境氢。可以通過執(zhí)行集合的方式重復(fù)批量執(zhí)行接口測試用例碰纬。
把接口的url設(shè)置為環(huán)境變量,當需要切換不同的環(huán)境的時候萍聊,只需要使用postman的切換環(huán)境功能就可以自由切換,在不同環(huán)境下測試接口悦析。
設(shè)計接口與接口之間有關(guān)聯(lián)的測試用例,通過postman在斷言中設(shè)置環(huán)境變量的方式寿桨,保存上游接口的返回值,下游接口調(diào)用這個變量强戴,完成接口與接口的關(guān)聯(lián)場景的測試
12亭螟、平常用什么工具測接口的
postman SoapUI jmeter
13、不可逆的操作骑歹,如何處理预烙,比如刪除一個訂單這種接口如何測試
關(guān)注接口的返回值是否正常
關(guān)注數(shù)據(jù)庫中的訂單表的數(shù)據(jù)是否被刪除
關(guān)注是否有刪除記錄表存放相關(guān)刪除的記錄,方便日后可以追溯
14道媚、測試的數(shù)據(jù)你放在哪
本地文件的形式存放
15默伍、response怎么驗證, 參數(shù)特別多
postman使用斷言的方式進行判斷
16、做接口測試如何分析是前端還是后端的問題
抓包衰琐,查看接口的返回值也糊,根據(jù)返回值和前端頁面的展示作比較,判斷是前端對這個值的處理有問題
還是后端返回的值是錯誤的羡宙。
17狸剃、在測試接口中怎么知道請求成功還是失敗
根據(jù)接口文檔查看具體入?yún)?yīng)該返回什么值,和接口實際上返回的值做對比。
18狗热、請詳細闡述接口測試和UI測試在測試活動中是如何協(xié)同測試的钞馁?
有些ui測試無法實現(xiàn)的場景可以用接口進行輔助測試虑省,比如前端ui會對某些輸入框作出限制,
導(dǎo)致某些負值,超出最大長度限制的值無法測試僧凰,而通過接口就可以發(fā)送這樣的值探颈。
ui有時候還會對某一個功能重復(fù)點擊作出限制,如果想測試用戶在網(wǎng)絡(luò)系統(tǒng)異常的情況下連續(xù)點擊了2次這個按鈕训措,那么通過前端點擊可能測試不了伪节,就要通過接口連續(xù)并發(fā)的方式測試
19、很多接口都需要登錄怎么處理绩鸣?
如果是postman工具的話怀大,把登錄的cookie值存儲在環(huán)境變量中,需要登錄狀態(tài)的接口直接引用該環(huán)境變量去實現(xiàn)。
20呀闻、依賴于登錄的接口如何處理 -token 和 session的管理
答案同19題
21化借、在手工接口測試或自動化接口測試的過程中,上下游接口有數(shù)據(jù)依賴如何處理捡多?
postman工具蓖康,使用斷言工具中的設(shè)定環(huán)境變量。對上游接口的返回值中的依賴數(shù)據(jù)進行變量化垒手,然后在下游接口的入?yún)⒅幸迷撟兞康霾t,完成依賴?/p>
22、接口測試中依賴登錄狀態(tài)的接口如何測試
答案同19題
23淫奔、下個接口請求參數(shù)依賴上個接口的返回數(shù)據(jù)
答案同21題
24、Web Service接口是如何測試的
開發(fā)人員要到接口的wsdl地址和接口設(shè)計說明書堤结。
在soapui中新建工程唆迁,導(dǎo)入wsdl地址。
選擇自己要測試的接口的方法竞穷,選擇request唐责。
根據(jù)接口設(shè)計說明書選擇要測試方法的xml請求,并粘貼到soapui的請求欄瘾带,然后用自己的測試數(shù)據(jù)替換原有的xml請求中的參數(shù)鼠哥。
點擊運行,查看返回的xml響應(yīng)看政,并參照接口設(shè)計說明書及自己的輸入?yún)?shù)朴恳,確定接口返回的xml響應(yīng)是否是預(yù)期結(jié)果,以判斷接口是否是通的
25允蚣、TCP報頭格式
(1)16位端口號:告訴主機該報文段是來自哪里于颖,以及傳給哪個上層協(xié)議或者應(yīng)用程序(目的端口)的。
(2)32位序號:給發(fā)送的數(shù)據(jù)編號嚷兔。(隨機值+偏移量(偏移量決定序號的大猩ァ))做入;32位序號能夠指定數(shù)據(jù)傳送過去的序號。
作用:A同衣、保證發(fā)送的數(shù)據(jù)有序竟块;B、保證重復(fù)的數(shù)據(jù)報被丟棄耐齐。
(3)32位確認號:對A端發(fā)送的數(shù)據(jù)進行確認并回饋的序號浪秘。(在32位序中的序號值加1返回回去)。
作用:保證數(shù)據(jù)能夠有效地到達對端蚪缀。
(4)4位頭部長度:因為4位最大能表示15秫逝,所以最大為60個字節(jié)。
(5)6位標志位:
PSH:通知盡快讀取數(shù)據(jù)询枚;
RST:請求重新建立連接违帆;
SYN:請求建立連接;
FIN:請求斷開連接金蜀;
ACK:表示確認號是否有效刷后;
URG:表示禁忌之陣是否有效。
(6)16位窗口大性ǔ:控制發(fā)送數(shù)據(jù)的速度或流量尝胆。
(7)16位校驗和:由發(fā)送端填充,接收端對TCP報文段在傳輸過程中是否損壞护桦。檢驗不僅包括頭部部分含衔,還包括數(shù)據(jù)部分。
(8)16位緊急指針:一個正的偏移量(相當于當前序號的偏移)二庵。緊急指針是發(fā)送端向接收端發(fā)送緊急數(shù)據(jù)的方法贪染。
TCP的特點的可靠性就體現(xiàn)在:32位序號,32位確認號16位校驗和催享。面向連接體現(xiàn)在:URG杭隙、RST、SYN因妙、FIN痰憎、ACK、PSH等六位標志攀涵。