接口基礎知識


一.什么是接口
一種是程序內部的接口,一種是系統對外的接口
系統對外的接口:比如你要從別的網站或服務器上獲取資源或信息,別人肯定不會把數據庫共享給你,他只能給你提供一個他們寫好的方法來獲取數
據,你引用他提供的接口就能使用他寫好的方法,從而達到數據共享的目的,比如說咱們用的app、網址這些它在進行數據處理的時候都是通過接口來
進行調用的。
程序內部的接口:方法與方法之間,模塊與模塊之間的交互,程序內部拋出的接口,比如bbs系統,有登錄模塊、發帖模塊等等,那你要發帖就必須
先登錄,要發帖就得登錄,那么這兩個模塊就得有交互,它就會拋出一個接口,供內部系統進行調用。
二.接口的分類
一種是webService接口,一種是http api接口。目前公司內基本上都是使用的http api接口
三。什么是接口測試
接口測試是測試系統組件間接口的一種測試。接口測試主要用於檢測外部系統與系統之間以及內部各個子系統之間的交互點。測試的重點是要檢
查數據的交換,傳遞和控制管理過程,以及系統間的相互邏輯依賴關系等
四.接口測試必要性
1.可以發現很多在頁面上操作發現不了的bug
2.檢查系統的異常處理能力
3.檢查系統的安全性,穩定性
4.前端隨便編,接口測好了,后端不用變
五.接口測試的流程
1.需求評審,熟悉業務和需求
2.開發提供接口文檔
3.編寫接口測試用例
4.用例評審
5.提測后開始測試
6.提交測試報告
六.接口規范文檔包括哪些內容
1.接口說明
2.調用url
3.請求方法
4.請求參數,參數類型,請求參數說明
5.返回參數說明
七.接口請求報文拼接
1、url?param=value&param2=value
這種是最簡單的一種,問號前面是請求url,后面是請求的參數名和參數值,多個參數用&來連接
https://api.douban.com/v2/book/search?q=張三
2、還有一種就是入參是json串的,那就不能拼接參數了,需要借助工具來完成比如postman
八.get請求與post請求區別
如果是get請求的話,直接在瀏覽器里輸入就行了,只要在瀏覽器里面直接能請求到的,都是get請求,如果是post的請求的話,
就不行了,就得借助工具來發送。
GET請求和POST請求的區別:
1、GET使用URL或Cookie傳參。而POST將數據放在BODY中。
2、GET的URL會有長度上的限制,則POST的數據則可以非常大。
3、POST比GET安全,因為數據在地址欄上不可見。
4、一般get請求用來獲取數據,post請求用來發送數據。
其實上面這幾點,只有最后一點說的是比較靠譜的,第一點post請求也可以把數據放到url里面,get請求其實也沒長度限制,
post請求看起來參數是隱式的,稍微安全那么一些些,但是那只是對於小白用戶來說的,就算post請求,你通過抓包也是可
以抓到參數的。所以上面這些面試的時候你說出來就行了
九.http狀態碼
每發出一個http請求之后,都會有一個響應,http本身會有一個狀態碼,來標示這個請求是否成功,常見的狀態碼有以下幾種:
1、200 2開頭的都表示這個請求發送成功,最常見的就是200,就代表這個請求是ok的,服務器也返回了。
2、300 3開頭的代表重定向,最常見的是302,把這個請求重定向到別的地方了,
3、400 400代表客戶端發送的請求有語法錯誤,401代表訪問的頁面沒有授權,403表示沒有權限訪問這個頁面,404代表沒有這個頁面
4、500 5開頭的代表服務器有異常,500代表服務器內部異常,504代表服務器端超時,沒返回結果
十.通用接口測試用例
1.通過性驗證:首先肯定要保證這個接口功能是好使的,也就是正常的通過性測試,按照接口文檔上的參數,正常傳入,是否可以返回正確的結果。
2.參數組合:現在有一個操作商品的接口,有個字段type,傳1的時候代表修改商品,商品id、商品名稱、價格有一個是必傳的,type傳2的時候是
接口安全:
1、繞過驗證,比如說購買了一個商品,它的價格是300元,那我在提交訂單時候,我把這個商品的價格改成3元,后端有沒有做驗證,更狠點,我把錢改成-3,是不是我的余額還要增加?
2、繞過身份授權,比如說修改商品信息接口,那必須得是賣家才能修改,那我傳一個普通用戶,能不能修改成功,我傳一個其他的賣家能不
能修改成功
3、參數是否加密,比如說我登陸的接口,用戶名和密碼是不是加密,如果不加密的話,別人攔截到你的請求,就能獲取到你的信息了,加密規
則是否容易破解。
4、密碼安全規則,密碼的復雜程度校驗
刪除商品,商品id是必傳的,這樣的,就要測參數組合了,type傳1的時候,只傳商品名稱能不能修改成功,id、名稱、價格都傳的時候能不能
修改成功。
異常驗證:
異常的,也就是我不按照你接口文檔上的要求輸入參數,來驗證接口對異常情況的校驗。比如說必填的參數不填,輸入整數類型的,傳入字
符串類型,長度是10的,傳11,總之就是你說怎么來,我就不怎么來,其實也就這三種,必傳非必傳、參數類型、入參長度。
業務邏輯
根據每次需求的不同,制定相應的業務邏輯測試
十一.接口測試用例模板
咱們測試接口的話,肯定要寫測試用例,寫測試用例的話,就要有一個用例模板,那需要有哪些字段呢?
1、項目 是哪個項目的
2、模塊 這個接口是屬於哪個功能模塊的
3、用例id
4、接口名稱
5、用例標題 用例是干嘛的
6、請求方式 GET/POST
7、請求url url地址
8、請求參數
9、前置條件 有依賴的時候,比如說要測登錄失敗3次的
10、結果驗證 預期結果
11、請求報文
12、返回報文
13、測試結果 通過/失敗
14、測試人員


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM