接口測(cè)試面試題

1捐迫、HTTP與HTTPS區(qū)別
http是超文本傳輸協(xié)議,明文 傳輸籽腕;https是http+ssl構(gòu)建的加密傳輸協(xié)議嗡呼;http默認(rèn)80端口,https默認(rèn)443端口

2皇耗、常見(jiàn)的Post提交數(shù)據(jù)的方式有哪些南窗?
主要有四種方式:四種方式取決于Content-Type請(qǐng)求頭:
Content-Type:application/x-www-form-urlencoded 特點(diǎn):數(shù)據(jù)報(bào)文是鍵值對(duì),相當(dāng)于通過(guò)表單方式去提交數(shù)據(jù),數(shù)據(jù)的格式:a=1&b=2&c=3
Content-Type:multipart/form-data 特點(diǎn):報(bào)文包含文件上傳
Content-Type:application/json(text/plain, text/xml...) 特點(diǎn):報(bào)文都是字符串類(lèi)型
Content-Type:binary 特點(diǎn):報(bào)文類(lèi)型是以二進(jìn)制的方式上傳文件

3万伤、常見(jiàn)請(qǐng)求頭以及它們的作用窒悔?
Accept:客戶端接收的數(shù)據(jù)格式
X-Requested-With:異步請(qǐng)求, ajax異步請(qǐng)求敌买,無(wú)刷新
User-Agent:發(fā)送請(qǐng)求的客戶端的類(lèi)型
Content-Type:請(qǐng)求的內(nèi)容的報(bào)文格式
Cookie:Cookie信息

4简珠、get和post的區(qū)別?
get和post都可以向服務(wù)器提交數(shù)據(jù)虹钮,且都會(huì)從服務(wù)器獲取數(shù)據(jù)
區(qū)別:
(1)傳遞參數(shù)的方式不同:get通過(guò)地址欄傳參聋庵,post通過(guò)表單報(bào)文傳參。post比get安全
(2)傳參的長(zhǎng)度不同:get的參數(shù)有長(zhǎng)度限制芙粱,Post沒(méi)有
(3)一般情況下祭玉,get是獲取數(shù)據(jù),比如查詢(xún)春畔;post是提交數(shù)據(jù)攘宙,比如增、刪拐迁、改
(4)get只發(fā)送一個(gè)tcp數(shù)據(jù)報(bào)文(包含請(qǐng)求頭和data)蹭劈,post發(fā)送兩個(gè)報(bào)文(a.請(qǐng)求頭,返回100 b.data线召,返回200)

5铺韧、你們公司是如何做接口測(cè)試的?(包括接口測(cè)試流程缓淹、方案以及用例設(shè)計(jì))
(1)獲取接口文檔哈打,熟悉單接口以及鏈路接口(接口業(yè)務(wù)流程)的業(yè)務(wù),包括接口地址讯壶、鑒權(quán)方式料仗、入?yún)ⅰ⒊鰠⒎谩㈠e(cuò)誤碼等立轧;
(2)編寫(xiě)接口測(cè)試用例并評(píng)審
正例(1-2個(gè)):?jiǎn)谓涌诜祷爻晒?chǎng)景;鏈路接口邏輯實(shí)現(xiàn)(功能業(yè)務(wù)流程)
反例:
鑒權(quán)異常:空躏吊,錯(cuò)誤氛改,過(guò)期...
參數(shù)異常:空,類(lèi)型異常比伏,長(zhǎng)度異常...
錯(cuò)誤碼異常:
其他異常:接口黑名單胜卤,接口調(diào)用次數(shù)限制,分頁(yè)(少于0赁项,0葛躏,中間頁(yè)澈段,最大頁(yè),超過(guò)最大嶚等)
(3)使用接口測(cè)試工具或代碼的方式執(zhí)行接口測(cè)試
重要考慮以下情況:
接口關(guān)聯(lián)舰攒,接口參數(shù)加密均蜜,是否動(dòng)態(tài)參數(shù),接口參數(shù)是否簽名芒率,是否需要帶請(qǐng)求頭
(4)實(shí)現(xiàn)持續(xù)集成并輸出接口測(cè)試報(bào)告囤耳,有bug提bug

6、沒(méi)有接口文檔偶芍,如何做接口測(cè)試充择?
方式一:通過(guò)Fiddler、Charles抓包工具抓取接口數(shù)據(jù)后整理成接口文檔匪蟀,如果有不清楚的字段椎麦,再找開(kāi)發(fā)驗(yàn)證,然后再進(jìn)行接口測(cè)試
方式二:通過(guò)JMeter的代理錄制功能材彪,把接口請(qǐng)求錄制下來(lái)形成接口文檔观挎,然后再逐一進(jìn)行接口測(cè)試

7、Cookie段化、Session嘁捷、token有什么相同點(diǎn)和不同點(diǎn)
相同點(diǎn):都是用于鑒權(quán)并且都是服務(wù)器生成的
不同點(diǎn):
cookie保存在客戶端的瀏覽器上,是不安全的显熏,可以去分析存放在本地的cookie進(jìn)行cookie欺騙
session保存在服務(wù)器的內(nèi)存雄嚣,默認(rèn)保存30分鐘,比cookie安全喘蟆;缺點(diǎn)是當(dāng)?shù)卿浀挠脩粼蕉嗷荷秸加梅?wù)器資源。session一般會(huì)生成一個(gè)sessionid(名稱(chēng)自定義)蕴轨,sessionid可以通過(guò)cookie傳輸港谊;
token通常存儲(chǔ)在服務(wù)器的數(shù)據(jù)庫(kù)中,通過(guò)一個(gè)接口或通過(guò)登錄獲取橙弱,后續(xù)所有接口都必須傳token才能請(qǐng)求成功歧寺。token也可以通過(guò)cookie傳輸

8、接口測(cè)試中膘螟,依賴(lài)登錄狀態(tài)的接口如何測(cè)試成福?
依賴(lài)登錄的接口本質(zhì)上是每次發(fā)送請(qǐng)求的時(shí)候需求帶上cookie和session才能發(fā)送成功碾局。在請(qǐng)求時(shí)需要添加cookie和sessionid荆残。如果是用Postman測(cè)試,Postman會(huì)自動(dòng)去管理净当;如果是通過(guò)JMeter内斯,需要增加Cookie管理器組件蕴潦。如果通過(guò)代碼來(lái)實(shí)現(xiàn)接口測(cè)試,需要生成session對(duì)象俘闯,然后通過(guò)session對(duì)象來(lái)發(fā)送請(qǐng)求潭苞。

9、接口請(qǐng)求常見(jiàn)返回狀態(tài)碼
1XX 信息提示
2XX 成功
3XX 重定向(發(fā)送一個(gè)請(qǐng)求時(shí)真朗,這個(gè)請(qǐng)求多次請(qǐng)求了服務(wù)器的多個(gè)資源)
4XX 客戶端錯(cuò)
5XX 服務(wù)器錯(cuò)誤

10此疹、平常做接口測(cè)試的過(guò)程中發(fā)現(xiàn)過(guò)哪些bug?
常規(guī)bug:接口沒(méi)實(shí)現(xiàn)遮婶,沒(méi)有按接口文檔返回結(jié)果蝗碎,輸入異常值(空值、特殊字符旗扑、類(lèi)型異常等)蹦骑,接口報(bào)錯(cuò),沒(méi)有返回合理的錯(cuò)誤提示
如:購(gòu)買(mǎi)商品接口臀防,價(jià)格參數(shù)眠菇,測(cè)試時(shí)把價(jià)格改成-3,購(gòu)買(mǎi)成功袱衷;
如:修改商品信息接口捎废,接口文檔要求只有商家和超級(jí)管理員有權(quán)限修改,傳入普通用戶ID致燥,修改成功缕坎;

11、接口測(cè)試中怎么校驗(yàn)結(jié)果是否正確篡悟?
狀態(tài)碼校驗(yàn)谜叹,狀態(tài)碼200;
業(yè)務(wù)校驗(yàn):
(1)接口文檔中的錯(cuò)誤碼搬葬,一般為0
(2)當(dāng)響應(yīng)報(bào)文比較短荷腊,比較固定的情況下,校驗(yàn)完全一致
(3)當(dāng)響應(yīng)報(bào)文比較長(zhǎng)急凰,比較多的情況下女仰,校驗(yàn)包含最核心的業(yè)務(wù)信息
(4)當(dāng)響應(yīng)報(bào)文為非常復(fù)雜的多層級(jí)的XML或JSON格式,通過(guò)xpath抡锈,JSONpath疾忍,正則表達(dá)式的匹配方式獲取到最關(guān)鍵字的業(yè)務(wù)節(jié)點(diǎn),再校驗(yàn)
(5)查詢(xún)數(shù)據(jù)庫(kù)校驗(yàn)或者是通過(guò)其他接口校驗(yàn)

12床三、分析bug是前端問(wèn)題還是后端問(wèn)題一罩?
抓包,查看請(qǐng)求報(bào)文撇簿,如果請(qǐng)求報(bào)文對(duì)比接口文檔有問(wèn)題聂渊,就是前端問(wèn)題差购;
如果請(qǐng)求報(bào)文沒(méi)有問(wèn)題,那不看返回報(bào)文汉嗽,返回?cái)?shù)據(jù)不對(duì)欲逃,就是后端問(wèn)題。如果返回?cái)?shù)據(jù)正確饼暑,就是前端問(wèn)題稳析。

13、依賴(lài)于第三方數(shù)據(jù)的接口如何測(cè)試弓叛?
可以通過(guò)Postman搭建Mock服務(wù)迈着,但是有訪問(wèn)次數(shù)限制,一天只能訪問(wèn)1000次邪码。也可以通過(guò)java的Servlet或Python的Flask等技術(shù)來(lái)實(shí)現(xiàn)接口Mock服務(wù)

14裕菠、對(duì)于加密接口,簽名接口如何測(cè)試闭专?
加密接口:
常見(jiàn)加密方式:
對(duì)稱(chēng)式加密方式(私鑰加密):常用Base64奴潘,不常用DES、AES
非對(duì)稱(chēng)加密試(雙鑰加密):RSA
由一個(gè)秘鑰密碼生成公鑰和私鑰影钉,公鑰加密画髓,私鑰解密;私鑰加密平委,公鑰解密奈虾;
只加密不解密:MD5、SHA1廉赔、SHA3...
自定義加密規(guī)則肉微,混合加密;

了解加密(簽名)規(guī)則 之后蜡塌,在請(qǐng)求接口前對(duì)參數(shù)做對(duì)應(yīng)的加密(簽名)之后再發(fā)送請(qǐng)求碉纳。單一加密方式postman和JMeter有些是支持的,postman使用javascript腳本實(shí)現(xiàn)馏艾,JMeter使用beanshell中的Java代碼實(shí)現(xiàn)

JMeter

分模塊測(cè)試:測(cè)試片段
用戶自定義變量
多組數(shù)據(jù)測(cè)試:csv文件讀取數(shù)據(jù)+循環(huán)控制器

結(jié)果判定:
響應(yīng)斷言
JSON斷言(最常用)

接口依賴(lài)處理:
JSON提取器劳曹,將前一個(gè)接口數(shù)據(jù)作為變量

命令執(zhí)行,生成測(cè)試報(bào)告


image.png

jmeter -n -t [jmx fille] -l [results file] -e -o [Path to web report folder]

-n 不啟動(dòng)UI界面
-t 指定Jmx文件
-l 指定測(cè)試數(shù)據(jù)
-e -o 指定測(cè)試報(bào)告位置

JMeter怎么做接口測(cè)試琅摩,如何測(cè)試接口的關(guān)聯(lián)
流程:根據(jù)開(kāi)發(fā)提供的接口文檔來(lái)編寫(xiě)測(cè)試用例铁孵,根據(jù)用例使用jmeter來(lái)進(jìn)行測(cè)試,需要添加線程組房资、http請(qǐng)求蜕劝,在Http請(qǐng)求中設(shè)置好地址、參數(shù)以及要添加的請(qǐng)求頭信息志膀,之后添加查看結(jié)果樹(shù)查看響應(yīng)結(jié)果熙宇,對(duì)比預(yù)期結(jié)果是否一致鳖擒,同時(shí)檢查數(shù)據(jù)庫(kù)來(lái)檢測(cè)測(cè)試是否通過(guò)溉浙。
涉及到批量測(cè)試會(huì)csv配置元件來(lái)進(jìn)行批量測(cè)試
接口關(guān)聯(lián)使用Jmeter的后置處理器烫止,主要是json提取器、正則表達(dá)式提取器戳稽,比如token馆蠕,會(huì)把token賦值給一個(gè)變量,在下一個(gè)接口時(shí)調(diào)用這個(gè)變量就可以了

1惊奇、性能測(cè)試流程
(1)需求調(diào)研:做需求調(diào)研和分析互躬,產(chǎn)出性能測(cè)試需求表、性能測(cè)試計(jì)劃表
(2)測(cè)試準(zhǔn)備:構(gòu)建測(cè)試模型颂郎,設(shè)計(jì)測(cè)試方案吼渡,壓測(cè)環(huán)境、數(shù)據(jù)準(zhǔn)備乓序、腳本開(kāi)發(fā)寺酪,產(chǎn)出測(cè)試用例、測(cè)試方案
(3)測(cè)試執(zhí)行:記錄執(zhí)行過(guò)程和結(jié)果替劈,對(duì)結(jié)果做分析寄雀,產(chǎn)出性能測(cè)試日志
(4)測(cè)試報(bào)告:發(fā)現(xiàn)的性能瓶頸,性能測(cè)試結(jié)論(是否達(dá)標(biāo))
(5)測(cè)試總結(jié):總結(jié)和復(fù)盤(pán)

2陨献、性能測(cè)試一般關(guān)注哪些指標(biāo)
TPS:每秒事務(wù)數(shù)盒犹,越高性能越好
平均響應(yīng)時(shí)間:響應(yīng)時(shí)間越短性能越好
并發(fā)數(shù)
錯(cuò)誤率

3、服務(wù)器監(jiān)測(cè)看哪些指標(biāo)
CPU使用率:最關(guān)鍵的指標(biāo)眨业,一般不超過(guò)80%的閾值急膀,超過(guò)80%認(rèn)為cpu快到瓶頸
內(nèi)存使用率:內(nèi)存不夠會(huì)導(dǎo)致程序崩潰、死機(jī)等現(xiàn)象龄捡,一般不超過(guò)80%
網(wǎng)絡(luò)脖阵,上行流量與下行流量,通過(guò)監(jiān)控服務(wù)器網(wǎng)上行下行流量有沒(méi)有達(dá)到上限墅茉。
磁盤(pán):包括磁盤(pán)的讀與寫(xiě)命黔。重要指標(biāo)為磁盤(pán)繁忙度,超過(guò)90%代表磁盤(pán)快不行了

4就斤、JMeter如何找出接口最大并發(fā)數(shù)
設(shè)計(jì)階梯場(chǎng)景悍募,使用JMeter中的階梯線程組,每隔一段時(shí)間增加固定量的并發(fā)用戶數(shù)洋机,然后通過(guò)監(jiān)聽(tīng)器或者監(jiān)控平臺(tái)查看運(yùn)行結(jié)果坠宴,并分析結(jié)果判斷是否達(dá)到性能瓶頸,從而斷定是否達(dá)到了最大并發(fā)用戶數(shù)的區(qū)間绷旗,然后再取這個(gè)區(qū)間來(lái)縮小固定步長(zhǎng)喜鼓,從而獲得最大并發(fā)用戶數(shù)

5副砍、內(nèi)存溢出與內(nèi)存泄露
內(nèi)存溢出就是所運(yùn)行的軟件所占用的內(nèi)存遠(yuǎn)遠(yuǎn)超出了主機(jī)內(nèi)安裝的內(nèi)存所承受的大小
內(nèi)存泄露指程序在申請(qǐng)內(nèi)存之后無(wú)法釋放。如果一直內(nèi)泄露就會(huì)造成內(nèi)存溢出

單獨(dú)負(fù)責(zé)項(xiàng)目需要注意哪些事項(xiàng)
(1)評(píng)估項(xiàng)目的測(cè)試范圍和測(cè)試周期
(2)做好測(cè)試策略和計(jì)劃安排庄岖,盡量保證每個(gè)環(huán)節(jié)按時(shí)完成
(3)如果自己解決不了的問(wèn)題豁翎,要及時(shí)向外拋出,暴露風(fēng)險(xiǎn)隅忿,尋求幫助
(4)盡量采用一些技術(shù)手段心剥,提升測(cè)試效率
(5)對(duì)用例設(shè)置好優(yōu)先級(jí),按優(yōu)先級(jí)執(zhí)行
(6)及時(shí)對(duì)bug進(jìn)行跟蹤背桐,推動(dòng)開(kāi)發(fā)及時(shí)修復(fù)bug
(7)把控好上線標(biāo)準(zhǔn)优烧,測(cè)試報(bào)告中標(biāo)明上線風(fēng)險(xiǎn)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市链峭,隨后出現(xiàn)的幾起案子畦娄,更是在濱河造成了極大的恐慌,老刑警劉巖弊仪,帶你破解...
    沈念sama閱讀 211,290評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件熙卡,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡撼短,警方通過(guò)查閱死者的電腦和手機(jī)再膳,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)曲横,“玉大人喂柒,你說(shuō)我怎么就攤上這事『碳担” “怎么了灾杰?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,872評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)熙参。 經(jīng)常有香客問(wèn)我艳吠,道長(zhǎng),這世上最難降的妖魔是什么孽椰? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,415評(píng)論 1 283
  • 正文 為了忘掉前任昭娩,我火速辦了婚禮,結(jié)果婚禮上黍匾,老公的妹妹穿的比我還像新娘栏渺。我一直安慰自己,他們只是感情好锐涯,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,453評(píng)論 6 385
  • 文/花漫 我一把揭開(kāi)白布磕诊。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪霎终。 梳的紋絲不亂的頭發(fā)上滞磺,一...
    開(kāi)封第一講書(shū)人閱讀 49,784評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音莱褒,去河邊找鬼击困。 笑死,一個(gè)胖子當(dāng)著我的面吹牛保礼,可吹牛的內(nèi)容都是我干的沛励。 我是一名探鬼主播责语,決...
    沈念sama閱讀 38,927評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼炮障,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了坤候?” 一聲冷哼從身側(cè)響起胁赢,我...
    開(kāi)封第一講書(shū)人閱讀 37,691評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎白筹,沒(méi)想到半個(gè)月后智末,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,137評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡徒河,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,472評(píng)論 2 326
  • 正文 我和宋清朗相戀三年系馆,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片顽照。...
    茶點(diǎn)故事閱讀 38,622評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡由蘑,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出代兵,到底是詐尸還是另有隱情尼酿,我是刑警寧澤,帶...
    沈念sama閱讀 34,289評(píng)論 4 329
  • 正文 年R本政府宣布植影,位于F島的核電站裳擎,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏思币。R本人自食惡果不足惜鹿响,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,887評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望谷饿。 院中可真熱鬧惶我,春花似錦、人聲如沸各墨。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,741評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至恃轩,卻和暖如春结洼,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背叉跛。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,977評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工松忍, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人筷厘。 一個(gè)月前我還...
    沈念sama閱讀 46,316評(píng)論 2 360
  • 正文 我出身青樓鸣峭,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親酥艳。 傳聞我的和親對(duì)象是個(gè)殘疾皇子摊溶,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,490評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容

  • 1.你們公司的接口測(cè)試流程是莫换? 接口測(cè)試我們是在xx項(xiàng)目做的,主要有xx接口骤铃,xx接口等 1.首先是從開(kāi)發(fā)那里拿到...
    萌萌聊測(cè)試閱讀 650評(píng)論 0 0
  • HTTP, HTTPS協(xié)議 什么是DNS HTTP協(xié)議 怎么抓取HTTPS協(xié)議 說(shuō)出請(qǐng)求接口中常見(jiàn)的返回狀態(tài)碼 H...
    程序員阿沐閱讀 1,726評(píng)論 0 4
  • HTTP, HTTPS協(xié)議 什么是DNS HTTP協(xié)議 怎么抓取HTTPS協(xié)議 說(shuō)出請(qǐng)求接口中常見(jiàn)的返回狀態(tài)碼 h...
    韓志超閱讀 4,153評(píng)論 10 25
  • 1.什么是接口測(cè)試惰爬? 接口測(cè)試:是測(cè)試系統(tǒng)組件間接口的一種測(cè)試方法 接口測(cè)試的重點(diǎn):檢查數(shù)據(jù)的交換喊暖,數(shù)據(jù)傳遞的正確...
    公子小白123閱讀 248評(píng)論 0 3
  • 1.怎么樣做接口測(cè)試? 由于我們項(xiàng)目前后端調(diào)用主要是基于http協(xié)議的接口撕瞧,所以測(cè)試接口時(shí)是通過(guò)工具或代碼模擬Ht...
    arvin_one閱讀 5,219評(píng)論 1 33