一、為什么要做介面測驗
在日常開發程序中,有人做前端開發,有人負責后端開發,介面就是連接前后臺,由于前端開發和后端開發的速度可能不一樣,例如后端開發好了,但是前端沒有開發,那么我們是不是就不需要測驗呢?一般我們大部分人都是做功能測驗,很多是界面的功能測驗,如果你理解了介面測驗,那么你就可以針對介面進行測驗,
二、什么是介面、什么是介面測驗
介面:主要是子模塊或者子系統間互動并相互作用的部分,
這里說的介面是廣義的,客戶端與后臺服務間的協議;插件間通信的介面;模塊間的介面;再小到一個類提供的方法;都可以理解為介面,
介面測驗:是指標對模塊或系統間介面進行的測驗,
三、介面測驗流程
需求討論,需求評審,場景設計,撰寫用列,準備資料,執行測驗
四、介面測驗用例設計
1介面測驗的用例設計,主要從輸入和介面處理兩方面考慮:
1)針對輸入,可按照引數型別進行設計;
2)針對介面處理,可按照邏輯進行用例設計;
3)針對輸出,可根據結果進行分析設計,
2針對輸入設計
對于介面來說,輸入就是入參,常見引數型別有:
(1)數值型(int,long,float,double等)
(2)字串型別
(3)陣列或鏈表
(4)結構體
五.怎么進行介面測驗
通過工具模擬客戶端向服務端發送請求并接受服務器回傳的資料來對介面的功能,邏輯業務,例外,安全進行測驗
功能測驗:測驗這個介面的功能是否實作,并且測驗這個介面是否按照介面檔案來進行開發的(比如說介面檔案規定了一些關鍵字,而開大的時候把關鍵字改成了其他的關鍵字,因為在整個專案周期,并不只有一個開發而是有多個,所以可能因為在開發程序中因為關鍵字不一樣導致某些開發的功能例外,還有自動化腳本也會發生例外)
邏輯業務,主要指的是一些邏輯業務依賴關系(比如支付寶提交訂單的時候要保證你是在登錄的情況下,如果你沒有登錄而提交成功了,這就是例外,可以修改請求的cookie來測驗)
例外測驗:引數例外:關鍵字引數(應用其他的關鍵字替換進行測驗)、引數為空、引數多少(通過添加引數增添個數),引數錯誤,資料例外:關鍵字資料(填入的資料用其他的資料語言的資料替用)、資料長度、資料為空、資料錯誤,
由于我們專案前后端呼叫主要是基于http協議的介面,所以測驗介面時主要是通過工具或代碼模擬http請求的發送與接收,工具有很多如:apipost、jmeter、java+httpclient、robotframework+httplibrary等,
–也可以用 介面自動化來實作,就是用代碼實作,框架和UI自動化差不多,發送請求用斷言來判斷,
六、介面測驗需要用到的工具
介面測驗常用的工具,fiddler抓取請求,apipost模擬客戶端通過對fiddler抓取的請求修改并發送到服務端并接收服務器回傳的資料及例外來進行驗證介面,工具不是固定的,需要根據專案來進行選擇,
七、介面測驗發現的典型問題
介面測驗經常遇到的bug和問題,如下:
(1)傳入引數處理不當,導致程式crash;
(2)型別溢位,導致資料讀出和寫入不一致;
(3)因物件權限未進行校驗,可以訪問其他用戶敏感資訊;
(4)狀態處理不當,導致邏輯出現錯亂;
(5)邏輯校驗不完善,可利用漏洞獲取非正當利益等,
愿你我相遇,皆有所獲! 歡迎關注微信公眾號:【傷心的辣條】
1.免費領取一份216頁軟體測驗工程師面試寶典檔案資料,
2.軟體測驗學習路線以及相對應的視頻學習教程免費分享!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/240788.html
標籤:其他
上一篇:檔案上傳漏洞
