介面和介面測驗的概念&HTTP協議&介面風格&介面測驗流程
- 1 什么是介面?
- 1.1 用戶界面
- 1.1 硬體介面
- 1.2 軟體介面
- 1.2.1 介面型別
- 2 什么是介面測驗?
- 2.1 原理
- 2.2 分類
- 2.3 介面測驗的優點
- 3 HTTP協議
- 3.1 URL
- 3.2 HTTP請求
- 3.2.1 請求行
- 3.2.2 請求頭
- 3.2.3 請求體
- 3.3 HTTP回應
- 3.3.1 回應行/狀態行
- 3.3.2 回應頭
- 3.3.3 回應體
- 3.4 介面風格
- 3.4.1 傳統風格介面
- 3.4.2 RESTful風格介面
- 4 介面測驗流程
1 什么是介面?
1.1 用戶界面
人類與電腦等資訊機器或人類與程式之間的介面
1.1 硬體介面
電腦等資訊機器硬體組件間的介面
1.2 軟體介面
電腦等資訊機器軟體組件間的介面,是資料互動的通道,在系統或組件間,完成資料的傳遞,
1.2.1 介面型別
(1)按協議劃分:
HTTP、TCP、UDP、IP、FTP等
(2)按語言劃分:
Python、Java、PHP、C、C++等
(3)按范圍劃分:
- 系統之間:內部系統之間,內部系統和外部系統之間,
- 程式內部:方法函式和方法之間;類和類之間;模塊和模塊之間,
2 什么是介面測驗?
介面測驗主要測驗系統或組件之間互動的資料的正確性,以及邏輯依賴關系的正確性,代替前端或者第三方驗證后臺回應資料是否正確,
2.1 原理
測驗人員模擬客戶端向服務器發送請求報文,服務器接收請求報文后對相應的報文做處理并向客戶端回傳應答,客戶端接收回應資料后并進行判斷的一個程序,
可使用工具(Postman、Fidler、jmeter)或代碼(Python+unittest+request)模擬客戶端向服務器發送請求,校驗服務器回發的回應資料是否與預期結果一致,
2.2 分類
(1) Web介面測驗
- 1)服務器介面測驗:測驗服務器與瀏覽器的介面
- 2)外部介面測驗:第三方介面測驗
(2)模塊介面測驗(C/S架構的應用)
2.3 介面測驗的優點
(1)介面測驗符合測驗質量控制前移原則,提早介入,
(2)可以發現頁面操作發現不了的問題,
(3)可以提高測驗效率,提升用戶體驗,降低研發成本(介面的一個BUG可能對應上層界面多個BUG),
(4)介面測驗也是站在用戶角度開展的測驗,
3 HTTP協議
協議是計算機通信網路中兩臺計算機之間進行通信所必須共同遵守的規則或規定;HTTP協議,即超文本傳輸協議,規定了瀏覽器和服務器之間通信的規則,是基于請求和回應模式的應用層協議,是目前互聯網中廣泛使用的一種協議,
HTTP協議特點:支持客戶端、服務器模式、簡單快速、靈活、無連接、無狀態
3.1 URL
URL,即統一資源定位符,是互聯網上標準資源的地址,HTTP使用
URL來建立連接和傳輸資料,互聯網上的每個資源都有唯一的URL,
格式:協議://域名:埠號/路徑?查詢引數1&查詢引數2

- 協議:HTTP/HTTPS
- 域名:本質是IP地址,是為了方便用戶去記憶,而自己設計的一個名字,一般需要花錢購買,由一級域名,二級域名,三級域名組成,和服務器一樣都需要花錢購買,國內常見的服務商有:萬網,新網,西部資料,美橙互聯等
- 一級域名:最后一個點后面的內容,.com, .net, .cn(如:www.baidu.com的一級域名為:com)
- 二級域名:一級域名左邊,一般為需求方自己設計,一級域名和二級域名連在一起應是全世界唯一(如:www.baidu.com的二級域名為:baidu)
- 三級域名:一般為用戶自定義,最常見的就是www
- 埠號:在網路主機上定位一個應用,埠號可以省略,沒有指定埠號,默認跟隨協議
- HTTP協議默認埠號:80
- HTTPS協議默認埠號:443
- 路徑:對應網頁的源代碼或網路中的一個資料資源;若資源路徑為空,相當于資源路徑為“/”,
- 查詢引數:傳參給網頁原始碼,查詢引數語法為鍵值對
3.2 HTTP請求
HTTP請求由客戶端發送給服務器,規定了發送給服務器的資料語法格式;請求內容包括:請求行、請求頭、請求空行、請求體
3.2.1 請求行
主要內容:請求方法、 URL、協議版本

(1)請求方法:
| 請求方法 | 主要作用 | 請求體有無資料 |
|---|---|---|
| POST | 新增 | 有 |
| GET | 查詢 | 無 |
| PUT | 修改 | 有 |
| DELETE | 洗掉 | 無 |
(2)協議版本:http1.1、http1.2、http2.0,主要使用 http1.1
3.2.2 請求頭
請求頭中的資料(資料為鍵值對)主要向服務器描述客戶端/瀏覽器的基本資訊,

Accept:客戶端能夠顯示的資訊型別
Accept-Encoding:瀏覽器支持的壓縮型別
Accept-language: 瀏覽器支持的語言型別
Connection:連接方式,如:Connection:keep-alive ??保持較短連接,反復和服務器通訊
Cookie
host:主機
User-Agent:向服務器描述瀏覽器的型別
Content-Type: 請求體的資料型別
3.2.3 請求體
POST和PUT請求有請求體,GET和DELETE請求沒有請求體,
新版本谷歌瀏覽器開發者工具中,請求體獨立出了一個頁簽,

3.3 HTTP回應
HTTP回應由服務器回發送給客戶端,規定了服務器回發給客戶端的資料的語法格式,回應內容包括回應行/狀態行、回應頭、回應空行、回應體
3.3.1 回應行/狀態行
主要內容:協議版本、狀態碼、狀態描述
(1)協議版本
http1.1、http1.2、http2.0,主要使用 http1.1
(2)狀態碼
針對http請求,回應的狀態,
* 狀態碼由3位數字組成,第一位數字定義了回應型別,有5種可能取值:
- 1xx:指示資訊——表示請求已接收,繼續處理
- 2xx:成功——表示請求已被成功接收、理解、接受
- 3xx:重定向——要完成請求必須進行更進一步的操作
- 4xx:客戶端錯誤——請求有語法錯誤或請求無法實作
- 5xx:服務端錯誤——服務器無法實作合法的請求
| 狀態碼 | 描述 |
|---|---|
| 200 | 服務器成功回傳用戶請求的資料 |
| 201 | 用戶新建或修改資料成功 |
| 202 | 表示一個請求已經進入后臺排隊(異步任務)(客戶端發送的請求服務端已接受,但服務器還未完成處理) |
| 204 | 用戶洗掉資料成功 |
| 301 | 請求地址被永久移動到新的URL,網頁會跳轉到新的URL |
| 302 | 請求地址被臨時性移動 |
| 400 | 用戶發出的請求有錯誤,服務器沒有進行新建或修改資料的操作 |
| 401 | 表示用戶沒有權限(用戶名、密碼、令牌錯誤) |
| 403 | 用戶被授權,但訪問被禁止,服務器理解客戶端的請求,但拒絕處理它,通常是服務器上檔案或目錄權限問題導致的Web訪問錯誤 |
| 404 | 服務器無法根據請求找到資源,請求的資源(網頁)不存在了 |
| 406 | 用戶請求的格式不存在(用戶請求JOSN格式的資料,但只有XML的) |
| 410 | 用戶請求的資源被永久洗掉, 且不會再得到 |
| 501 | 服務器不具備完成請求的功能,無法完成此請求 |
| 505 | 服務器發生了內部錯誤,無法完成客戶端請求 |
更完整的狀態碼可參照:https://blog.csdn.net/wyp1725726792/article/details/102741600
3.3.2 回應頭
回應頭向客戶端描述服務器的基本資訊,

Content- Type:向客戶端描述回應體的資料型別
Server:服務器的版本
X- Frame- Option:網頁中能否顯示iframe,same origin表示該頁面可以在相同域名頁面的 frame 中展示,
Content- length:回應體長度
3.3.3 回應體
回應體的資料型別受回應頭中Content-Type的值影響,回應體的常見的型別:json、表單、圖片,

3.4 介面風格
3.4.1 傳統風格介面
傳統風格介面針對用戶的某一個操作(增刪改查)URL不唯一,即一個操作可能對應多個URL,回應狀態碼全部都為 200,
全部使用POST和GET實作對資料的基本操作,
3.4.2 RESTful風格介面
RESTful是一種為了提高程式易讀性和易維護性而制定的介面設計規范,是一個資源定位、資源操作的風格,而非標準,只是提供了一組設計原則,使用唯一的URL定位唯一的資源,在 URL中不使用動詞,而替換使用詞,結合請求方法,區分具體增刪改查操作,
Restful風格規范了:
(1)URL的實作方式
(2)請求的資料的實作方式
(3)回應的資料的實作方式
RESTful風格使用POST、DELETE、PUT、GET分別表示增、刪、改、查四種操作,
- POST:從服務器新建一個資源
- DELETE:從服務器洗掉資源
- PUT:從服務器更新資源
- GET:從服務器獲取一項或多項資源
(1) 增
- 請求方式:POST
- 提交資料格式:鍵值對 或 JSON
- 回應狀態碼: 201 或 200(更多為201)
- 回應回傳的資料:回傳新生成的資源物件
(2)刪
- 請求方式:DELETE
- 提交資料格式:鍵值對
- 回應狀態碼:204
- 回應回傳的資料:空
(3)改
- 請求方式:PUT
- 提交資料格式:鍵值對 或 JSON
- 回應狀態碼:201 或 200 (更多為201)
- 回應回傳的資料:回傳完成的資源物件
(4) 查
- 請求方式:GET
- 提交資料格式:鍵值對 或 JSON
- 回應狀態碼:200
- 回應回傳的資料:回傳資源物件的串列/陣列 或 單個資源物件
4 介面測驗流程
step1:分析需求檔案,參與需求評審
step2:結合開發提供的介面檔案,分析介面
step3:撰寫介面測驗用例
step4:執行介面測驗用例(通過Postman、fiddler、jmeter,或者使用代碼方式:Python + UnitTest + requests)
step5:對缺陷進行跟蹤管理
step6:撰寫介面測驗報告
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/398657.html
標籤:其他
上一篇:傳輸層(概念)
下一篇:常見狀態回應碼
