接口測試這幾年面試的時候闸度,基本上公司都會或多或少問下竭贩,越來越多的測試同行意識到接口測試的重要性。
那么為什么接口測試會這么重要呢莺禁?
平常的功能測試留量,主要就是點(diǎn)-點(diǎn)-點(diǎn),各種點(diǎn)哟冬,大家水平都一樣楼熄,是個人都能點(diǎn),那么去面試時候如果問你平常在公司怎么測試的浩峡,你除了說點(diǎn)點(diǎn)點(diǎn)可岂,還能說什么呢,無非就是這個項(xiàng)目點(diǎn)完了點(diǎn)那個項(xiàng)目翰灾,所以這就是為什么各行各業(yè)的只要手指能點(diǎn)得動的人都來轉(zhuǎn)行軟件測試了缕粹。面試的時候面試官希望你除了點(diǎn)點(diǎn)點(diǎn)稚茅,還能更深入一點(diǎn)的思考頁面上看不到的功能,如:
服務(wù)器相關(guān):性能測試致开、系統(tǒng)壓力測試等
前端:頁面兼容測試峰锁、UI測試等
那么后端就最重要的是-----接口測試了萎馅。
為什么要做接口測試:
或許有人在想双戳,接口跑通了不就可以了嗎,前端請求數(shù)據(jù)成功就代表后端接口可以了糜芳,為啥還要測試飒货。接口測試主要就是參數(shù),前端規(guī)定了輸入傳參類型了峭竣,后端沒有進(jìn)行規(guī)范限制塘辅,那么用戶如果不從前端輸入呢,直接抓接口去輸入(特別是金額相關(guān)的)皆撩,豈不是很危險(xiǎn):
比如:余額提現(xiàn)后端輸入-100扣墩,那么引起 ------- 余額=當(dāng)前余額(100)-提現(xiàn)金額(-100),這樣余額豈不是越來越多扛吞,這時就需要進(jìn)行接口測試了呻惕,要不這鍋又得測試背了
平常是怎么測試接口的?
我們可以用接口工具去直接請求接口滥比,也可以fiddler亚脆,charles抓包,抓到接口后修改金額為負(fù)數(shù)
通過性驗(yàn)證:首先肯定要保證這個接口功能是好使的盲泛,也就是正常的通過性測試濒持,按照接口文檔上的參數(shù),正常傳入寺滚,是否可以返回正確的結(jié)果柑营。
參數(shù)組合:現(xiàn)在有一個操作商品的接口,有個字段type村视,傳1的時候代表修改商品由境,商品id、商品名稱蓖议、價(jià)格有一個是必傳的虏杰,type傳2的時候是刪除商品,
商品id是必傳的勒虾,這樣的纺阔,就要測參數(shù)組合了,type傳1的時候修然,只傳商品名稱能不能修改成功笛钝,id质况、名稱、價(jià)格都傳的時候能不能修改成功玻靡。
接口安全:
1结榄、繞過驗(yàn)證,比如說購買了一個商品囤捻,它的價(jià)格是300元臼朗,那我在提交訂單時候,我把這個商品的價(jià)格改成3元蝎土,后端有沒有做驗(yàn)證视哑,更狠點(diǎn),我把錢改成-3誊涯,是不是我的余額還要增加挡毅?
2、繞過身份授權(quán)暴构,比如說修改商品信息接口跪呈,那必須得是賣家才能修改,那我傳一個普通用戶取逾,能不能修改成功耗绿,我傳一個其他的賣家能不能修改成功
3、參數(shù)是否加密菌赖,比如說我登陸的接口缭乘,用戶名和密碼是不是加密,如果不加密的話琉用,別人攔截到你的請求堕绩,就能獲取到你的信息了,加密規(guī)則是否容易破解邑时。
4奴紧、密碼安全規(guī)則,密碼的復(fù)雜程度校驗(yàn)
異常驗(yàn)證:
所謂異常驗(yàn)證晶丘,也就是我不按照你接口文檔上的要求輸入?yún)?shù)黍氮,來驗(yàn)證接口對異常情況的校驗(yàn)。比如說必填的參數(shù)不填浅浮,輸入整數(shù)類型的沫浆,傳入字符串類型,長度是10的滚秩,傳11专执,總之就是你說怎么來,我就不怎么來郁油,其實(shí)也就這三種本股,必傳非必傳攀痊、參數(shù)類型、入?yún)㈤L度拄显。
性能測試:
接口并發(fā)情況苟径,如上面提到的:一個賬號,同時(大于2個請求)對最后一個商品下單躬审,或不同賬號棘街,對最后一個商品下單
接口響應(yīng)時間,響應(yīng)時間太長了盒件,肯定需要優(yōu)化蹬碧,一般都是毫秒級別
你測試接口用到的工具:
接口測試工具很多舱禽,首先postman
其次用jmeter
接口出現(xiàn)異常時候炒刁,如何分析異常的?
抓包
1.用fiddler工具抓包誊稚,或者瀏覽器上f12,app上的話翔始,那就用fiddler設(shè)置代理,去看請求報(bào)文和返回報(bào)文了里伯。
2.查看后端日志城瞎,xhell連上服務(wù)器,查看日志
分析bug是前端還是后端的
如何分析一個bug是前端還是后端的疾瓮?
平常提bug的時候脖镀,前端開發(fā)和后端開發(fā)總是扯皮,不承認(rèn)是對方的bug
這種情況很容易判斷狼电,先抓包看請求報(bào)文蜒灰,對著接口文檔,看請求報(bào)文有沒問題肩碟,有問題就是前端發(fā)的數(shù)據(jù)不對
請求報(bào)文沒問題强窖,那就看返回報(bào)文,返回的數(shù)據(jù)不對削祈,那就是后端開發(fā)的問題咯
沒有接口文檔翅溺,如果做接口測試?(這是個送命題)
沒有接口文檔髓抑,那還能咋辦咙崎,瞎測唄!一個公司的開發(fā)流程里面吨拍,如果接口文檔都沒有褪猛,是無法展開接口測試的,你都不知道這個接口干什么的密末,也不知道具體每個字段代表什么意思握爷,那還測啥呢跛璧?
當(dāng)然,你肯定不能回答面試官不測(心理mmp新啼,臉上笑嘻嘻)追城,接下來就是扯犢子時間
1.沒有接口文檔,那就需要先跟開發(fā)溝通燥撞,然后整理接口文檔(本來是開發(fā)寫的座柱,沒辦法,為了唬住面試官物舒,先說自己整理了)
2.沒有接口文檔色洞,可以抓包看接口請求參數(shù),然后不懂的跟開發(fā)溝通本題主要靠情商冠胯,通俗來說就是忽悠能力火诸,先唬住面試官了再說,進(jìn)去了也是瞎測測荠察,隨時做好背鍋的準(zhǔn)備置蜀。