postman,jmeter介面測試
1、什麼是介面測試?
介面測試是測試系統元件間介面的一種測試。介面測試主要用於檢測外部系統與系統之間以及內部各個子系統之間的互動點。測試的重點是要檢查資料的交換,傳遞和控制管理過程,以及系統間的相互邏輯依賴關係等。
2、介面組成
介面都有那些部分組成呢?
首先,介面文件應該包含以下內容:
1、介面說明
2、呼叫url
3、請求方法(get\post)
4、請求引數、引數型別、請求引數說明
5、返回引數說明
由介面文件可知,介面至少應有請求地址、請求方法、請求引數(入參和出參)組成,部分介面有請求頭header。
標頭 (header):是伺服器以HTTP協議傳HTML資料到瀏覽器前所送出的字串,在標頭與 HTML 檔案之間尚需空一行分隔,一般存放cookie、token等資訊
有同學問我header和入參有什麼關係?它們不都是傳送到伺服器的引數嗎?
OK,首先,它們確實都是傳送到伺服器裡的引數,但它們是有區別的,header裡存放的引數一般存放的是一些校驗資訊,比如cookie,它是為了校驗這個請求是否有許可權請求伺服器,如果有,它才能請求伺服器,然後把請求地址連同入參一起傳送到伺服器,然後伺服器會根據地址和入參來返回出參。也就是說,伺服器是先接受header資訊進行判斷該請求是否有許可權請求,判斷有許可權後,才會接受請求地址和入參的。
3、為什麼要做介面測試?
a) 如今的系統複雜度不斷上升,傳統的測試方法成本急劇增加且測試效率大幅下降,介面測試可以提供這種情況下的解決方案。
b) 介面測試相對容易實現自動化持續整合,且相對UI自動化也比較穩定,可以減少人工迴歸測試人力成本與時間,縮短測試周期,支援後端快速發版需求。介面持續整合是為什麼能低成本高收益的根源。
c) 現在很多系統前後端架構是分離的,從安全層面來說:
1)只依賴前端進行限制已經完全不能滿足系統的安全要求(繞過前面實在太容易), 需要後端同樣進行控制,在這種情況下就需要從介面層面進行驗證。
2)前後端傳輸、日誌列印等資訊是否加密傳輸也是需要驗證的,特別是涉及到使用者的隱私資訊,如身份證,銀行卡等。
跟大家推薦一個學習資料分享群:175317069
4、介面測試工具
介面測試的工具很多,比如 postman、RESTClient、jmeter、loadrunner、SoapUI等,本人首推的測試工具是postman和jmeter,接下來就簡單介紹下如何使用這兩款工具進行介面測試,其他工具本次暫不介紹。
1)、Postman是谷歌的一款介面測試外掛,它使用簡單,支援用例管理,支援get、post、檔案上傳、響應驗證、變數管理、環境引數管理等功能,可以批量執行,並支援用例匯出、匯入。
jmeter是一款100%純Java編寫的免費開源的工具,它主要用來做效能測試,相比loadrunner來說,它記憶體佔用小,免費開源,輕巧方便、無需安裝,越來越被大眾所喜愛。
注:以下用例中所用地址皆為本人在本地所搭的環境,外網無法訪問,見諒。
①、獲取使用者資訊:該介面用於通過userid獲取使用者資訊
請求地址:http://192.168.1.102:8081/getuser
請求方式:POST/GET
入參:
出參:
postman中請求如下
jmeter中請求如下:
②、獲取使用者資訊:需要新增header,Content-Type application/json
1.1 請求地址
http://192.168.1.102:8081/getuser2
1.2 請求方式
get/post
1.3 入參
1.4 出參
postman測試如下,本次入參為json型別,當然文件中沒說非要用json,用其他方式也是可以的
jmeter測試如下
③、修改使用者餘額2
1.1 功能描述
功能描述:需要新增cookie,token token是寫死的token12345
1.2 請求地址
http://192.168.1.102:8081/setmoney2
1.3 請求方式
Post
1.4 入參
1.5 出參
postman測試如下:
jmeter測試如下:
④檔案上傳
postman:
jmeter:
⑤、請求webService介面
請求webService介面需要用到的工具是SoapUI,如下圖
在jmeter裡請求如下:
結語:
跟大家推薦一個學習資料分享群:175317069,裡面大牛已經為我們整理好了許多的學習資料,有自動化,介面,效能等等的學習資料!人生是一個逆水行舟的過程,不進則退,咱們一起加油吧!