接口測試中的接口究竟是什麼?

接口測試中的接口究竟是什麼

1

先看一道題。請找出如下能夠被成爲接口的選項:html

2

接口的英文是 interface。後端

interface的中文譯名爲 「界面」 或 「接口」。當接口是 interface 的譯名時,接口是用於溝通的中介物的抽象化概念。api

不一樣的事物之間很難有辦法進行溝通交流,因此纔有牛頭不對馬嘴的說法。電腦要想獲取手機裏面的數據,最簡單的辦法就是使用一個適配器把兩者匹配起來,這個東西就是 USB 接口。電腦要想通電,和電力系統進行交流,也須要用到接口,也就是電源適配器。水龍頭的做用也相似。服務器

這類接口被稱爲硬件接口。硬件接口(hardware interface)指的是兩個硬件設備之間的鏈接方式。硬件接口既包括物理上的接口,還包括邏輯上的數據傳送協議。

像 USB接口,3.5mm 耳機接口都屬於接口。有了接口,咱們就能夠對不一樣的物體進行適配,讓他們之間進行數據交互,達到溝通的目的。可是他們相互之間並不知道對方內部發生了什麼事情,他們在意的是對方到底有沒有給我相應的數據和回饋。

耳機裏面播放出音樂,耳機是不會管電腦和手機是如何把一個 mp3 文件轉化成聲音的,更不會管 cpu 裏有多少個晶體管在工做,不會管他們用的是 Intel 芯片仍是 海思芯片。

一樣的,當咱們去銀行取錢的時候,咱們只須要提交申請單給銀行櫃員,而後銀行櫃員會給咱們不少錢,至於工做人員在櫃檯後面執行了什麼操做,咱們是不知道到的。

3

接口除了硬件接口,還有軟件接口。這也是咱們平常主要理解的接口形式。軟件接口是涉及到軟件程序和其餘系統進行交互溝通的時候的接口。它能夠分爲兩類:

  • 用戶和程序之間的中介。

  • 程序與程序之間的中介。

用戶和程序之間的中介被稱爲用戶界面或者用戶接口,也就是 UI (User Interface)。因此 UI 也是一種接口。

程序與程序之間的中介被稱爲應用程序編程接口,英文名是 API (Application Programming Interface)。

4

API(Application Programming Interface,應用程序編程接口)是一些預先定義的函數,目的是提供應用程序與開發人員基於某軟件或硬件得以訪問一組例程的能力,而又無需訪問源碼,或理解內部工做機制的細節。

經過定義能夠知道,API 仍是繼承了接口定義的特性,提供的仍是和其餘系統進行溝通的能力,而不須要其餘系統如何實現的。

用來描述 API 的功能和具體設置的說明被成爲 API 文檔,也叫接口文檔。接口文檔一般包含如下部分:

  • 接口名稱和做用

  • 接口請求參數

  • 接口返回數據

  • 接口異常數據

5

若是你會一門編程語言,好比說 python。你老是會有機會接觸到第三方庫的 API 文檔,像咱們常用的 requests 庫的 API 文檔就在這裏:https://2.python-requests.org//zh_CN/latest/api.html

文檔中關於 get 這個接口的文檔描述是這樣的:

  • 接口名稱:get

  • 接口做用:Sends a GET request

  • 接口參數:url, params, **kwargs

  • 接口返回數據:requests.Response

6

經過上面的例子咱們知道一個接口對應的實際上是一個函數,接口 get 指的就是 request.get(url, params=None, **kwargs) 這個函數。固然他也能夠經過類的形式存在。

函數 f() 就像機器或黑箱,給予輸入值 x 便產生惟一輸出值 f(x) 。這和接口的解釋殊途同歸。他們都只關心相互傳遞的數據,而不關心對方內部的實現過程。

當你寫了一個庫,裏面有不少函數,若是別人要使用你這個庫,可是看不懂每一個函數內部是怎麼實現的。這個時候他就會去看你關於這個函數的說明。這個函數的做用是什麼,須要傳遞哪些參數,會返回什麼數據。對於使用這些函數的用戶來講 ,你的這些函數就是 API。

7

在工做中有一個很是有意思的現象,咱們會把某個 URL 稱爲接口。這是爲何呢?

在進行 HTTP 請求的時候一般來講 URL 地址會和接口進行綁定。當訪問一個 URL 地址時,服務器會執行對應的接口,也就是函數。

若是後端工程師提供一個函數給我,說這是你要的登陸接口,我確定會很困惑,由於我不知道函數是什麼;但若是他給我一個 URL 地址,我就會很是開心。

由於函數對於非專業人員不友好,因此咱們一般就用 URL 來代替函數來稱呼接口。當咱們討論某個接口的時候,指的是 URL 後面綁定的函數。

相關文章
相關標籤/搜索