介面測試-postman
學習和掌握介面測試的概念和原理。掌握HTTP/HTTPS協議的原理,學習和掌握Dubbox的介面測試方法和協議介面能力,主要掌握Postman的操作以及使用技巧
①HTTP/HTTPS協議:(https------協議(超文字傳輸協議、無狀態) https------s=ssl
eg-----https://www.baidu.com/s?wd=https
443-------埠(http預設埠80,https預設埠443)
/s--資源路徑
Wd=https------引數
https是http的利用ssl加密資料包,提供對烏洛伺服器的身份認證,保護交換資料的隱私與完整
將公鑰放入數字證書中,保證公鑰不會篡改
客戶端發起https請求------ssl利用證書(公鑰)進行解析和加密---傳送加密資訊至伺服器---伺服器利用私鑰進行解密並處理-----處理的資料進行加密後響應客戶端------客戶端解密後渲染和展現內容
②請求:學習和掌握常見的Get、Post請求
都是http協議,一般get是從伺服器獲取資料,post是向伺服器傳送資料
get一般沒有請求體,引數放在url後面,一次傳輸效率高,但資料安全性低
Post將資料放在請求體中,安全性要高,而先傳輸請求頭,在傳輸請求體,兩次傳輸,所以請求頭會比get要小,可以更好的保證
③Cookie:學習和掌握Cookie、Session、token的原理以及解決方案
Cookie:存放於客戶端,傳送請求後,伺服器返回cookie,下次請求攜帶cookie訪問,容易被篡改,內容小,不安全(瀏覽器禁止cookie--通過url重寫,即url後面加上sid=xxx引數)
Session:存放於伺服器,傳送請求後,伺服器生成key-value值,以cookie的形式返回key(sessionid),下次請求攜帶key訪問,較安全,但資料量一多影響效能,且伺服器做分部署部署時,訪問不同的伺服器就無法找到對應的value(通過session叢集來集中存放seesion
Token:與session原理差不多,將使用者uid、過期時間等敏感資料存放在客戶端、互動式對比token的簽名驗證合法性、可跨域,解決session佔記憶體的弊端,以計算換時間
④介面相關:學習掌握介面的文件、介面的基本概念以及介面的測試用例編寫,熟悉和掌握介面相關的Postman、Jmeter、SoapUI等測試工具的使用方法
介面測試的測試用例編寫:不單單針對引數值進行,還可以針對引數本身進行測試
正向引數----必選引數:所有的必選(必填引數)都包含、組合引數:所有的必選+任意一個或多個可選引數、全部引數:所有的必選+所有的可選引數
反向引數----多參:多出一個或多個必選引數、少參:缺少一個或多個必選引數、無參:沒有必選引數、錯誤引數:引數名輸入有誤
⑤UDP、TCP和http關係和區別
TCP(傳輸控制協議)是基於連線的協議,類似於互通電話,在正式收發資料前,必須和對方建立可靠的連線。一個TCP連線必須要經過三次握手才能建立起來,通過四次揮手斷開連結
三次握手:主要作用就是為了確認雙方的接收能力和傳送能力是否正常、指定自己的 初始化序列號,為後面的可靠性傳輸做準備
第一次握手:客戶端向服務端傳送一個 SYN 報文(SYN = 1)
第二次握手:伺服器收到客戶端的 SYN 報文,會發送 SYN 報文作為應答(SYN = 1)
第三次握手:客戶端收到伺服器端響應的 SYN 報文之後,會發送一個 ACK 報文,此時客戶端處於 Establised 狀態。伺服器收到 ACK 報文之後,也處於 Establised 狀態,至此,雙方建立起了TCP連線
四次揮手:由TCP 的半關閉特性造成的,TCP 提供了連線的一端在結束它的傳送後還能接收來自另一端資料的能力。
第一次揮手:客戶端傳送一個 FIN 報文(請求連線終止:FIN = 1),並停止再發送資料,主動關閉 TCP 連線
第二次揮手:服務端收到 FIN 之後,會發送 ACK 報文,此時的 TCP 處於半關閉狀態,客戶端到服務端的連線釋放
第三次揮手:如服務端也想斷開連線(沒有要向客戶端發出的資料),傳送FIN報文
第四次揮手:客戶端收到 FIN 之後,一樣傳送一個 ACK 報文作為應答,這個時候由服務端到客戶端的 TCP 連線並未釋放掉,需要經過時間等待計時器設定的時間 2MSL(一個報文的來回時間)後才會進入 CLOSED狀態
UDP(使用者資料報協議)是與TCP相對應的協議,類似於發簡訊。它是面向非連線的協議,它不與對方建立連線,而是直接就把資料包傳送過去!
⑥postman---newman
全域性變數和環境變數---獲取和設定—用例集---生成報告
引數化(csv、json)—依賴(環境變數)