介面自動化-介面測試初介
阿新 • • 發佈:2018-11-04
前期針對介面測試做了些整理分享,本文主要介紹介面測試基礎內容。後續會針對介面自動化(Jmeter,RobotFramework,其實Postman也可以)以及持續整合做相關介紹。
介面測試定義
介面測試是測試系統元件間介面的一種測試。
介面測試主要用於檢測外部系統與系統之間以及內部各個子系統之間的互動點。
測試的重點是要檢查資料的交換,傳遞和控制管理過程,以及系統間的相互邏輯依賴關係等。
為什麼做介面測試
- 系統複雜度不斷上升,傳統的測試方法成本急劇增加且測試效率大幅下降;
- 單一產品之間的測試已不能滿足質量需求,產品與產品之間的互動也要保障,跨產品的聯調必不可少,之間的橋樑更多是介面;
- 系統前後端分析是很普遍的,從安全層面來說,只依賴前端進行限制已經完全不能滿足系統的安全要求, 後端同樣需要進行控制,這種情況下更多是介面驗證。
- 介面測試相對簡單且容易實現自動化持續整合,相對UI自動化更加穩定,可以減少人工迴歸測試人力成本與時間,縮短測試周期,支援快速迭代發版的需求。
介面的分類
- web service介面,走soap協議通過http傳輸,請求報文和返回報文都是xml格式的,測試時通過工具soapUI進行測試。
- http api介面,走http傳輸協議,通過路徑來區分呼叫的方法,最常用的是get和post請求,其它PUT/DELETER/HEAD等。
GET和POST請求 get請求,直接在瀏覽器裡輸入 只要在瀏覽器裡面直接能請求到的,都是get請求。
post的請求,需要藉助工具來發送body。
GET請求和POST請求的區別
- GET使用URL或Cookie傳參。而POST將資料放在BODY中。
- GET的URL會有長度上的限制,不能大於2KB,POST的資料則可以非常大。
- POST比GET安全,因為資料在位址列上不可見。
- 一般get請求用來獲取資料,post請求用來發送資料。
介面測試相關工具
介面測試工具:SoapUI/Jmeter/Postman/等
介面管理工具:RAP/Postman/swagger等
抓包工具:fiddler/Httpwatch/wireshark/Charles等
介面測試過程
需求評審->介面定義->用例設計->測試執行->結果分析
介面測試用例
介面測試用例包含三部分:
- 純介面的校驗(主要包含每個引數合法性校驗、輸入輸出是否合法等,基本對照API文件即可)
- 基於業務場景的(正常場景、異常場景,一般包含多介面呼叫)
- 介面效能、安全等方面
介面文件規範
通常比較規範的介面文件都應該具備類似下圖中的特點: 包含介面名,引數名,引數型別,引數含義說明,取值限制,是否可空等
介面測試注意點
介面不關注內部具體實現---過程,而是關注功能實現---結果。
介面測試質量評估
- 業務功能是否完整
- 引數驗證是否達到要求(邊界、型別、長度、格式等)
- 介面異常場景覆蓋是否完整
- 效能指標是否滿足要求
- 安全指標是否滿足要求