1. 程式人生 > 其它 >HTTP協議4.14

HTTP協議4.14

API自動化測試

介面測試又稱API測試,是軟體的一種測試模式,它包含兩個維度,在俠義的角度上指的是對對應用程式介面的功能進行測試,在廣義的維度上是指整合測試中,通過呼叫API測試整體的功能來完成度,可靠性,安全性和效能

金字塔模型

測試工作可以分為兩個維度:

1、質量管理

2、測試效率

質量管理:指的是能夠積極的尋求推動問題解決方案和持續改進質量提升,

測試效率:可以說通過技術手段來提升研發效率從而進一步來提升測試效率

進入工作中 ,一天上班 首先就需要開早會,早會中我們需要對做以下問題:

1、昨天干了什麼  

2、今天準備幹什麼  

3、存在什麼問題(昨天工作中存在的問題,今天工作需要哪些人員配合下)

 

 

 ui層:功能測試-- ui自動化

service 層:介面測試  2個服務之間整合後的測試  又稱API

unit層:單元測試   經常用於白盒測試  這個對技術的要去度非常的高  

金子塔的理解:

越底層的應該投入大量的精力去做,越上層的投入少量的精力去做

有很多主流的測試⼯具都可以做接⼝測試,如PostMan,JMeter,SoupUi等,除了⼯具還有在Python語⾔中很多 的第三⽅的庫都是可以來做接⼝測試的,如:urllib,requests,aiohttp等

方法論:

1、類比---在不同的事務中找到共同點

2、科學方法論

這個裡面有一個很大問題的解決思路:

a、把它拆分成小的問題   

b、逐步解決每個小問題

介面測試

1、協議---介面測試本質

2、主流工具---通過工具怎麼做這個事情

3、程式碼框架

4、MockServer

HTTP協議;

HTTP協議,也可以稱呼為超文字傳輸協議   它的預設埠是8.0,目前使用的版本是HTTP/1.1,最新的版本是HTTP/2.0,

HTTP/2.0版本使用:在分散式架構以及微服務架構中,基於新一代的架構設計有了gRPC的協議,它就是基於HTTP/2.0的版 本來進⾏設計的。

gRPC的協議:應用在網際網路金融的領域

TCP/IP協議按層次主要為:應用層,傳輸層,網路層,資料鏈路層。

協議---雙方共同遵循的一套標準

應⽤層決定了向⽤戶提供應⽤服務時通訊的活動。⽽HTTP的協議和gRPC的協議就是屬於應⽤層的協議

傳輸層 應⽤層的下層是⽹絡傳輸層,提供處於⽹絡連線中的兩臺計算機之間的資料傳輸。

⽹絡層 主要是⽤來處理⽹絡上流動的資料包,所謂資料包就是⽹絡傳輸中的最⼩單位,在該層協議中,規範了通過怎樣的 路徑到達⽬標計算機,並且把資料包傳送給對⽅

網路層的目的:

1、保障資料傳輸

2、知道資料傳輸的目的地

鏈路層 主要是處理連線⽹絡的硬體部分,如作業系統,硬體裝置的驅動等

 

 

三次握⼿

為了確保把資料能夠送到⽬標的伺服器,TCP協議內部使⽤了三次握⼿的策略機制,也就是說在TCP協議中,TCP 把資料包送去後,TCP會進⾏確認對⽅是否收到,或者是確認是否成功送達,那麼三次握⼿主要使⽤了TCP的標 志,具體為:SYN和ACK。⾸先Client端傳送連線請求報⽂,Server段接受連線後回覆ACK報⽂,併為這次連線分配 資源。Client端接收到ACK報⽂後也向Server段傳送ACK報⽂,並分配資源,這樣TCP連線就建⽴了。總結三次握⼿ 具體為:

第⼀次握⼿:起初兩端都處於CLOSED關閉狀態,Client將標誌位SYN置為1,隨機產⽣⼀個值seq=x,並將該 資料包傳送給Server,Client進⼊SYN-SENT狀態,等待Server確認;

第⼆次握⼿:Server收到資料包後由標誌位SYN=1得知Client請求建⽴連線,Server將標誌位SYN和ACK都置 為1,ack=x+1,隨機產⽣⼀個值seq=y,並將該資料包傳送給Client以確認連線請求,Server進⼊SYN-RCVD 狀態,此時作業系統為該TCP連線分配TCP快取和變數;

第三次握⼿:Client收到確認後,檢查ack是否為x+1,ACK是否為1,如果正確則將標誌位ACK置為1, ack=y+1,並且此時作業系統為該TCP連線分配TCP快取和變數,並將該資料包傳送給Server,Server檢查ack 是否為y+1,ACK是否為1,如果正確則連線建⽴成功,Client和Server進⼊ESTABLISHED狀態,完成三次握 ⼿,隨後Client和Server就可以開始傳輸資料

3次握手的目的:

 保障資料傳輸的安全性和可用性

URL是統⼀資源定位符

URI可以稱為統⼀資源識別符號

在微服務的架構模式下,使⽤的也是輕量級的 通訊模式(REST API),在微服務的架構模式中,需要清楚的是它的通訊可以分為同步通訊模式和非同步通訊模式

http請求流程

1、客戶端與服務端之間建立TCP的連線請求

2、客戶端傳送Request請求到服務端

3、服務端Response響應回覆客戶端的請求

4、客戶端與服務端之間關閉TCP的連線請求

 

 

持久連線:connection:keep-alive

只需要建立一次客戶端的連線