小伙伴們大家好呀,前段時間筆者做了一個小調(diào)查,發(fā)現(xiàn)軟件測試行業(yè)做功能測試和接口測試的人相對比較多。在測試工作中,有高手,自然也會有小白,但有一點我們無法否認,就是每一個高手都是從小白開始的,所以今天我們就來談?wù)勔淮蟛糠秩嗽谧龅慕涌跍y試,小白變高手也許你只差這一次深入了解!
已經(jīng)是老生常談了,我想不用我說,凡是說到接口總會被問及這個話題,的確,沒有目標就沒有評定標準,知道其目的也是至關(guān)重要的。
1.1接口測試的目的通過英文翻譯呈現(xiàn)如下:
API 測試是一種作為集成測試的一部分,通過直接控制被測應(yīng)用的接口(API)來確定是否在功能、可靠性、性能和安全方面達到預(yù)期的軟件測試活動。由于 API 都沒有 GUI 界面,API 測試都是在通訊層進行的?,F(xiàn)在 API 測試在自動化測試中有著很重要的地位,因為 API 一般是應(yīng)用邏輯的主要接口,同時 GUI 測試在敏捷開發(fā)和 DevOps 的快速迭代和頻繁變更中很難維護。
1.2在進行接口測試前,還需要了解:
1.2.1GET和POST請求:
如果是get請求的話,直接在瀏覽器里輸入就行了,只要在瀏覽器里面直接能請求到的,都是get請求,如果是post的請求的話,就不行了,就得借助工具來發(fā)送。
GET請求和POST請求的區(qū)別:
1.2.2http狀態(tài)碼
每發(fā)出一個http請求之后,都會有一個響應(yīng),http本身會有一個狀態(tài)碼,來標示這個請求是否成功,常見的狀態(tài)碼有以下幾種:
1.2.3web service的接口如何測試:
它不需要你在拼報文了,會給一個webservice的地址,或者wsdl文件,直接在soapui導(dǎo)入,就可以看到這個webservice里面的所有接口,也有報文,直接填入?yún)?shù)調(diào)用,看返回結(jié)果就可以了。
1.2.4cookie與session的區(qū)別:
2.1通用接口用例設(shè)計
通過性驗證:
首先肯定要保證這個接口功能是好使的,也就是正常的通過性測試,按照接口文檔上的參數(shù),正常傳入,是否可以返回正確的結(jié)果。
參數(shù)組合:
現(xiàn)在有一個操作商品的接口,有個字段type,傳1的時候代表修改商品,商品id、商品名稱、價格有一個是必傳的,type傳2的時候是刪除商品,商品id 是必傳的,這樣的,就要測參數(shù)組合了,type傳1的時候,只傳商品名稱能不能修改成功,id、名稱、價格都傳的時候能不能修改成功。
接口安全:
異常驗證:
所謂異常驗證,也就是我不按照你接口文檔上的要求輸入?yún)?shù),來驗證接口對異常情況的校驗。
2.2根據(jù)業(yè)務(wù)邏輯來設(shè)計用例
根據(jù)業(yè)務(wù)邏輯來設(shè)計的話,就是根據(jù)自己系統(tǒng)的業(yè)務(wù)來設(shè)計用例,這個每個公司的業(yè)務(wù)不一樣,就得具體的看自己公司的業(yè)務(wù)了,其實這也和功能測試設(shè)計用例是一樣的。列出測試點,然后再去找數(shù)據(jù)測試對應(yīng)的測試點。
接口測試的工具很多,比如 postman、RESTClient、jmeter、loadrunner、SoapUI等,這里主要說下最近看到的一些接口測試工具方面的帖子,簡單匯總一下他們的實現(xiàn)方式:
本人首推的測試工具是postman和jmeter,接下來就簡單介紹下如何使用這兩款工具進行接口測試,其他工具本次暫不介紹。
Postman是Collections,Jmeter是線程組,沒什么區(qū)別。
Postman和jmeter都是創(chuàng)建http請求
區(qū)別1:postman請求的請求URL是一個整體,jmeter分成了4個部分(協(xié)議、主機、端口、路徑)
區(qū)別2:postman可以在請求中直接填寫請求頭信息, jmeter需要通過添加http請求頭管理器添加請求頭
區(qū)別3:對于cookie,postman可以對cookie做管理,但是jmeter只需添加http cookie管理器即可完成cookie的處理,并且是自動處理cookie信息,所以jmeter的cookie管理更簡單
Postman在pre-request script可以添加前置請求,獲取響應(yīng)數(shù)據(jù),比較容易進行json結(jié)果的處理,很方便的提取json數(shù)據(jù)——————jmeter不僅可以處理json數(shù)據(jù),(json提取器),還可以提取其他數(shù)據(jù)(正則表達式提取器)
區(qū)別1:jmeter比較適合進行數(shù)據(jù)與操作分離,而postman比較適合把數(shù)據(jù)和操作放在一起,顯然postman操作更簡單,jmeter更便于維護
區(qū)別2: postman也支持csv數(shù)據(jù)文件的導(dǎo)入,但是每次執(zhí)行時都需要收工加載數(shù)據(jù)文件。不方便(所以只能做半自動化)
Jmeter可以進行完全自動化,特別是引入ant后效果更明顯
區(qū)別1:Postman有很多自帶的斷言函數(shù),直接引用即可,操作非常方便。。。 jmeter也自帶斷言組件,操作非常直觀。 區(qū)別: postman用函數(shù)斷言, jmeter用元件進行斷言
區(qū)別2:jmeter支持正則表達式斷言,postman不支持
區(qū)別3:Jmeter的斷言更豐富。 postman需要通過編程來實現(xiàn)同樣的效果,所以難度更大
區(qū)別:默認執(zhí)行,postman不能保存結(jié)果,jmeter可以報存結(jié)果
Postman可以通過newman實現(xiàn)批量執(zhí)行和保存結(jié)果,jmeter可以通過ant實現(xiàn)批量執(zhí)行和保存結(jié)果
Postman比較適合做手工接口測試,因為簡單,可以實現(xiàn)半自動化
Jmeter比較適合自動化接口測試,因為功能強大并且可以保存腳本,批量執(zhí)行設(shè)置很容易
Postman一般用來做接口測試,用來發(fā)現(xiàn)BUG,驗證后臺程序
Jmeter一般用來做自動化測試,做冒煙測試。
Postman是谷歌的一款接口測試插件,它使用簡單,支持用例管理,支持get、post、文件上傳、響應(yīng)驗證、變量管理、環(huán)境參數(shù)管理等功能,可以批量運行,并支持用例導(dǎo)出、導(dǎo)入。
jmeter是一款100%純Java編寫的免費開源的工具,它主要用來做性能測試,相比loadrunner來說,它內(nèi)存占用小,免費開源,輕巧方便、無需安裝,越來越被大眾所喜愛。
聯(lián)系客服