大家好,我是IT修真院深圳分院第4期的學(xué)員,一枚正直純潔善良的JAVA程序員
今天給大家分享一下,修真院官網(wǎng)JAVA任務(wù)二,深度思考中的知識(shí)點(diǎn)——postman是什么,為什么用postman測試接口?除了postman外還有什么可以測試接口
背景介紹1.背景介紹
什么是API接口測試
API接口有多種,大約可劃分為三類。
第一種是函數(shù)級(jí)別的,測試需要對(duì)接口的各個(gè)參數(shù)進(jìn)行測試,如:
Int getResult(String key, String ID, Int ticket)。
第二種是對(duì)象級(jí)別的,開發(fā)在使用API接口時(shí),先引入包名,在使用之前聲明一個(gè)對(duì)象,之后可以使用對(duì)象提供的方法,而測試時(shí),需要測試的是API的功能及對(duì)數(shù)據(jù)輸入的正確性。第二種和第一種的差別是,我們只需關(guān)注提供給用戶使用的接口就可以了,不用關(guān)心接口調(diào)用其他函數(shù)情況,相對(duì)于第一種來說,測試的粒度要大一些,范圍小一些。
第三種是http協(xié)議的接口,App客戶端和后端服務(wù)連接,一般采用的都是http協(xié)議,客戶端通過get和post的方法從后端服務(wù)獲取數(shù)據(jù)。第三種相對(duì)于第二種來說,粒度更大,我們關(guān)注的接口更少,但是這些接口都是核心功能。
如何測試API接口
目前測試API接口的方法很多,如:使用fiddler的發(fā)送get、post的功能進(jìn)行校驗(yàn)。缺點(diǎn)是,測試一遍后,在回歸測試時(shí),需要手動(dòng)再執(zhí)行一遍,非常耗時(shí)。
有人建議使用python的request進(jìn)行API接口測試時(shí),通過編碼方式進(jìn)行API接口測試,的確是一個(gè)好的方法。但是問題是,時(shí)間。在有限的測試時(shí)間內(nèi),可能沒有時(shí)間去做這個(gè)腳本。如果完成這個(gè)腳本,至少要進(jìn)行一輪手工測試,從而才能了解到期望的返回值是什么樣的。
有沒有這樣一種工具,手動(dòng)測試完成后,不需要寫太多代碼,立馬可以用功能性測試的cases進(jìn)行自動(dòng)化回歸呢?
答案:有。PostMan就是這一款工具,既可以像使用Fiddler一樣,也可以像使用腳本一樣。
為什么要測試API接口
App后端服務(wù),在出現(xiàn)功能異常時(shí),或者吐出異常數(shù)據(jù)時(shí),可能會(huì)導(dǎo)致客戶端功能異常,甚至出現(xiàn)崩潰的現(xiàn)象。而客戶端由于數(shù)據(jù)的問題而崩潰,如果容錯(cuò)不到位,可能導(dǎo)致App永遠(yuǎn)無法啟動(dòng)。這種傷害,對(duì)用戶,對(duì)公司來說,都是巨大的。因此有必要進(jìn)行API接口的測試。
一、postman說明
Postman是一種網(wǎng)頁調(diào)試與發(fā)送網(wǎng)頁http請(qǐng)求的chrome插件。我們可以用來很方便的模擬get或者post或者其他方式的請(qǐng)求來調(diào)試接口。
安裝方法:
1.chrome插件? ? ? ? ? ? 通過chrome瀏覽器打開chrome網(wǎng)上應(yīng)用店直接添加到chrome插件中。需要翻墻,翻墻違規(guī)且收費(fèi),我選擇第二種。
2.直接下載windows客戶端,百度可得。
2.知識(shí)剖析
為什么要用postman測試接口
首先在項(xiàng)目的初期,測試人員提前介入,進(jìn)行接口測試模擬客戶端與服務(wù)端的交互。有問題提前拋出來。保證接口調(diào)用是沒問題的。其次,接口測試完成之后在進(jìn)行系統(tǒng)測試,會(huì)輕松很多。明白了各個(gè)接口在做什么,各個(gè)參數(shù)的模擬實(shí)際上就是業(yè)務(wù)場景的模擬。系統(tǒng)測試出現(xiàn)一些問題更快速的定位是客戶端還是服務(wù)端出問題。最后接口最省時(shí),省力,而且收益很高。
為什么要用postman測試接口
另外,接口是獲取和操作資源的方式,而大部分系統(tǒng)和產(chǎn)品中,資源一般都是產(chǎn)品的核心,比如微信核心資 源就是通訊錄關(guān)系鏈和聊天記錄等,因此資源是必測的。
而接口中大部分的內(nèi)容是數(shù)據(jù),通過數(shù)據(jù)的對(duì)比我們能推測到系統(tǒng)和產(chǎn)品的邏輯,測接口就是測邏輯。最后接口中的返回相對(duì)單純,不像web頁面,html代碼中有太多ui的東西,ui最不穩(wěn)定,變化太快,接口相對(duì)穩(wěn)定一點(diǎn)點(diǎn),但是里面的干擾信息更少,斷言相對(duì)容易很多。
界面介紹與演示
5.擴(kuò)展思考
除postman外,還有什么測試接口程序
除postman外,還有什么測試接口程序
Jmeter:后置處理器配合斷言基本上可以滿足接口測試需求,就是測試報(bào)告要做二次開發(fā)。
insomnia:postman的弱化版,基本功能免費(fèi),重要的是工具代碼開源,可以自己改。
paw: mac上最強(qiáng),不過收費(fèi)。
自己擼代碼:js和python等都可以實(shí)現(xiàn)。其實(shí)就是寫個(gè)demo來發(fā)送請(qǐng)求接收響應(yīng),根據(jù)自己需要來編寫。
7.參考文獻(xiàn)
網(wǎng)絡(luò)
8.更多討論
歡迎大家交流和討論
鳴謝
感謝大家觀看
BY : 魏振恒