1.你們公司的接口測(cè)試流程是?
接口測(cè)試我們是在xx項(xiàng)目做的,主要有xx接口,xx接口等
1.首先是從開(kāi)發(fā)那里拿到API接口文檔,了解接口業(yè)務(wù)、包括接口地址、接口方式、入?yún)?、出參、token鑒權(quán),返回格式等信息。
2.然后使用postman或jmeter工具執(zhí)行接口測(cè)試,一般使用Jmeter的步驟是這樣的:
首先建立一個(gè)線程組;
然后就是新建一個(gè)HTTP請(qǐng)求默認(rèn)值。(輸入接口服務(wù)器IP和端口);
再新建很多HTTP請(qǐng)求,一個(gè)請(qǐng)求一個(gè)用例。(輸入接口路徑,詢問(wèn)方式,參數(shù)等);
然后創(chuàng)建斷言和查看結(jié)果數(shù)據(jù)。
3.最后調(diào)試并執(zhí)行用力,最后編寫接口測(cè)試報(bào)告。
4.其實(shí)我們做接口的時(shí)候也碰到過(guò)很多的問(wèn)題,都是自己獨(dú)立解決的,比如返回值亂碼(修改jmeter的配置文件為UTF-8編碼方式),比如需要登陸后才能取得token鑒權(quán)編碼并且這個(gè)鑒權(quán)碼在下面的請(qǐng)求中需要用到(使用正則表達(dá)式提取器提取token的值等等。0
如果對(duì)python自動(dòng)化測(cè)試、web自動(dòng)化、接口自動(dòng)化、移動(dòng)端自動(dòng)化、面試經(jīng)驗(yàn)交流等等感興趣的測(cè)試人,可以點(diǎn)我獲取...

2.簡(jiǎn)述cookie、session及token的區(qū)別
1.cookie數(shù)據(jù)存放在客戶的瀏覽器上,session數(shù)據(jù)放在服務(wù)器上。而token是接口數(shù)據(jù)的鑒權(quán)碼,一般情況下登錄后才可以獲取到token,然后在每次請(qǐng)求接口時(shí)需要帶上token參數(shù)。
2.cookie不是很安全,別人可以分析存放在本地的cookie并進(jìn)行cookie欺騙,考慮到安全應(yīng)到使用seesion,seesion會(huì)在一定時(shí)間內(nèi)保存在服務(wù)器上。當(dāng)訪問(wèn)增多,會(huì)比較占用你服務(wù)器的性能,考慮到減輕服務(wù)器性能方面應(yīng)當(dāng)使用cookie。
3.可以將登錄信息等重要信息存放為session;其他信息需要保存,可以放在coolie。
3.對(duì)于加密接口,如何進(jìn)行測(cè)試?
在調(diào)用接口的時(shí)候,要搞清楚接口的加密方式是什么。
如果是對(duì)稱加密,要先從開(kāi)發(fā)哪里獲取對(duì)稱密鑰,基于對(duì)稱密鑰可以加密請(qǐng)求數(shù)據(jù),以及解密響應(yīng)報(bào)文。
如果是非對(duì)稱加密,先從開(kāi)發(fā)獲取服務(wù)器公鑰和私鑰,也要知道當(dāng)前用戶的公鑰和私鑰信息。以便完成接口的數(shù)據(jù)加密和解密。
4.接口測(cè)試執(zhí)行中比對(duì)數(shù)據(jù)庫(kù)嗎?
肯定,因?yàn)榻涌诜祷刂档臄?shù)據(jù)來(lái)源于數(shù)據(jù)庫(kù),接口對(duì)數(shù)據(jù)的操作還要進(jìn)行深層次的數(shù)據(jù)庫(kù)檢查!
5.如何分析一個(gè)bug是前端還是后端
這種情況很容易判斷,先抓包看請(qǐng)求報(bào)文,對(duì)著接口文檔,看請(qǐng)求報(bào)文有沒(méi)有問(wèn)題,有問(wèn)題就是前端發(fā)的數(shù)據(jù)不對(duì);
請(qǐng)求報(bào)文沒(méi)問(wèn)題,那就看返回報(bào)文,返回的數(shù)據(jù)不對(duì)那就是后端開(kāi)發(fā)的問(wèn)題。
6.談?wù)勀銓?duì)HTTP協(xié)議的了解?
超文本傳輸協(xié)議,端口為80,特點(diǎn)(無(wú)記憶功能、快速)是由請(qǐng)求和響應(yīng)兩部分組成請(qǐng)求由請(qǐng)求頭、請(qǐng)求行、請(qǐng)求正文組成;響應(yīng)是由響應(yīng)頭、響應(yīng)行、響應(yīng)正文組成,之前我們公司的接口是采用https協(xié)議的。
httpshttp+ssl協(xié)議端口443面向安全的超文本傳輸協(xié)議。
7.get和post請(qǐng)求有什么區(qū)別?
get和post請(qǐng)求都是客戶端向服務(wù)器提交的一種請(qǐng)求方式;
get是明文傳輸參數(shù)、傾向于請(qǐng)求服務(wù)器資源。比如打開(kāi)網(wǎng)站;
post傳輸數(shù)據(jù)不可見(jiàn),安全性高,傾向于向服務(wù)器提交數(shù)據(jù),比如注冊(cè)等。
8.依賴于第三方數(shù)據(jù)的接口如何進(jìn)行測(cè)試
可以使用SoapUI等工具直接調(diào)用第三方數(shù)據(jù)接口的webservice,通過(guò)返回值來(lái)查看第三方數(shù)據(jù)的接口是否調(diào)用正常。
也可以利用一些工具來(lái)模擬第三方的數(shù)據(jù)返回,最大限度地降低對(duì)第三方數(shù)據(jù)接口的依賴。
9.接口測(cè)試中要注意的測(cè)試點(diǎn)有哪些?
接口中返回了圖片地址,要手工去進(jìn)行圖片的測(cè)試(大小、內(nèi)容);
接口完成查詢功能的時(shí)候,數(shù)據(jù)返回的排序顯示;
接口測(cè)試的時(shí)候,關(guān)注參數(shù)的默認(rèn)值、必填項(xiàng)。
10.接口執(zhí)行測(cè)試返回結(jié)果比對(duì)哪部分?
之前必須要對(duì)比的就是返回狀態(tài)碼,其次再去對(duì)比返回其它關(guān)鍵內(nèi)容。
如果對(duì)python自動(dòng)化測(cè)試、web自動(dòng)化、接口自動(dòng)化、移動(dòng)端自動(dòng)化、面試經(jīng)驗(yàn)交流等等感興趣的測(cè)試人,可以點(diǎn)我獲取...
11.做接口測(cè)試工作的意義是什么?
這個(gè)是開(kāi)發(fā)性題目,面試官主要考察對(duì)測(cè)試的理解。
根據(jù)測(cè)試的金字塔模型來(lái)說(shuō)接口測(cè)試是測(cè)試左移的最方便,最簡(jiǎn)單的測(cè)試,當(dāng)然最厲害的測(cè)試是做白盒測(cè)試,這個(gè)是在接口測(cè)試之前,相對(duì)于單元測(cè)試。
接口測(cè)試屬于集成測(cè)試、測(cè)試介入最早、就越能在項(xiàng)目早期發(fā)現(xiàn)問(wèn)題,其修復(fù)問(wèn)題的成本越低。
接口測(cè)試非常快速、UI自動(dòng)化執(zhí)行一個(gè)測(cè)試用例10S左右、接口測(cè)試用例執(zhí)行的話,需要的時(shí)間是毫秒級(jí)的。
豐富的工具框架與平臺(tái),相比UI自動(dòng)化來(lái)說(shuō)成本更低。
12.用過(guò)抓包工具嗎?如何使用?
之前在項(xiàng)目中用過(guò)fiddler抓包工具進(jìn)行HTTP協(xié)議請(qǐng)求的抓取。
打開(kāi)fiddler之后,默認(rèn)瀏覽器配置了127.0.0.18888端口的代理,在fiddler設(shè)置好過(guò)濾策略后,打開(kāi)需要進(jìn)行抓包的網(wǎng)站進(jìn)行操作,就可以進(jìn)行抓包。
13.接口測(cè)試中需要哪些注意點(diǎn)?
接口中返回的數(shù)據(jù)比用字段要看返回的類型是否跟接口文檔一致,不然會(huì)導(dǎo)致前端出問(wèn)題。接口中返回了圖片地址,要手工去進(jìn)行圖片的測(cè)試(大小、內(nèi)容)
接口完成查詢功能的時(shí)候,數(shù)據(jù)返回的排序顯示
接口測(cè)試的時(shí)候,關(guān)注參數(shù)的默認(rèn)值、必填項(xiàng)。
14.postman中設(shè)置環(huán)境變量有什么用?
在之前項(xiàng)目中,接口測(cè)試測(cè)試的環(huán)境有開(kāi)發(fā)環(huán)境,測(cè)試環(huán)境等,為了測(cè)試的時(shí)候方便,就在postman設(shè)置環(huán)境變量,到時(shí)所有接口都引用該環(huán)境變量,這樣就不用為了切換環(huán)境導(dǎo)致每次都去修改被測(cè)系統(tǒng)接口的主機(jī)地址;點(diǎn)擊右上角環(huán)境變量管理按鈕-新建環(huán)境變量,在腳本中使用{undefined{變量名}}去調(diào)用。
15.關(guān)聯(lián)是什么?如何postman設(shè)置關(guān)聯(lián)?
關(guān)聯(lián)就是把上一個(gè)接口返回值的部分截取出來(lái),作為下一個(gè)接口的參數(shù),能讓接口串聯(lián)運(yùn)行。
在postman中設(shè)置關(guān)聯(lián)的步驟如下:
先通過(guò)正則表達(dá)式提取的方式或json取值的方式把下一個(gè)接口需要的信息從上一個(gè)接口截取出來(lái);
使用設(shè)置全局變量的代碼把取出來(lái)的值保存到全局變量;
在下一個(gè)接口中,使用{undefined{全局變量}}代替要替換的靜態(tài)值。

最后:如果對(duì)python自動(dòng)化測(cè)試、web自動(dòng)化、接口自動(dòng)化、移動(dòng)端自動(dòng)化、面試經(jīng)驗(yàn)交流等等感興趣的測(cè)試人,點(diǎn)我點(diǎn)我點(diǎn)我自行獲取?~