1、接口是什么?=====傳遞數據的通道
- 接口測試:是測試系統組件間接口的一種測試
- 接口主要包括:同一個系統中模塊與模塊間的接口/前端后端接口,另一個是跨系統平台與平台間的對接。(內部接口、外部接口)
2、常見接口類型/協議:
- HTTP 類型/協議:
- 通過GET或POST來獲取數據,在數據處理上效率比較高 == 概念
- Webservice 類型/協議:
- 通過soap協議來獲取數據,比起 http 來說能處理更加復雜的數據類型。本質上也是 http 協議。
3、常見的 http 狀態碼
- 200 OK
- 請求正常處理完畢
- 204 No Content
- 請求成功處理,沒有實體的主體返回
- 206 Partial Content
- GET范圍請求已成功處理
- 301 Moved Permanently
- 永久重定向,資源已永久分配新URI
- 302 Found
- 臨時重定向,資源已臨時分配新URI
- 303 See Other
- 臨時重定向,期望使用GET定向獲取
- 304 Not Modified
- 發送的附帶條件請求未滿足
- 307 Temporary Redirect
- 臨時重定向,POST不會變成GET
- 400 Bad Request
- 請求報文語法錯誤或參數錯誤
- 401 Unauthorized
- 需要通過HTTP認證,或認證失敗
- 403 Forbidden
- 請求資源被拒絕
- 404 Not Found
- 無法找到請求資源(服務器無理由拒絕)
- 500 Internal Server Error
- 服務器故障或Web應用故障
- 503 Service Unavailable
- 服務器超負載或停機維護
分享:https://blog.csdn.net/qq_32534441/article/details/99745066
4、剖析 cookie session
- cookie: 在客戶端存儲用戶的一 些數據。比如說用戶名信息
- session: 在服務器端, 記錄用戶的請求狀態,一般默認時間是30min。
- 會員卡機制。
- session_id會存在 cookie 中,每次請求 cookie 中的所有信息都會傳送給服務器,服務器通過 session_ id 來識別是否是同一個用戶的請求。不是同一個用戶的話,就會要求用戶重新登錄。
- 為什么會有這種機制?
- 因為http請求是無狀態的。
分享:https://www.cnblogs.com/nickjiang/p/9148136.html
5、接口相關問題
1.什么時候要做接口測試?
- 公司有接口測試需求,接收到接口測試任務
2.為什么要做接口測試?
- 開發代碼初期,UI 和 web 頁面設計還沒有到位,提前介入測試更早發現問題,否則底層的一個bug可能會引起外面的8個bug
- 處於接口安全層面考慮,前端進行限制容易繞過,需要同樣測試后端的限制;另外測試接口驗證數據的加密傳輸,例如用戶密碼
3.接口測試原理?
- 模擬客戶端向服務器發送請求,服務器接收請求后對相應的請求做處理並向客戶端返回響應結果,客戶端接收結果的一個過程
4.后端接口測試一遍, 前端也測試-遍,是不是重復測試了?
- 需要測試
5.接口測試屬於測試執行哪個階段?
- 接口屬於集成測試
6.接口測試流程/步驟=接口測試怎么做?
- 1、獲取接口需求並分析
- 2、編寫接口測試用例&評審測試用例
- 3、項目環境部署
- 4、執行測試&工具選用
- 5、提交bug並跟進
- 6、單獨需要整理接口測試報告(公司有要求就做)
知識儲備:
1、軟件測試基礎知識:編寫用例/設計方法
2、Linux命令
3、tomcat框架
4、數據庫知識/觀察數據表中的數據流
5、接口概念的掌握
6、工具的掌握:瀏覽器/插件/Jmeter/soapui原理及具體操作步驟
7、分析能力:需求業務/日志分析
7.獲取接口需求並分析
1、獲取接口需求?
- 開發提供接口文檔
- 通過抓包工具 fiddler 或 F12 獲取,並找開發確認
2、分析接口內容?
例如:登錄接口(login)我們從一下方面分析
- 業務描述:輸入正確的手機號及對應的密碼,返回登錄成功
- 接口名稱: /member/ login
- 請求方法: GET/ POST
- POST請求格式:applicat ion/x-www- formrur lencoded
- 響應格式: application/json
- 請求參數:必填項、非必填
- 結果說明:結果和返回狀態碼
8.如何編寫接口測試用例?
- 接口的正常調用。就是輸入正常的參數值,檢查接口返回的響應結果信息跟接口文檔預期一致,包括status、code等。
- 接口的異常驗證。包括長度、類型、必填等異常,同步考慮邊界值。假如傳遞數據的類型錯誤時是否可以處理。例如id是支持整數,傳遞的是小數或字符串呢?且傳遞的參數足夠大或為負數時,接口是否可以正常處理。
- 業務規則驗證。支付接口中必須是余額充足才能支付,還有比如說訂單狀態非待支付不能支付。
- 接口的安全性驗證。對於用戶的敏感信息(密碼、身份證號)進行加密。如果是外部接口的話,這點尤為重要。-----看有無其他要求,用戶加密
- 接口的性能驗證。接口處理數據的時間也是測試的一個方法。牽扯到內部就是算法與代碼的優化。會借助壓力測試工具比如loadrunner完成 ----響應時間多與少10s,易用性----有無項目要求
9.接口測試用例包括?
- 測試用例包括:序號,接口模塊、請求方式、接口地址、用例標題、測試步驟及輸入、期望結果(服務器的返回結果、數據庫、日志(可不寫))、實際結果、備注
10.接口測試的重點?
- 返回結果
- 數據庫
- 錯誤日志
總結:如果接口出現服務器異常,排除是不是測試環境造成的,如果是,解決,如果不是,統統就是bug
*******請大家尊重原創,如要轉載,請注明出處:轉載自:https://www.cnblogs.com/shouhu/,謝謝!!*******