大家好,我是小白馬晰奖。
今天分享一份常見的接口測試面試題答案谈撒。
1、什么是API匾南?
API是(Application Programming Interface)首字母縮略詞啃匿,即應(yīng)用程序編程接口。API是一組用于構(gòu)建軟件應(yīng)用程序的規(guī)程蛆楞,協(xié)議和工具溯乒。API充當(dāng)軟件應(yīng)用程序之間的接口,并允許兩個軟件應(yīng)用程序相互通信豹爹。API是一組軟件功能裆悄,可以由其他軟件執(zhí)行。
2臂聋、什么是API測試光稼?
API測試是一種軟件測試,涉及直接測試API孩等,也是集成測試的一部分艾君,用于檢查API是否滿足應(yīng)用程序的功能,可靠性瞎访,性能和安全性方面的期望腻贰。在API測試中,我們主要關(guān)注軟件架構(gòu)的業(yè)務(wù)邏輯層扒秸〔パ荩可以在包含多個API的任何軟件系統(tǒng)上執(zhí)行API測試冀瓦。
3、常見的API測試類型有哪些写烤?
API測試通常涉及以下實踐:
單元測試
功能測試
負(fù)載測試
運行時/錯誤檢測
安全測試
UI測試
互操作性和WS一致性測試
滲透測試
模糊測試
4翼闽、列舉API測試中的常用協(xié)議
thrift
HTTP
REST
SOAP
JMS
UDDI
dubbo
5、API和Web服務(wù)之間的區(qū)別洲炊?
Web服務(wù):
所有Web服務(wù)都是API
所有Web服務(wù)都需要通過Web(HTTP)公開
Web服務(wù)只有三種使用方式:SOAP感局,REST和XML-RPC進行通信
接口:
API有很多并不基于HTTP
API使用多種方式進行通信,例如C / C ++中的DLL文件暂衡,java中的Jar文件/ RMI询微,Linux內(nèi)核API中的中斷等。
6狂巢、什么是Soap
SOAP代表簡單對象訪問協(xié)議(Simple Object Access Protocol)撑毛。它是一種基于XML的消息傳遞協(xié)議。雖說名字帶了簡單唧领,但是協(xié)議比較羅嗦藻雌,已經(jīng)遠沒有后來居上的JSON使用廣泛。
7斩个、什么是Rest API胯杭?
REST即Representational State Transfer。它是一組幫助開發(fā)人員執(zhí)行請求和接收響應(yīng)的函數(shù)受啥。通過REST API中的HTTP協(xié)議進行交互做个。
8、SOAP和REST的區(qū)別腔呜?
SOAP:
通過共享XML文檔進行通信
僅支持XML格式
不支持緩存
SOAP比REST慢
SOAP就像自定義桌面應(yīng)用程序叁温,緊密連接到服務(wù)器
SOAP基于HTTP進行封裝
REST:
基于網(wǎng)絡(luò)的軟件架構(gòu)的服務(wù)架構(gòu)和設(shè)計
支持不同的數(shù)據(jù)格式
支持緩存
比SOAP更快
REST客戶端就像瀏覽器并使用應(yīng)用程序必須適合的標(biāo)準(zhǔn)方法
REST使用HTTP標(biāo)頭來保存元信息
9、API常見測試有哪些核畴?
我們在API上執(zhí)行的一些常見測試如下:
驗證不同輸入條件的返回膝但。
驗證不同數(shù)據(jù)結(jié)構(gòu)
驗證API是否觸發(fā)其他事件或請求其他API
在沒有返回值時驗證API的行為
10、API測試有哪些優(yōu)勢谤草?
更快及更高的測試覆蓋率跟束。
API測試有助于我們降低測試成本。通過API測試丑孩,我們可以在GUI測試之前找到小錯誤冀宴。在GUI測試期間,這些小錯誤將變得更大温学。因此略贮,在API測試中發(fā)現(xiàn)這些錯誤將對公司具有成本效益。
API測試與語言無關(guān)。
API測試在測試核心功能方面非常有用逃延。我們可以在沒有用戶界面的情況下測試API览妖。在GUI測試中,我們需要等到應(yīng)用程序可用于測試核心功能揽祥。
API測試有助于我們降低風(fēng)險讽膏。
11、API測試中需要驗證哪些內(nèi)容拄丰?
數(shù)據(jù)準(zhǔn)確性
HTTP或其他協(xié)議狀態(tài)代碼
響應(yīng)時間
API返回任何錯誤時的錯誤代碼
授權(quán)檢查
非功能測試府树,如性能測試,安全測試
12料按、列舉一些用于API測試的工具奄侠?
用于API測試的一些工具如下:
Curl
httpie
Requests: HTTP for Humans
https://pypi.org/project/thrift/
Postman
Katalon Studio
SoapUI
Assertible
Tricentis Tosca
Apigee
JMeter
Rest-Assured
Karate DSL
API Fortress
Parasoft
HP QTP(UFT)
vREST
Airborne
API Science
APIary Inspector
Citrus Framework
Hippie-Swagger
HttpMaster Express
Mockbin
Ping API
Pyresttest
Rest Console
RoboHydra Server
SOAP Sonar
Unirest
WebInject
python是目前接口測試使用最廣的語言,python 測試框架?及python 抓包工具(Hardware)都可參考载矿。
13遭铺、列出一些最常用的API文檔模板?
一些API文檔模板如下:
Swagger
FlatDoc
RestDoc
API blueprint
Slate
Miredot
Web服務(wù)API規(guī)范恢准。
14、列舉一些非常受歡迎的API甫题?
Google Maps API
YouTube的
推特Twitter
亞馬遜廣告API
微博認(rèn)證API
釘釘開放接口
15馁筐、API測試和單元測試之間的區(qū)別?
單元測試:
多由開發(fā)團隊進行
白盒測試
構(gòu)建中的過程之前
涉及源代碼測試范圍有限坠非,只考慮基本功能
API測試:
多由QA團隊進行
多為黑盒測試
在構(gòu)建部署后進行
大多不涉及源代碼API測試
測試范圍很廣
16敏沉、API測試面臨的主要挑戰(zhàn)是什么?
適當(dāng)?shù)膮?shù)及其組合
正確分類參數(shù)
順序
驗證輸出
由于缺少GUI炎码,提供輸入值較困難
17盟迟、執(zhí)行API測試時的BUG類型?
壓力潦闲,性能和安全問題
功能重復(fù)或缺失
可靠性問題
消息不當(dāng)
不兼容的錯誤處理機制
多線程問題
不合適的錯誤
18攒菠、UI測試與API測試的不同
UI(用戶界面)測試是測試應(yīng)用程序的圖形界面部分。它的主要重點是測試應(yīng)用程序的外觀和感覺歉闰。API測試支持兩個不同軟件系統(tǒng)之間的通信辖众。它的主要重點是應(yīng)用程序的業(yè)務(wù)層。
19和敬、列舉常用的HTTP方法
GET:從服務(wù)器檢索數(shù)據(jù)
POST:將數(shù)據(jù)添加到服務(wù)器中的現(xiàn)有文件或資源
PUT:它允許您替換服務(wù)器中的現(xiàn)有文件或資源
DELETE:它允許您從服務(wù)器中刪除數(shù)據(jù)
PATCH:用于對資源進行部分修改選項:用于描述目標(biāo)資源的通信選項
HEAD:它要求響應(yīng)與GET請求相同凹炸,但沒有響應(yīng)正文
20、可以用GET請求來創(chuàng)建資源嗎昼弟?
不啤它,GET請求僅允許只讀權(quán)限。它使您可以從服務(wù)器檢索數(shù)據(jù),但不能創(chuàng)建資源变骡。應(yīng)使用PUT或POST方法來創(chuàng)建資源离赫。
21、PUT和POST方法有什么區(qū)別锣光?
POST用于在服務(wù)器上創(chuàng)建新對象笆怠,PUT請求用于在替換對象。
當(dāng)客戶端將頁面發(fā)送到服務(wù)器誊爹,然后服務(wù)器讓客戶端知道它放在何處時蹬刷,應(yīng)該使用POST。
當(dāng)客戶端指定頁面的位置時频丘,應(yīng)使用PUT办成。
最后感謝每一個認(rèn)真閱讀我文章的人,看著粉絲一路的上漲和關(guān)注搂漠,禮尚往來總是要有的迂卢,雖然不是什么很值錢的東西,如果你用得到的話可以直接拿走
這些資料桐汤,對于做【軟件測試】的朋友來說應(yīng)該是最全面最完整的備戰(zhàn)倉庫而克,這個倉庫也陪伴我走過了最艱難的路程,希望也能幫助到你怔毛!凡事要趁早员萍,特別是技術(shù)行業(yè),一定要提升技術(shù)功底拣度。希望對大家有所幫助…….
關(guān)注我的微信公眾號:【程序員小濠】即可獲取這份資料了碎绎!
如果你不想再體驗一次自學(xué)時找不到資料,沒人解答問題抗果,堅持幾天便放棄的感受的話筋帖,可以加入我們的群:779450660 大家一起討論交流,里面也有各種軟件測試資料和技術(shù)交流冤馏。
如果對你有幫助的話日麸,點個贊收個藏,給作者一個鼓勵逮光。也方便你下次能夠快速查找赘淮。