postman介面測試——筆記
阿新 • • 發佈:2018-12-24
介面測試理論:
一.介面
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請求: 在位址列裡輸入請求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解析:
知識點說明: 一: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
1. :在chrome中安裝好postman外掛後,通常會在桌面上生成一個Postman的快捷方式,再次開啟它時可以直接通過快捷方式也可以在chrome瀏覽器中的應用中開啟它
2、開啟後,在紅圈裡面輸入需要測試的介面地址,選擇post方式,然後在下面的Headers中手動新增一個相應的鍵值。這個很關鍵,一定要填寫正確。
(如:json格式的提交資料需要新增:Content-Type :application/x-www-form-urlencoded,否則會導致請求失敗)
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解析:
知識點說明: 一: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