(1)什麼是接口測試
接口測試是測試系統組件間接口的一種測試
。php
接口測試主要用於檢測系統內部各個子系統之間
、外部系統與系統之間
的交互。html
測試的重點是檢查數據交換
,傳遞
和控制管理
的過程,以及系統間相互邏輯依賴關係
等。前端
通俗來講接口測試就是接口提供方、接口調用方之間的交互,及邏輯處理的測試。python
數據交換:註冊 數據傳遞:將註冊數據傳遞到服務器,調用程序,執行數據庫sql語句,往數據表中插入數據 控制管理:在程序中設置字段的長度 系統間相互邏輯依賴關係:註冊成功以後調用登陸進行登陸;共享充電寶是否收取押金依賴芝麻信用分 接口: 1. GUI:圖形用戶界面,並非接口測試的重點。 2. API:應用程序接口,接口測試的主要對象。API專門用來提供給其餘系統進行調用的程序接口。
Browser/Server、Client/Server架構必然須要前端和服務器進行交互,接口就是它們交互的樞紐。程序員
其本質
就是前臺發送一個request(請求)報文給服務器,而後服務器響應返回一個response(響應)報文。咱們對response報文進行分析,判斷是否和咱們的預期一致,從而檢驗業務是否正確實現。web
經過輸入看輸出
模擬實際場景(服務架構(Java、Python、php)、數據場景(CRUD)、業務場景),對接口進行模擬調用,驗證其響應性能、輸出結果、異常處理等測試點。面試
HTTP接口測試知識點:sql
考試系統網址:http://182.92.178.83:8088/student/index.html#/login數據庫
Request URL(請求地址)
json
URL形式: http[s]://host[:port][abs_path][parameter] 好比: http://182.92.178.83:8088/api/student/user/register
Request Headers(請求頭):頭信息,包含了報文的描述信息
Accept(接收形式): application/json, text/plain, */* Content-Type(提交形式): application/json Cookie: JSESSIONID=C68ED1A8DA1A3B2CDACC5612F158467D # Content-Type的幾種形式: - form-data - application/x-www-form-urlencoded - application/json 好比:{"username":"ctt","password":"123456",age:21,"a":[{"b":123},{"c":456}]}
Request Method(提交方法): GET/POST DELETE/PUT
GET: 獲取服務器信息的一些操做。通常用於獲取數據 好比: Request URL: http://182.92.178.83:8081/article/all?state=-1&page=1&count=6&keywords= Request Method: GET PS:直接在url後面鏈接參數,url有長度限制。 POST: 一些提交等操做。通常用於提交數據,註冊、上傳文件。 DELETE: 通常用於刪除操做(物理刪除) 好比: Request URL: http://182.92.178.83:8081/admin/category/56 Request Method: DELETE PUT: 跟post功能一致,可是有一個對等加密的過程,好比兩人同時提交就會對比誰先提交,執行先提交的那個操做,後提交的不作處理。好比邏輯刪除。(邏輯刪除:好比將state=0) 好比: Request URL: http://182.92.178.83:8081/article/dustbin Request Method: PUT 這四種形式不管用哪種都能實現對數據庫的增刪改查,那麼爲何會分四種呢,它更像是一種約定。
(面試題)get和post的區別❓
Request Parameters(請求參數)
Status Code(響應狀態碼)
200(服務器響應成功) 404(找不到路徑) 500(服務器內部錯誤)
Response(響應信息)
(2)爲何要進行接口測試
接口測試相對於UI來講,更加穩定;
也能夠說接口測試是一種特殊的單元測試;
當一個系統提供了大量的後臺服務,有較少或者基本沒有頁面操做,比較適合開展接口測試;例如:某個系統大概有100多個對外的接口,每次上線,測試人員不得不一個一個驗證,此時若是開展自動化,將大大提升迴歸的效率和測試的覆蓋率。
爲何接口比UI更加穩定:若是接口響應信息都變了,UI也須要變。
🐒先後端分離,一個接口給多個端使用(web端、app端)
🐷何時作接口測試?
(3)怎樣作接口測試
1.接口測試在工做中的流程
準備階段(20%)
拿到開發的接口文檔,並理解每一個接口的參數及含義;
瞭解被測系統的業務流程。
編寫接口測試用例、執行階段(70%)
測試用例/測試場景執行
測試數據/系統數據收集
分析階段(5%)
數據彙總/日誌分析
測試報告
2.接口測試規範文檔
接口功能
URL
支持格式
HTTP請求方式
請求參數
🔑爲提升接口測試效率,及TDD(測試驅動開發)模式,前期咱們須要推進開發規範,接口說明文檔。
3.如何獲取接口(Charles、fiddler)
抓包工具Charles、fiddler,web端瀏覽器的F12。
(4)接口測試用例的設計
接口測試用例編寫要點:
(5)接口測試的流程規範(團隊中)