1. 程式人生 > 其它 >介面測試測什麼?保姆式解讀

介面測試測什麼?保姆式解讀

1.什麼是介面?
介面主要用於系統與系統之間以及程式內部各個子系統之間的互動點,定義特定的互動點,然後通過這些互動點也就是協議,來進行資料之間的互動。
2.介面都有哪些型別?
介面一般分為兩種:1.程式內部的介面 2.對外提供的介面

對外提供的介面:如:微信支付介面, 支付寶支付介面等

程式內部的介面:方法與方法之間,模組與模組之間的互動,程式內部丟擲的介面,比如電商系統,有登入模組、提交訂單模組等等,要支付就必須先登入,那麼這兩個模組就得有互動,系統內部就會通過一個介面進行資料互動。

介面的分類:1.webservice介面 2.http協議(api介面)

webService介面是走soap協議通過http傳輸,請求報文和返回報文都是xml格式的,我們在測試的時候可以藉助SoapUI工具進行呼叫及測試。

api介面是走http協議,通過路徑來區分呼叫的方法,請求報文都是key-value形式的,返回報文一般都是json串,有get,post,put,delete等四種常用請求方式。

json是一種通用的資料型別,所有的語言都認識它。(json的本質是字串,它與其他語言無關,只是可以經過稍稍加工可以轉換成其他語言的資料型別,比如可以轉換成Python中的字典,key-value的形式。)
3.介面的本質及其工作原理是什麼?
介面你可以簡單的理解他就是發起請求獲取響應資料,工作原理就是URL通過get或者post請求向伺服器傳送一些東西,然後得到一些相應的返回值,本質就是資料的傳輸與接收。

 

 

4.什麼是介面測試?

百度百科的概述為: 介面測試是測試系統元件間介面的一種測試。

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

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

簡單的說就是通過URL向伺服器或者其他模組等,傳輸我們想傳輸的資料,然後看看他們返回資料的是不是預期想要的。

5.為什麼要做介面測試?

5.1 越底層發現bug,它的修復成本是越低的。

5.2 前端隨便變,介面測好了,後端不用變,前後端是兩撥人開發的。

5.3 檢查系統的安全性、穩定性,前端傳參不可信,比如電商購物系統,前端價格無法實現傳入資料為-1元,但是通過介面可以傳入-1元。

5.4 如今的系統複雜度不斷上升,傳統的測試方法成本急劇增加且測試效率大幅下降,介面測試可以應對複雜度較高的測試場景,負載度越高介面測試效果越好

5.5 介面測試相對容易實現自動化持續整合,且相對UI自動化也比較穩定,可以減少人工迴歸測試人力成本與時間,縮短測試周期,支援後端快速發版需求。介面持續整合是為什麼能低成本高收益的根源。

5.6 現在很多系統前後端架構是分離的,從安全層面來說:

(1)、只依賴前端進行限制已經完全不能滿足系統的安全要求(繞過前面實在太容易), 需要後端同樣進行控制,在這種情況下就需要從介面層面進行驗證。

(2)、前後端傳輸、日誌列印等資訊是否加密傳輸也是需要驗證的,特別是涉及到使用者的隱私資訊,如身份證,銀行卡等。

6.怎樣做介面測試?

由於目前大部分專案前後端分離,呼叫介面主要是基於http協議的介面,所以測試介面時主要是通過工具或程式碼模擬http請求的傳送與接收。工具有很多如:postman、jmeter、soupUI、java+httpclient/TestNG、robotframework等。

-- 也可以用程式碼實現介面自動化,框架和UI自動化差不多,傳送請求用斷言來判斷

7.介面測測試點是什麼?

目的:測試介面的正確性和穩定性;

原理:模擬客戶端向伺服器傳送請求報文,伺服器接收請求報文後對相應的報文做處理並向客戶端返回應答,客戶端接收應答的過程;

重點:檢查資料的交換,傳遞和控制管理過程,還包括處理的次數;

核心:持續整合是介面測試的核心;

優點:為高複雜性的平臺帶來高效的缺陷監測和質量監督能力,平臺越複雜,系統越龐大,介面測試的效果越明顯(提高測試效率,提升使用者體驗,降低研發成本);

用例設計重點:通常情況下主要測試最外層的兩類介面:資料進入系統介面(呼叫外部系統的引數為本系統使用)和資料流出系統介面(驗證系統處理後的資料是否正常);

PS:設計用例時還需要注意外部介面提供給使用這些介面的外部使用者什麼功能,外部使用者真正需要什麼功能.

8. 對介面測試而言,持續整合介面自動化是核心內容, 介面自動化包含以下內容:

8.1 流程方面:在迴歸階段加強介面異常場景的覆蓋度,並逐步向系統測試,冒煙測試階段延伸,最終達到全流程自動化。

8.2 結果展示:更加豐富的結果展示、趨勢分析,測試資料統計和分析等

8.3 問題定位:報錯資訊、日誌更精準,方便問題復現與定位。

8.4 結果校驗:加強自動化校驗能力,如資料庫資訊校驗。

8.5 程式碼覆蓋率:不斷嘗試由目前的黑盒向白盒下探,提高程式碼覆蓋率。

8.6 效能需求:完善效能測試體系,通過自動化的手段監控介面效能指標是否正常。

9. 介面測試質量評估標準:

-- 業務功能覆蓋是否完整

-- 業務規則覆蓋是否完整

-- 引數驗證是否達到要求(邊界、業務規則)

-- 介面異常場景覆蓋是否完整

-- 介面覆蓋率是否達到要求

-- 程式碼覆蓋率是否達到要求

-- 效能指標是否滿足要求

-- 安全指標是否滿足要求
最後,為方便大家自學軟體測試,特意給大家準備了一套超實用乾貨學習資源視訊,涉及的內容非常全面。

連結奉上:https://www.bilibili.com/video/BV14v411B7p5
如果對你有幫助的話,點個贊收個藏,給作者一個鼓勵。也方便你下次能夠快速查詢。