大家好,今天給大家分享一下之前整理的關于接口知識的匯總,對于測試人員來說,深入了解接口知識能帶來諸多顯著的好處。
一、為什么要了解接口知識?
接口是系統不同模塊之間交互的關鍵通道。只有充分掌握接口知識,才能真正理解系統的架構和運行機制,從而更好地把握系統的整體質量。接口的穩定性直接影響著整個系統的性能和用戶體驗,測試人員作為質量的守護者,必須對接口有深入的認知,才能為系統的高質量交付保駕護航。
二、測試人員了解接口知識 可以帶來哪些好處?
1、了解接口知識有助于更高效地發現和定位問題。當測試過程中遇到錯誤或異常時,憑借對接口的熟悉,能夠迅速判斷是前端還是后端的問題,從而精準地開展排查工作,大大縮短解決問題的時間。
2、它能讓測試工作更具全面性和深度。能夠設計出更完善、更有針對性的測試用例,覆蓋接口的各種可能情況,包括正常場景、異常場景以及復雜的參數組合等,確保系統在接口層面的穩定可靠。
3、了解接口知識便于更好地與開發團隊溝通協作。可以使用專業的術語和開發人員進行有效的交流,準確理解開發的意圖和實現邏輯,提出有價值的建議和反饋。
三、什么是服務端接口?
服務端接口是服務器端提供給其他系統或客戶端與之交互的特定訪問點和規則集合。
具體來說,它具有以下特點:
服務端接口定義了客戶端可以請求的具體操作和功能。這些操作可能包括數據的查詢、添加、修改、刪除等。它明確了請求的方式,如使用特定的 HTTP 方法(GET、POST、PUT、DELETE 等)。接口還規定了輸入參數的要求,比如參數的類型、格式、必填項等。同時,也定義了返回數據的結構和內容,包括正常情況下的數據響應以及可能出現的錯誤信息和狀態碼。
通過服務端接口,客戶端能夠與服務器進行有效的通信和數據交互,以實現各種業務功能和數據處理任務。服務端接口是構建分布式系統和實現不同組件之間協作的重要橋梁。
四、接口的組成部分有哪些?
接口名稱:用于標識該接口的獨特名稱。
請求方法:如 GET、POST、PUT、DELETE 等,規定了客戶端與服務器交互的方式。
請求路徑:明確具體的訪問路徑。
請求參數:包括參數名稱、類型、是否必填等信息,用于傳遞數據給服務器。
響應格式:如 JSON、XML 等,定義了服務器返回數據的結構形式。
響應狀態碼:表明請求處理的結果狀態,如 200 表示成功,404 表示未找到資源等。
錯誤處理說明:描述在出現各種錯誤情況時的提示信息和處理方式。
五、接口的請求方式都有哪些?
1、GET:用于從服務器獲取指定資源,通常用于查詢操作,數據會顯示在 URL 中。
2、POST:向服務器提交數據,通常用于創建或更新資源,數據通常放在請求體中。
3、PUT:用于更新服務器上的資源,通常是全量更新。
4、DELETE:用于刪除服務器上的指定資源。
5、PATCH:用于對資源進行部分更新。
6、HEAD:與 GET 類似,但只返回響應頭信息,不返回響應體。
六、接口響應的網絡狀態碼有哪些?
1xx:信息提示
● 100:繼續。
2xx:成功
● 200:請求成功。● 201:已創建(資源創建成功)。● 202:已接受(請求已被接受,但可能尚未處理)。● 204:無內容(請求成功,但沒有返回內容)。
3xx:重定向
● 301:永久移動(資源已永久轉移到新位置)。● 302:臨時移動(資源臨時轉移到新位置)。● 304:未修改(資源未發生變化,使用緩存即可)。
4xx:客戶端錯誤
● 400:錯誤請求(請求存在語法錯誤或不合理)。● 401:未授權(需要認證才能訪問)。● 403:禁止訪問(有授權但禁止訪問該資源)。● 404:未找到(請求的資源不存在)。● 405:方法不允許(請求方法不被允許)。● 408:請求超時。
5xx:服務器錯誤
● 500:內部服務器錯誤。● 502:錯誤網關。● 503:服務不可用(服務器暫時不可用)。● 504:網關超時。
七、http與https的區別是什么?
1、安全性:
HTTPS 是在 HTTP 的基礎上通過 SSL 或 TLS 協議進行加密傳輸,安全性更高,可以防止數據在傳輸過程中被竊取或篡改;而 HTTP 是明文傳輸,安全性較低。
2、端口:
HTTP 默認使用 80 端口;HTTPS 默認使用 443 端口。
3、證書:
HTTPS 需要服務器配置數字證書來進行加密通信。
4、對搜索引擎排名的影響:
一些情況下,使用 HTTPS 可能對搜索引擎排名有一定積極影響。
5、性能開銷:
由于需要進行加密和解密,HTTPS 相對 HTTP 會有一定的性能開銷,但通常可以通過優化來緩解。
八、如果接口由http修改為https,需要增加哪些測試點?
1、證書驗證:檢查服務器證書的有效性、合法性,包括證書的頒發機構、有效期等。
2、加密通信測試:確保數據在傳輸過程中確實是加密的,無法被輕易解密和竊取。
3、連接建立測試:驗證 HTTPS 連接的建立是否正常,是否存在連接失敗或異常情況。
4、性能影響評估:對比更改前后的性能,查看是否有明顯的延遲增加等問題。
5、兼容性測試:與不同的客戶端(如各種瀏覽器、應用程序)進行兼容性測試,確保都能正常工作。
6、安全漏洞掃描:利用安全工具進行掃描,檢查是否存在新引入的安全漏洞。
7、與其他系統交互:如果接口與其他系統有交互,要確保這種更改不會影響到交互的穩定性和正確性。
8、異常情況處理:測試在證書過期、吊銷等異常情況下,系統的處理是否恰當。
9、重定向測試:檢查從 HTTP 到 HTTPS 的重定向是否正確、及時。
10、恢復到 HTTP 測試:如果有需要,測試從 HTTPS 切換回 HTTP 的情況是否正常。
九、如何編寫接口測試用例?
1、 明確接口信息:
深入理解接口的功能、參數、返回值等。
2、正常場景:
按照接口預期的正常使用方式設計用例,如傳入合法的參數,驗證返回正確的結果。
3、參數異常:
傳入空參數、無效參數、類型錯誤的參數等,檢查接口的錯誤處理。
4、邊界值:
測試參數的邊界情況,如最小值、最大值、邊界值附近的值等。
5、多參數組合:
考慮不同參數的各種組合情況,驗證接口的正確性。
6、數據量:
針對可能存在數據量限制的情況,測試大、小數據量的處理。
7、安全性:
嘗試一些可能存在安全風險的操作,如越權訪問等。
8、性能相關:
設計一些能測試接口性能的用例,如高并發請求。
9、與其他接口關聯:
如果有相關聯的接口,考慮它們之間的交互情況。
10、狀態切換:
針對有狀態的接口,測試不同狀態之間的切換。
11、文檔一致性:
確保用例與接口文檔的描述相符。
12、詳細描述:
對每個用例清晰地描述輸入、預期輸出和測試步驟。
十、如何判斷一個BUG是前端還是服務端?
1、從現象分析:
如果界面顯示異常、布局錯亂、交互卡頓等,可能是前端問題;如果數據不正確、缺失或業務邏輯處理有誤,可能是服務端問題。
2、檢查請求和響應:
使用瀏覽器開發者工具等查看請求是否正確發出,參數是否準確傳遞,如果請求沒問題但響應數據異常,很可能是服務端問題;如果請求本身就有問題,比如格式錯誤等,那可能是前端問題。
3、對比預期值:
明確正常情況下應該得到的數據或結果,與實際情況對比,看偏差出現在前端處理還是服務端處理階段。
4、日志分析:
查看服務端的運行日志,看是否有錯誤信息提示服務端存在問題;前端也可能有一些日志可輔助判斷。
5、在不同環境測試:
如果在其他類似環境中前端表現正常,而只有特定環境有問題,可能指向服務端;反之則可能是前端問題。
6、與其他功能對比:
看類似功能在前端的表現,如果其他正常,那出現問題的可能是這個功能相關的服務端邏輯。