接口測試用例編寫和測試關注點
一、為什么要做接口測試
在日常開發過程中,有人做前端開發,有人負責后端開發。接口就是連接前后臺,由于前端開發和后端開發的速度可能不一樣,例如后端開發好了,但是前端沒有開發。那么我們是不是就不需要測試呢?一般我們大部分人都是做功能測試,很多是界面的功能測試。如果你理解了接口測試,那么你就可以針對接口進行測試。
二、什么是接口、什么是接口測試
接口:主要是子模塊或者子系統間交互并相互作用的部分。
這里說的接口是廣義的,客戶端與后臺服務間的協議;插件間通信的接口;模塊間的接口;再小到一個類提供的方法;都可以理解為接口。
接口測試:是指針對模塊或系統間接口進行的測試。
三、接口測試流程
需求討論,需求評審,場景設計,編寫用列,準備數據,執行測試
四、接口測試用例設計
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)邏輯校驗不完善,可利用漏洞獲取非正當利益等。
工具下載鏈接:https://www.apipost.cn/
自動化測試 云測 CloudTest
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。