本文原地址:https://utest.21kunpeng.com/contents/detail?id=50
軟件測試行業作功能測試和接口測試的人相對比較多。在測試工做中,有高手,天然也會有小白,但每個高手都是從小白開始的。因此今天咱們就來談談一大部分人在作的接口測試,小白變高手也許你只差這一次深刻了解!web
1、接口測試的目的後端
已是老生常談了,凡是說到接口總會被問及這個話題,的確,沒有目標就沒有評定標準,知道其目的也是相當重要的。接口測試的目的經過英文翻譯呈現以下:API 測試是一種做爲集成測試的一部分,經過直接控制被測應用的接口(API)來肯定是否在功能、可靠性、性能和安全方面達到預期的軟件測試活動。因爲 API 都沒有 GUI 界面,API 測試都是在通信層進行的。如今 API 測試在自動化測試中有着很重要的地位。由於 API 通常是應用邏輯的主要接口,同時 GUI 測試在敏捷開發和 DevOps 的快速迭代和頻繁變動中很難維護。數組
2、在進行接口測試前,還須要瞭解瀏覽器
一、GET和POST請求:安全
若是是get請求的話,直接在瀏覽器裏輸入就好了,只要在瀏覽器裏面直接能請求到的,都是get請求,若是是post的請求的話,就不行了,就得藉助工具來發送。服務器
GET請求和POST請求的區別:cookie
● GET使用URL或Cookie傳參。而POST將數據放在BODY中。session
● GET的URL會有長度上的限制,則POST的數據則能夠很是大。ide
● POST比GET安全,由於數據在地址欄上不可見。工具
● 通常get請求用來獲取數據,post請求用來發送數據。二、http狀態碼:每發出一個http請求以後,都會有一個響應,http自己會有一個狀態碼,來標示這個請求是否成功,常見的狀態碼有如下幾種:
● 200 2開頭的都表示這個請求發送成功,最多見的就是200,就表明這個請求是ok的,服務器也返回了。
● 300 3開頭的表明重定向,最多見的是302,把這個請求重定向到別的地方了
● 400 400表明客戶端發送的請求有語法錯誤,401表明訪問的頁面沒有受權,403表示沒有權限訪問這個頁面,404表明沒有這個頁面
● 500 5開頭的表明服務器有異常,500表明服務器內部異常,504表明服務器端超時,沒返回結果
三、web service的接口如何測試:
它不須要你在拼報文了,會給一個webservice的地址,或者wsdl文件,直接在soapui導入,就能夠看到這個webservice裏面的全部接口,也有報文,直接填入參數調用,看返回結果就能夠了。
四、cookie與session的區別:
● cookie數據存放在客戶的瀏覽器上,session數據放在服務器上
● cookie不是很安全,別人能夠分析存放在本地的cookie並進行cookie欺騙考慮到安全應當使用session
● session會在必定時間內保存在服務器上。當訪問增多,會比較佔用你服務器的性能考慮到減輕服務器性能方面,應當使用cookie
● 單個cookie保存的數據不能超過4K,不少瀏覽器都限制一個站點最多保存20個cookie
● 因此我的建議:將登錄信息等重要信息存放爲session其餘信息若是須要保留,能夠放在cookie中
3、接口測試怎麼測
一、通用接口用例設計
經過性驗證:首先確定要保證這個接口功能是好使的,也就是正常的經過性測試,按照接口文檔上的參數,正常傳入,是否能夠返回正確的結果。
參數組合:如今有一個操做商品的接口,有個字段type,傳1的時候表明修改商品,商品id、商品名稱、價格有一個是必傳的。type傳2的時候是刪除商品,商品id是必傳的,這樣的,就要測參數組合了,type傳1的時候,只傳商品名稱能不能修改爲功,id、名稱、價格都傳的時候能不能修改爲功。
接口安全:
①、繞過驗證,好比說購買了一個商品,它的價格是300元,那我在提交訂單時候,我把這個商品的價格改爲3元,後端有沒有作驗證,更狠點,我把錢改爲-3,是否是個人餘額還要增長?
②、繞過身份受權,好比說修改商品信息接口,那必須得是賣家才能修改,那我傳一個普通用戶,能不能修改爲功,我傳一個其餘的賣家能不能修改爲功
③、參數是否加密,好比說我登錄的接口,用戶名和密碼是否是加密,若是不加密的話,別人攔截到你的請求,就能獲取到你的信息了,加密規則是否容易破解。
④、密碼安全規則,密碼的複雜程度校驗⑤、異常驗證:所謂異常驗證,也就是我不按照你接口文檔上的要求輸入參數,來驗證接口對異常狀況的校驗。
二、根據業務邏輯來設計用例:
根據業務邏輯來設計的話,就是根據本身系統的業務來設計用例,這個每一個公司的業務不同,就得具體的看本身公司的業務了,其實這也和功能測試設計用例是同樣的。
列出測試點,而後再去造數據測試對應的測試點。
用什麼工具測:接口測試的工具不少,好比 postman、RESTClient、jmeter、loadrunner、SoapUI等。
4、postman和jmeter工具如何進行接口測試
Postman是谷歌的一款接口測試插件,它使用簡單,支持用例管理,支持get、post、文件上傳、響應驗證、變量管理、環境參數管理等功能,能夠批量運行,並支持用例導出、導入。
jmeter是一款100%純Java編寫的免費開源的工具,它主要用來作性能測試,相比loadrunner來講,它內存佔用小,免費開源,輕巧方便、無需安裝,愈來愈被大衆所喜好。
注:如下用例中所用地址皆爲在本地所搭的環境,外網沒法訪問,見諒。
該接口用於經過userid獲取用戶信息
請求地址:http://192.168.1.102:8081/getuser
請求方式:POST/GET
入參:
出參:
postman中請求以下:
jmeter中請求以下:
總結:作好接口測試並無那麼簡單,固然只要找對方法和工具,一切都沒有你想象中那麼複雜!無論怎樣,既然開始了,那就要想辦法把它作好。上述分享中若是有不對的地方,歡迎你們及時提出。