1. 程式人生 > 其它 >仿美團外賣,京東,安居客等搜尋框上推及篩選項懸停(一)

仿美團外賣,京東,安居客等搜尋框上推及篩選項懸停(一)

(1)什麼是介面測試

介面測試是測試系統元件間介面的一種測試

介面測試主要用於檢測系統內部各個子系統之間外部系統與系統之間的互動。

測試的重點是檢查資料交換傳遞控制管理的過程,以及系統間相互邏輯依賴關係等。

通俗來說介面測試就是介面提供方、介面呼叫方之間的互動,及邏輯處理的測試。

資料交換:註冊
資料傳遞:將註冊資料傳遞到伺服器,呼叫程式,執行資料庫sql語句,往資料表中插入資料
控制管理:在程式中設定欄位的長度
系統間相互邏輯依賴關係:註冊成功之後呼叫登入進行登入;共享充電寶是否收取押金依賴芝麻信用分

介面:
1. GUI:圖形使用者介面,並不是介面測試的重點。
2. API:應用程式介面,介面測試的主要物件。API專門用來提供給其他系統進行呼叫的程式介面。

Browser/Server、Client/Server架構必然需要前端和伺服器進行互動,介面就是它們互動的樞紐。

其本質就是前臺傳送一個request(請求)報文給伺服器,然後伺服器響應返回一個response(響應)報文。我們對response報文進行分析,判斷是否和我們的預期一致,從而檢驗業務是否正確實現。

通過輸入看輸出

模擬實際場景(服務架構(Java、Python、php)、資料場景(CRUD)、業務場景),對介面進行模擬呼叫,驗證其響應效能、輸出結果、異常處理等測試點。

HTTP介面測試知識點:

考試系統網址:http://182.92.178.83:8088/student/index.html#/login

Request URL(請求地址)

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的區別❓

  1. 傳參方式不同,get是通過url?後面去傳參的,post是在請求體裡面傳參。
  2. 有些約定裡面,get更多的是做獲取資訊的操作,post更多的是做提交資訊的一些操作。

Request Parameters(請求引數)

Status Code(響應狀態碼)

200(伺服器響應成功) 
404(找不到路徑)
500(伺服器內部錯誤)

Response(響應資訊)

(2)為什麼要進行介面測試

介面測試相對於UI來說,更加穩定;

也可以說介面測試是一種特殊的單元測試;

當一個系統提供了大量的後臺服務,有較少或者基本沒有頁面操作,比較適合開展介面測試;例如:某個系統大概有100多個對外的介面,每次上線,測試人員不得不一個一個驗證,此時如果開展自動化,將大大提高迴歸的效率和測試的覆蓋率。

為什麼介面比UI更加穩定:如果介面響應資訊都變了,UI也需要變。