南京正厚軟件技術(shù)培訓(xùn)學(xué)校

7x24小時(shí)咨詢熱線

400-660-3310

當(dāng)前位置 : 好學(xué)校 南京正厚軟件技術(shù)培訓(xùn)學(xué)校 學(xué)習(xí)資訊 資訊詳情

接口相關(guān)的概念

2021-09-02

圖片

接口相關(guān)的概念

什么是接口(接口的分類):

  • 硬件接口—
  • 串口、光纖接口、電腦上的接口
  • 軟件接口
  • API應(yīng)用程序編程接口 :硬件的驅(qū)動(dòng)程序 , 數(shù)據(jù)庫系統(tǒng)的訪問接口
  • GUI用戶圖形界面 人與軟件之間的交互界面
  • Webservice 接口 (soup 、 rmi 、 rpc 協(xié)議)
  • Http request接口 Get,Post,Put,Delete 等)(重點(diǎn))
  • 要知道http協(xié)議——報(bào)文的內(nèi)容、請(qǐng)求頭、請(qǐng)求行、請(qǐng)求體、請(qǐng)求方式(get、post)、狀態(tài)碼

接口測試的必要性

為什么要做接口測試

  • 系統(tǒng)數(shù)量多、復(fù)雜度增高,同時(shí)保持各自獨(dú)立性。
  • 系統(tǒng)間調(diào)用存在數(shù)據(jù)交互,發(fā)現(xiàn)頁面操作發(fā)現(xiàn)不了的 Bug 。
  • 接口之間訪問時(shí),對(duì)接口數(shù)據(jù)的準(zhǔn)確性要求很高。
  • 檢查系統(tǒng)的異常處理
  • 檢查系統(tǒng)的安全性,穩(wěn)定性
  • 前端變了,接口測好了,后端不要變
  • 接口測試主要測試接口覆蓋率

接口測試的覆蓋范圍

面試問:接口測試都測試什么內(nèi)容/接口測試從哪些方面去考慮:(答以下內(nèi)容)

軟件測試二

接口測試的定義

  • 接口測試
  • 測試系統(tǒng)組件間接口的一種測試。
  • 主要用于檢測外部系統(tǒng)與系統(tǒng)之間以及內(nèi)部各個(gè)子系統(tǒng)之間的交互點(diǎn)。
  • 測試的重點(diǎn)
  • 是要檢查數(shù)據(jù)的交換,傳遞和控制管理過程,以及系統(tǒng)間的相互邏輯依賴關(guān)系等。
  • 接口測試本質(zhì):(問:接口測試是什么,回答本質(zhì))1.發(fā)送一個(gè) request ,然后服務(wù)器響應(yīng)2.服務(wù)端返回一個(gè) response ,對(duì) response 進(jìn)行分析。
  • (面試時(shí)問:接口測試的bug——答:錯(cuò)誤碼與定義的錯(cuò)誤不匹配)
  • 界面上操作的按鈕,只要與后臺(tái)數(shù)據(jù)有聯(lián)系,就是接口
  • 系統(tǒng)與系統(tǒng)之間也有接口
  • 一個(gè)系統(tǒng)需要調(diào)用其他產(chǎn)品的功能(接口),就成它為外部接口——一個(gè)軟件需要用到微信或者支付寶掃碼,就叫調(diào)用微信、支付寶的接口

接口測試依據(jù)

  • 接口設(shè)計(jì)文檔包含如下內(nèi)容:
  • 接口概述:
  • 接口名稱
  • 接口功能
  • 接口類別
  • 提交者、提交時(shí)間、需求來源及時(shí)間要求
  • HTTP 請(qǐng)求方式
  • 認(rèn)證說明
  • 請(qǐng)求限制說明
  • 請(qǐng)求參數(shù)說明
  • 相關(guān)約束
  • 注意事項(xiàng)
  • 調(diào)用示例
  • 示例說明
  • 返回說明
  • 返回?cái)?shù)據(jù)格式
  • 返回結(jié)果示例
  • 錯(cuò)誤代碼及返回說明

接口測試范圍&內(nèi)容

  • 安全性
  • 調(diào)用方式
  • 參數(shù)格式校驗(yàn)
  • 返回結(jié)果
  • 功能邏輯
  • 其他異常場景

接口文檔說明

接口文檔說明

api文檔內(nèi)容

聚合網(wǎng)地址:https://www.juhe.cn/

api文檔內(nèi)容
api文檔內(nèi)容二

錯(cuò)誤碼參照

錯(cuò)誤碼參照

接口返回?cái)?shù)據(jù)

接口返回?cái)?shù)據(jù)二

常用工具

  • 典型商業(yè)工具:loadrunner 、 soapui
  • 典型開源工具 : jmeter 、 httpclient 、 jsoup、python中的 urllib2 、 urllib 庫或 requests
  • 擴(kuò)展插件:Poster ( firefox 、 Postman(Chrome) 目前有獨(dú)立安裝版本

接口抓包工具

  • 請(qǐng)求捕獲( Firebug 、 Fiddler 、 BurpSuite 、 Httpwatch
  • 請(qǐng)求變更 (Poster 、 Postman 、 HttpRequest 、 TemperData
  • Http抓包:HTTP Analyzer
  • 通用數(shù)據(jù)抓包:MiniSniffer
  • 進(jìn)程級(jí)抓包:WSExplorer

接口測試原理

  • 模擬客戶端對(duì)服務(wù)器進(jìn)行多連接
  • 偽造報(bào)文欺騙服務(wù)器認(rèn)證機(jī)制
  • 了解服務(wù)器認(rèn)證機(jī)制
  • 了解客戶 服務(wù)器之間的交流報(bào)文結(jié)構(gòu)
  • 合理的技術(shù)構(gòu)造報(bào)文結(jié)構(gòu)
  • HTTP request、 Webservice 應(yīng)用居多。

http協(xié)議

  1. 支持客戶 服務(wù)器模式
  2. 簡單快速:客戶向服務(wù)器請(qǐng)求服務(wù)時(shí),只需傳送請(qǐng)求方法和路徑。請(qǐng)求方法常用的有 GET 、 HEAD 、 POST 每種方法規(guī)定了客戶與服務(wù)器聯(lián)系的類型不同。由于HTTP 協(xié)議簡單,使得 HTTP 服務(wù)器的程序規(guī)模小,因而通信速度很快;
  1. 靈活:HTTP 允許傳輸任意類型的數(shù)據(jù)對(duì)象。正在傳輸?shù)念愋陀?Content Type 加以標(biāo)記;
  2. 無連接:無連接的含義是限制每次連接只處理一個(gè)請(qǐng)求。服務(wù)器處理完客戶的請(qǐng)求,并收到客戶的應(yīng)答后,即斷開連接。采用這種方式可以節(jié)省傳輸時(shí)間;
  1. 無狀態(tài):HTTP 協(xié)議是無狀態(tài)協(xié)議。無狀態(tài)是指協(xié)議對(duì)于事務(wù)處理沒有記憶能力。缺少狀態(tài)意味著如果后續(xù)處理需要前面的信息,則它必須重傳,這樣可能導(dǎo)致每次連接傳送的數(shù)據(jù)量增大。另一方面,在服務(wù)器不需要先前信息時(shí)它的應(yīng)答就較快。
  2. Keep Alive :長連接和短連接

發(fā)包工具

  • Poster
  • Postman
  • Temper Data
  • IBM Rational HTTP Request Editor
  • ……

接口測試分層

  1. 單一接口功能的測試
  2. 單系統(tǒng)模塊內(nèi)部通過接口基于業(yè)務(wù)測試
  1. 各系統(tǒng)、各模塊之間通過接口訪問的業(yè)務(wù)測試

接口測試工具介紹

  • http 接口:
  • 是走 http 協(xié)議,通過路徑來區(qū)分調(diào)用的方法,
  • 請(qǐng)求報(bào)文都是 key value 形式的,返回報(bào)文一般都是 json 串,有 get 和 post 等方法,這也是最常用的兩種請(qǐng)求方式。
  • 可以使用的工具有 Postman 、 HttpRequest 、JMeter 、 Loadrunner 等
  • WebService 接口:
  • 是走 soap 協(xié)議通過 http 傳輸,
  • 請(qǐng)求報(bào)文和返回報(bào)文都是 xml 格式的,我們?cè)跍y試的時(shí)候都用通過工具才能進(jìn)行調(diào)用,測試。
  • 可以使用的工具有SoapUI 、 JMeter 、 Loadrunner等

postman(只能測http協(xié)議的接口)

  • 是谷歌的一款接口測試插件,
  • 它使用簡單,支持用例管理,支持 get 、 post 、文件上傳、響應(yīng)驗(yàn)證、變量管理、環(huán)境參數(shù)管理等功能,
  • 可以批量運(yùn)行,并支持用例導(dǎo)出、導(dǎo)入。
  • 最近 2 年也有獨(dú)立安裝的應(yīng)用程序,只能測試 Http 協(xié)議的接口。

環(huán)境搭建

jmeter(能測所有的)

  • 是一款 Java 編寫的免費(fèi)開源的工具,它主要用來做接口,性能測試,
  • 相比 Loadrunner 來說,它內(nèi)存占用小,免費(fèi)開源,輕巧方便、無需安裝,越來越被大眾所喜愛。
  • 它的執(zhí)行需要 JDK 環(huán)境,可以測試多種協(xié)議接口。

postman使用

postman使用

建立響應(yīng)請(qǐng)求

此處為語雀視頻卡片,點(diǎn)擊鏈接查看:建立響應(yīng)請(qǐng)求.mp4

前提是要在黑窗口建立連接不關(guān)閉:python manage.py runserver 0.0.0.0:8000

建立響應(yīng)請(qǐng)求

查詢發(fā)布會(huì)接口舉例

接口文檔如下:

查詢發(fā)布會(huì)接口舉例

數(shù)據(jù)庫內(nèi)容如下

數(shù)據(jù)庫內(nèi)容如下

用eid查詢后返回?cái)?shù)據(jù)庫中相應(yīng)的內(nèi)容

用eid查詢后返回?cái)?shù)據(jù)庫中相應(yīng)的內(nèi)容

用name查詢后返回值如下

用name查詢后返回值如下

正確的eid和錯(cuò)誤的那么

正確的eid和錯(cuò)誤的那么

返回值不同狀態(tài)碼的對(duì)比

此處為語雀視頻卡片,點(diǎn)擊鏈接查看:返回值不同狀態(tài)碼的對(duì)比.mp4

斷言

返回值不同狀態(tài)碼的對(duì)比

前置腳本定義變量

前置腳本定義變量
前置腳本定義變量二

管理環(huán)境參數(shù)化

此處為語雀視頻卡片,點(diǎn)擊鏈接查看:參數(shù)化 的設(shè)置.mp4

用接口的方式添加數(shù)據(jù)

用接口的方式添加數(shù)據(jù)
用接口的方式添加數(shù)據(jù)二

導(dǎo)出Json文件

導(dǎo)出Json文件
收藏
分享到:

相關(guān)課程

相關(guān)資訊

南京正厚軟件技術(shù)培訓(xùn)學(xué)校

南京正厚軟件技術(shù)培訓(xùn)學(xué)校

認(rèn)證等級(jí)

信譽(yù)良好,可安心報(bào)讀

南京正厚軟件技術(shù)培訓(xùn)學(xué)校

已獲好學(xué)校V2信譽(yù)等級(jí)認(rèn)證

信譽(yù)值

  • (60-80)基礎(chǔ)信譽(yù)積累,可放心報(bào)讀
  • (81-90)良好信譽(yù)積累,可持續(xù)信賴
  • (91-100)充分信譽(yù)積累,推薦報(bào)讀

與好學(xué)校簽訂讀書保障協(xié)議:

  • 100%
  • 65
  • 12367
在線咨詢
;