文最新更新體現(xiàn)在pdf文檔:接口測試面試題.pdf
什么是API泉手?
API是(Application Programming Interface)首字母縮略詞,即應(yīng)用程序編程接口偶器。 API是一組用于構(gòu)建軟件應(yīng)用程序的規(guī)程斩萌,協(xié)議和工具。API充當軟件應(yīng)用程序之間的接口屏轰,并允許兩個軟件應(yīng)用程序相互通信颊郎。 API是一組軟件功能,可以由其他軟件執(zhí)行霎苗。
概念相關(guān)的題目姆吭, 10分鐘學(xué)會API測試 可供參考。
什么是API測試唁盏?
API測試是一種軟件測試内狸,涉及直接測試API,也是集成測試的一部分厘擂,用于檢查API是否滿足應(yīng)用程序的功能昆淡,可靠性,性能和安全性方面的期望刽严。在API測試中昂灵,我們主要關(guān)注軟件架構(gòu)的業(yè)務(wù)邏輯層「圩可以在包含多個API的任何軟件系統(tǒng)上執(zhí)行API測試倔既。
常見的API測試類型有哪些恕曲?
API測試通常涉及以下實踐:
- 單元測試
- 功能測試
- 負載測試
- 運行時/錯誤檢測
- 安全測試
- UI測試
- 互操作性和WS一致性測試
- 滲透測試
- 模糊測試
列舉API測試中使用的一些常用協(xié)議鹏氧?3個即可。
- thrift
- HTTP
- REST
- SOAP
- JMS
- UDDI
- dubbo
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中的中斷等安皱。
什么是Soap?
SOAP代表簡單對象訪問協(xié)議(Simple Object Access Protocol)艇炎。它是一種基于XML的消息傳遞協(xié)議酌伊。雖說名字帶了簡單,但是協(xié)議比較羅嗦缀踪,已經(jīng)遠沒有后來居上的JSON使用廣泛居砖。
什么是Rest API?
REST即Representational State Transfer驴娃。它是一組幫助開發(fā)人員執(zhí)行請求和接收響應(yīng)的函數(shù)奏候。通過REST API中的HTTP協(xié)議進行交互。
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)用程序必須適合的標準方法
- REST使用HTTP標頭來保存元信息
API常見測試有哪些?
我們在API上執(zhí)行的一些常見測試如下疆柔。
- 驗證不同輸入條件的返回咒精。
- 驗證不同數(shù)據(jù)結(jié)構(gòu)
- 驗證API是否觸發(fā)其他事件或請求其他API
- 在沒有返回值時驗證API的行為
API測試有哪些優(yōu)勢?
- 更快及更高的測試覆蓋率婆硬。
- API測試有助于我們降低測試成本狠轻。通過API測試,我們可以在GUI測試之前找到小錯誤彬犯。在GUI測試期間向楼,這些小錯誤將變得更大。因此谐区,在API測試中發(fā)現(xiàn)這些錯誤將對公司具有成本效益湖蜕。
- API測試與語言無關(guān)。
- API測試在測試核心功能方面非常有用宋列。我們可以在沒有用戶界面的情況下測試API昭抒。在GUI測試中,我們需要等到應(yīng)用程序可用于測試核心功能炼杖。
- API測試有助于我們降低風險灭返。
API測試中究竟需要驗證哪些內(nèi)容?
- 數(shù)據(jù)準確性
- HTTP或其他協(xié)議狀態(tài)代碼
- 響應(yīng)時間
- API返回任何錯誤時的錯誤代碼
- 授權(quán)檢查
- 非功能測試坤邪,如性能測試熙含,安全測試
列舉一些用于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)都可參考怎静。
列出一些最常用的API文檔模板邮弹?
一些API文檔模板如下。
- Swagger
- FlatDoc
- RestDoc
- API blueprint
- Slate
- Miredot
- Web服務(wù)API規(guī)范蚓聘。
列舉一些非常受歡迎的API腌乡。
- Google Maps API
- YouTube的
- 推特Twitter
- 亞馬遜廣告API
- 微博認證API
- 釘釘開放接口
API測試和單元測試之間的區(qū)別?
單元測試:
- 多由開發(fā)團隊進行
- 白盒測試
- 構(gòu)建中的過程之前
- 涉及源代碼
- 測試范圍有限夜牡,只考慮基本功能
API測試
- 多由QA團隊進行
- 多為黑盒測試
- 在構(gòu)建部署后進行
- 大多不涉及源代碼API測試
- 測試范圍很廣
API測試面臨的主要挑戰(zhàn)是什么与纽?
- 適當?shù)膮?shù)及其組合
- 正確分類參數(shù)
- 順序
- 驗證輸出
- 由于缺少GUI,提供輸入值較困難
執(zhí)行API測試時我們面臨的BUG類型是什么塘装?
- 壓力渣锦,性能和安全問題
- 功能重復(fù)或缺失
- 可靠性問題
- 消息不當
- 不兼容的錯誤處理機制
- 多線程問題
- 不合適的錯誤
UI測試與API測試有何不同?
UI(用戶界面)測試是測試應(yīng)用程序的圖形界面部分氢哮。它的主要重點是測試應(yīng)用程序的外觀和感覺袋毙。API測試支持兩個不同軟件系統(tǒng)之間的通信。它的主要重點是應(yīng)用程序的業(yè)務(wù)層冗尤。
列舉一些最常用的HTTP方法听盖?
- GET:從服務(wù)器檢索數(shù)據(jù)
- POST:將數(shù)據(jù)添加到服務(wù)器中的現(xiàn)有文件或資源
- PUT:它允許您替換服務(wù)器中的現(xiàn)有文件或資源
- DELETE:它允許您從服務(wù)器中刪除數(shù)據(jù)
- PATCH:用于對資源進行部分修改
選項:用于描述目標資源的通信選項 - HEAD:它要求響應(yīng)與GET請求相同,但沒有響應(yīng)正文
可以使用GET請求而不是PUT來創(chuàng)建資源嗎裂七?
不皆看,GET請求僅允許只讀權(quán)限。它使您可以從服務(wù)器檢索數(shù)據(jù)背零,但不能創(chuàng)建資源腰吟。應(yīng)使用PUT或POST方法來創(chuàng)建資源。
PUT和POST方法有什么區(qū)別徙瓶?
POST用于在服務(wù)器上創(chuàng)建新對象毛雇,PUT請求用于在替換對象。
當客戶端將頁面發(fā)送到服務(wù)器侦镇,然后服務(wù)器讓客戶端知道它放在何處時灵疮,應(yīng)該使用POST。當客戶端指定頁面的位置時壳繁,應(yīng)使用PUT震捣。
參考資料
- 討論 釘釘群21745728 qq群144081101 567351477
- 本文最新版本地址
- 10分鐘學(xué)會API測試
- 本文涉及的python測試開發(fā)庫 謝謝點贊!
- 本文相關(guān)海量書籍下載
- 軟件測試工具書籍與面試題匯總下載(持續(xù)更新)