接口測試理論:
一.接口
1.程序內部接口:方法與方法之間,模塊與模塊之間的交互,程序內部拋出的接口,好比bbs系統,有登陸模塊,發帖模塊等等,那你要發帖就必須先登陸,那麼這兩個模塊就得有交互,它就會拋出一個接口供內部系統進行調用。
2.系統對外接口:好比你要從別的網站或服務器上獲取資源和信息,別人確定不會把數據庫共享給你,他只能給你提供一個他們寫好的方法來獲取數據,你引用他提供的接口就能使用他寫好的方法,從而達到數據共享的目的,好比說我們的app,網址這些它在進行數據處理的時候都是經過接口進行調用的。
二.接口的分類
1.web service接口,soap協議,請求報文和返回報文都是xml格式的,咱們在測試的時候經過工具才能進行調用,測試。
2.http api接口,http協議,經過路徑來區分調用方法,請求報文都是key-value形式的,返回報文通常都是json串,有get和post等方法,這也是最經常使用的兩種請求方式。
三.接口測試
1.接口測試是測試系統組件間接口的一種測試。接口測試主要用於檢測外部系統與系統之間以及內部各個子系統之間的交互點。測試的重點是要檢查數據的交換,傳遞和控制管理過程,以及系統間的相互邏輯依賴關係等。
2.其實接口測試就和普通功能測試沒什麼區別,區別就是功能測試是在頁面上點點點,在頁面上輸入值,提交數據看結果,而接口測試沒有頁面,經過接口規範文檔上的調用地址,請求參數,拼接報文,而後發送請求,檢查返回結果。
四.接口測試的必要性
1.發現頁面上發現不了的bug
2.檢查系統的異常處理能力
3.檢查系統的安全性,穩定性
4.前端隨便變,接口測好了,後端不用變
五.接口測試流程
1.需求評審,熟悉業務和需求
2.開發提供接口文檔
3.編寫接口測試用例
4.用例評審
5.提測後開始測試
6.提交測試報告
六.接口測試測什麼
1.單一接口的測試:接口的輸入輸出,數據合法性,異常處理
2.多接口組合測試:業務邏輯,業務場景
3. 結構檢查
(1)檢查返回值的結構是否正確,如是json類型仍是xml類型的數據
(2)字段名稱是否正確等
七.接口文檔
接口測試的重要依據
包括:接口說明、調用url、請求方法(get\post)、請求參數,參數類型,參數說明,返回參數說明
八.通用接口用例設計
1.經過性驗證:首先確定要保證這個接口功能是好使的,也就是正常的經過性測試,按照接口上的參數,正常傳入,是否能夠返回正確的結果。
2.參數組合:如今有一個操做商品的接口,有個字段type,傳1的時候表明修改商品,商品id、商品名稱和價格有一個是必傳的,這時候就要參數組合了。
3.接口安全
(1)繞過驗證,好比購買了一個商品,它的價格是300元,那我在提交訂單的時候,我把這個商品的價格改爲-3元,後端若是沒有作驗證,那是否是個人餘額還要增長?
(2)繞過身份權限,好比修改商品信息的接口,那必須得是賣家才能修改,那我傳一個普通用戶,能不能修改爲功,我傳一個其餘賣家能不能成功?
(3)參數是否加密,好比說登陸接口,用戶名和密碼是否是加密,若是不加密,別人攔截你的請求,就能獲取到你的信息了,加密規則是否容易破解
(4)密碼安全規則,密碼的複雜程度校驗
(5)異常驗證:異常的,也就是我不按照你接口文檔上的要求輸入參數,來驗證接口對異常狀況的校驗,必傳非必傳,參數類型,入參長度。
4.根據業務邏輯設計用例
列出測試點,造數據測試對應測試點
九.接口測試用例模板
項目,模塊,用例id,接口名稱,用例標題,請求方式,請求url,請求參數,前置條件,結果驗證,請求報文,返回報文,測試結果,測試人員
二:操做說明:
1. :在chrome中安裝好postman插件後,一般會在桌面上生成一個Postman的快捷方式,再次打開它時能夠直接經過快捷方式也能夠在chrome瀏覽器中的應用中打開它
二、打開後,在紅圈裏面輸入須要測試的接口地址,選擇post方式,而後在下面的Headers中手動添加一個相應的鍵值。這個很關鍵,必定要填寫正確。html
(如:json格式的提交數據須要添加:Content-Type :application/x-www-form-urlencoded,不然會致使請求失敗)
前端
Get請求:
在地址欄裏輸入請求url:https://api.douban.com/v2/book/search?q='小王子'
選擇「GET」方式,
點擊"Url params",添加url params key:id , value:1
點擊「send」獲得json數據以下:
![接口測試 <wbr>- <wbr>postman接口測試學習筆記! 接口測試 <wbr>- <wbr>postman接口測試學習筆記!](http://static.javashuo.com/static/loading.gif)
Post請求:
在地址欄裏輸入請求url:http://localhost:9998/api/user/1
選擇「POST」方式,
點擊"application/x-www-form-urlencoded",
添加key:name , value:baidu-lulee007
添加key:sex , value:man
點擊Send便可提交請求,而後在下面查看請求結果,而且能夠以Pretty、Raw、Preview三種方式查看。如圖:
返回數據進行json解析:
![接口測試 <wbr>- <wbr>postman接口測試學習筆記! 接口測試 <wbr>- <wbr>postman接口測試學習筆記!](http://static.javashuo.com/static/loading.gif)
知識點說明:
一:Postman正確區分參數的幾種類型
而body的類型能夠有: form-data、x-www-form-urlencoded、raw、binary.
1. form-data
對應着http請求中的Content-Type爲multipart/form-data.
它會將表單的數據處理爲一條消息,以標籤爲單元,用分隔符分開。既能夠上傳鍵值對,也能夠上傳文件File。當上傳的字段是文件時,會有Content-Type來表名文件類型;content-disposition,用來講明字段的一些信息;
由於multipart/form-data類型有boundary隔離,能夠上傳多個文件,也能夠上傳鍵值對,它採用了鍵值對的方式。
2. x-www-form-urlencoded
application/x-www-from-urlencoded,會將表單內的數據轉換爲鍵值對,好比,name=Java&age = 23
3. raw(支持各類原生的類型)
4. binary(二進制 )
經過上圖能夠看出,只能上傳一個圖片, 至關於Content-Type:application/octet-stream