在進(jìn)行接口測試前,還需要了解:
1)、GET和POST請求:
如果是get請求的話麸拄,直接在瀏覽器里輸入就行了派昧,只要在瀏覽器里面直接能請求到的,都是get請求感帅,如果是post的請求的話,就不行了地淀,就得借助工具來發(fā)送失球。
GET請求和POST請求的區(qū)別:
1、GET使用URL或Cookie傳參帮毁。而POST將數(shù)據(jù)放在BODY中实苞。
2、GET的URL會有長度上的限制烈疚,則POST的數(shù)據(jù)則可以非常大黔牵。
3、POST比GET安全爷肝,因為數(shù)據(jù)在地址欄上不可見猾浦。
4、一般get請求用來獲取數(shù)據(jù)灯抛,post請求用來發(fā)送數(shù)據(jù)金赦。
其實上面這幾點,只有最后一點說的是比較靠譜的对嚼,第一點post請求也可以把數(shù)據(jù)放到url里面夹抗,get請求其實也沒長度限制,post請求看起來參數(shù)是隱式的纵竖,稍微安全那么一些些漠烧,但是那只是對于小白用戶來說的,就算post請求靡砌,你通過抓包也是可以抓到參數(shù)的已脓。所以上面這些面試的時候你說出來就行了。
2)通殃、http狀態(tài)碼
每發(fā)出一個http請求之后摆舟,都會有一個響應(yīng),http本身會有一個狀態(tài)碼邓了,來標(biāo)示這個請求是否成功恨诱,常見的狀態(tài)碼有以下幾種:
1、200 2開頭的都表示這個請求發(fā)送成功骗炉,最常見的就是200照宝,就代表這個請求是ok的,服務(wù)器也返回了句葵。
2厕鹃、300 3開頭的代表重定向兢仰,最常見的是302,把這個請求重定向到別的地方了剂碴,
3把将、400 400代表客戶端發(fā)送的請求有語法錯誤,401代表訪問的頁面沒有授權(quán)忆矛,403表示沒有權(quán)限訪問這個頁面察蹲,404代表沒有這個頁面
4、500 5開頭的代表服務(wù)器有異常催训,500代表服務(wù)器內(nèi)部異常洽议,504代表服務(wù)器端超時,沒返回結(jié)果
接下來再說接口測試怎么測:
1)漫拭、通用接口用例設(shè)計
①亚兄、通過性驗證:首先肯定要保證這個接口功能是好使的,也就是正常的通過性測試采驻,按照接口文檔上的參數(shù)审胚,正常傳入,是否可以返回正確的結(jié)果礼旅。
②菲盾、參數(shù)組合:現(xiàn)在有一個操作商品的接口,有個字段type各淀,傳1的時候代表修改商品懒鉴,商品id、商品名稱碎浇、價格有一個是必傳的临谱,type傳2的時候是刪除商品,商品id 是必傳的奴璃,這樣的悉默,就要測參數(shù)組合了,type傳1的時候苟穆,只傳商品名稱能不能修改成功抄课,id、名稱雳旅、價格都傳的時候能不能修改成功跟磨。
③、接口安全:
1攒盈、繞過驗證抵拘,比如說購買了一個商品,它的價格是300元型豁,那我在提交訂單時候僵蛛,我把這個商品的價格改成3元尚蝌,后端有沒有做驗證,更狠點充尉,我把錢改成-3飘言,是不是我的余額還要增加?
2驼侠、繞過身份授權(quán)姿鸿,比如說修改商品信息接口,那必須得是賣家才能修改泪电,那我傳一個普通用戶般妙,能不能修改成功纪铺,我傳一個其他的賣家能不能修改成功
3相速、參數(shù)是否加密,比如說我登陸的接口鲜锚,用戶名和密碼是不是加密突诬,如果不加密的話,別人攔截到你的請求芜繁,就能獲取到你的信息了旺隙,加密規(guī)則是否容易破解。
4骏令、密碼安全規(guī)則蔬捷,密碼的復(fù)雜程度校驗
④、異常驗證:
所謂異常驗證榔袋,也就是我不按照你接口文檔上的要求輸入?yún)?shù)周拐,來驗證接口對異常情況的校驗。比如說必填的參數(shù)不填凰兑,輸入整數(shù)類型的妥粟,傳入字符串類型,長度是10的吏够,傳11勾给,總之就是你說怎么來,我就不怎么來锅知,其實也就這三種播急,必傳非必傳、參數(shù)類型售睹、入?yún)㈤L度旅择。
2)、根據(jù)業(yè)務(wù)邏輯來設(shè)計用例
根據(jù)業(yè)務(wù)邏輯來設(shè)計的話侣姆,就是根據(jù)自己系統(tǒng)的業(yè)務(wù)來設(shè)計用例生真,這個每個公司的業(yè)務(wù)不一樣沉噩,就得具體的看自己公司的業(yè)務(wù)了,其實這也和功能測試設(shè)計用例是一樣的柱蟀。
舉個例子川蒙,拿bbs來說,bbs的需求是這樣的:
1长已、登錄失敗5次畜眨,就需要等待15分鐘之后再登錄
2、新注冊的用戶需要過了實習(xí)期才能發(fā)帖
3术瓮、刪除帖子扣除積分
4康聂、......
像這樣的你就要把這些測試點列出來,然后再去造數(shù)據(jù)測試對應(yīng)的測試點胞四。
用什么工具測
接口測試的工具很多恬汁,比如 postman、RESTClient辜伟、jmeter氓侧、loadrunner、SoapUI等导狡,本人首推的測試工具是postman和jmeter约巷,接下來就簡單介紹下如何使用這兩款工具進(jìn)行接口測試,其他工具本次暫不介紹旱捧。
1)独郎、Postman是谷歌的一款接口測試插件,它使用簡單枚赡,支持用例管理氓癌,支持get、post标锄、文件上傳顽铸、響應(yīng)驗證、變量管理料皇、環(huán)境參數(shù)管理等功能谓松,可以批量運行,并支持用例導(dǎo)出践剂、導(dǎo)入鬼譬。
jmeter是一款100%純Java編寫的免費開源的工具,它主要用來做性能測試逊脯,相比loadrunner來說优质,它內(nèi)存占用小,免費開源,輕巧方便巩螃、無需安裝演怎,越來越被大眾所喜愛。