接口測(cè)試

你一個(gè)項(xiàng)目做過哪些接口?舉例說一下你的接口測(cè)試是怎么做的?

參考答案:

1)、每個(gè)版本都會(huì)新增一些功能,對(duì)應(yīng)的接口也要進(jìn)行測(cè)試,一個(gè)項(xiàng)目的所有接口都要進(jìn)行測(cè)試,比如,查詢,下單,登陸,修改信息等等,開發(fā)寫好一個(gè)接口后,給到我們接口文檔我們就會(huì)去測(cè)試。

2)、我以下單這個(gè)接口說下是怎么測(cè)試的吧:下單這個(gè)接口用的是http協(xié)議,使用post請(qǐng)求方式,發(fā)送給服務(wù)器的參數(shù)有token,產(chǎn)品ID,購買數(shù)量,收貨人地址等等,這些參數(shù)都是必傳的參數(shù)。我們是使用Jmeter來做接口測(cè)試的,首先,要新建一個(gè)線程組,在線程組下面添加一個(gè)http的請(qǐng)求,然后填寫好服務(wù)器地址,接口路徑,請(qǐng)求方式,請(qǐng)求參數(shù),因?yàn)閠oken值是用來標(biāo)識(shí)用戶是否合法并且是動(dòng)態(tài)變化的,這個(gè)值從登陸接口中返回來的,所以,我們要在下單這個(gè)接口的前面增加一個(gè)登陸的接口,在登陸接口中使用正則表達(dá)式把token值關(guān)聯(lián)出來,然后在下單接口中使用${參數(shù)名}的方式引用;接下來還要對(duì)其他參數(shù)進(jìn)行參數(shù)化,構(gòu)造各種正常和異常的數(shù)據(jù),我們先在本地創(chuàng)建一個(gè)txt文檔,把參數(shù)填寫到文檔里面,在Jmeter中添加一個(gè)csv文件,填寫好txt文檔的路徑,然后在請(qǐng)求參數(shù)中使用${字段名}的方式引用;接下來添加斷言,檢查服務(wù)器返回的結(jié)果和預(yù)期結(jié)果是不是一致的,如果斷言的內(nèi)容會(huì)根據(jù)發(fā)給服務(wù)器參數(shù)變化而變化,就要把斷言的內(nèi)容也參數(shù)化;為了遍歷所有的參數(shù),我們接下來還要添加一個(gè)循環(huán)控制器,把下單接加入到這個(gè)循環(huán)控制器里面,并設(shè)定循環(huán)次數(shù);最后,添加查看結(jié)果樹查看測(cè)試結(jié)果。

面:那你們是怎么驗(yàn)證接口是通過的?

我:首先會(huì)去看服務(wù)器返回給客戶端的信息是不是和預(yù)期結(jié)果一致;向系統(tǒng)提交的數(shù)據(jù)是否正確寫進(jìn)數(shù)據(jù)庫

面:接口返回的數(shù)據(jù)格式有哪些?

我:一般是json格式和文本格式,常見的是json格式

面:你覺得為什么要做接口測(cè)試

我:接口測(cè)試是在程序的開發(fā)階段進(jìn)行的,越早進(jìn)行測(cè)試就能越早發(fā)現(xiàn)系統(tǒng)的底層缺陷,降低修復(fù)的成本,隨著系統(tǒng)的越來越復(fù)雜,單純的UI層面的功能測(cè)試無法覆蓋所有的參數(shù),存在安全隱患

面:那常見的頭部信息有哪些?

我:user-agent和accept encoding

面:在進(jìn)行接口測(cè)試時(shí),如果接口報(bào)錯(cuò)怎么處理?

我:(首先,我會(huì)先檢查一下請(qǐng)求參數(shù)啊,還有其他的填入的數(shù)據(jù)是否有問題,如果這些都沒問題,我會(huì)ping一下網(wǎng)絡(luò),看網(wǎng)絡(luò)通不通(面試官點(diǎn)了點(diǎn)頭),如果網(wǎng)絡(luò)也沒問題的話,我會(huì)去看看系統(tǒng)服務(wù)器有沒有啟動(dòng),如果服務(wù)器也沒問題的話,那可能就要發(fā)給開發(fā)定位一下了。)

檢查網(wǎng)絡(luò)是否有問題

Ping 服務(wù)器,與服務(wù)器的網(wǎng)絡(luò)是否有問題

檢查接口的參數(shù)是否有誤

檢查接口是否做了ip的限制

檢查是單單這個(gè)接口掛掉了,還是所有接口掛掉了

如果是接口本身的bug,就獲取日志提單給開發(fā)修改

面:寫過多少個(gè)接口,接口測(cè)試負(fù)責(zé)什么模塊

我:基本上所有模塊的功能都做接口測(cè)試,我們都是根據(jù)開發(fā)給到的接口文檔,熟悉接口文檔后小組再進(jìn)行分工,拿到自己的接口就根據(jù)文檔編寫接口的測(cè)試用例,然后再用jmeter工具進(jìn)行測(cè)試,我大概做過五十多個(gè)接口

面:什么樣的接口是好的接口

我:功能準(zhǔn)確無誤的,響應(yīng)速度快的,安全性好的,支持多用戶并發(fā)操作

面:那不同版本的系統(tǒng),接口怎么調(diào)用

我:在頭部信息里,傳入版本或者系統(tǒng)類型

面:在做接口的時(shí)候有沒有遇到什么問題?

我:遇到比較多的就是接口的互相依賴,存在數(shù)據(jù)的交互,比如說有一個(gè)a接口的數(shù)據(jù)需要從b接口獲取,那我們會(huì)把b接口放到a接口前面,然后再b接口添加一個(gè)css提取器或者是json提取器,然后把a(bǔ)接口要用到的數(shù)據(jù)關(guān)聯(lián)出來,保存到參數(shù)中。然后在a接口中使用${字段名} 的方式引用參數(shù)

面:接口的自動(dòng)化怎么做的?

我:我們?cè)賘meter做好接口之后呢,會(huì)使用Jenkins這個(gè)持續(xù)集成工具定時(shí)去跑腳本

1、用到哪些工具做接口測(cè)試?

參考答案:jmeter

2、接口測(cè)試怎么測(cè)試的。

參考答案:

1、拿到接口文檔熟悉:(服務(wù)端開發(fā)人員把接口文檔寫出來,我們就可以拿過來熟悉):

1)每個(gè)接口對(duì)應(yīng)要實(shí)現(xiàn)的功能是什么

2)服務(wù)器的地址、端口、接口地址(確定訪問哪個(gè)接口)

3)請(qǐng)求方式,請(qǐng)求參數(shù)有哪些,參數(shù)的約束是什么(工作當(dāng)中了解請(qǐng)求參數(shù)的各種約束)

4)熟悉響應(yīng)數(shù)據(jù):

<1>響應(yīng)的字段個(gè)數(shù)是否足夠(可以看需求文檔中對(duì)應(yīng)的功能需要顯示的個(gè)數(shù),只能多不能少)

<2>正確和錯(cuò)誤的響應(yīng)碼(errcode)有哪些,對(duì)應(yīng)的響應(yīng)信息(message)是什么。例如 :errcode:4403 message:錯(cuò)誤的請(qǐng)求信息

2、編寫接口測(cè)試用例(接口測(cè)試用跟功能類似,只多了一個(gè)請(qǐng)求報(bào)文,響應(yīng)報(bào)文)

1)考慮正常異常的請(qǐng)求參數(shù)的請(qǐng)求報(bào)文

2)考慮正常和異常請(qǐng)求后的響應(yīng)報(bào)文(例如 :異常的錯(cuò)誤碼是什么,對(duì)應(yīng)的錯(cuò)誤信息是否正確)

3、執(zhí)行測(cè)試用例:

我們是用jmeter執(zhí)行測(cè)試用例,先建立一個(gè)線程組,再添加http請(qǐng)求,填寫好請(qǐng)求地址,端口,和請(qǐng)求參數(shù),設(shè)置參數(shù)化,添加斷言等,最后添加查看結(jié)果樹再運(yùn)行。運(yùn)行完后,檢查接口是否通過,如果不通過,先定位下原因,如果是請(qǐng)求的參數(shù)有問題,修改后再進(jìn)行測(cè)試,如果是接口本身存在bug,就把服務(wù)器上的日志取下來,提單給開發(fā)修改。

3、JMeter測(cè)試環(huán)境怎么搭建

1)、因?yàn)镴Meter是JAVA程序開發(fā)的,所以要先安裝JDK;

2)、配置JAVA環(huán)境變量,包括:JAVA_HOME,PATH,CLASSPATH;

3)、雙擊jmeter的bin目錄里面的jmeter.bat文件,就可以啟動(dòng)Jmeter。

4、什么時(shí)候會(huì)用到使用Fiddler

1)、做安全測(cè)試,檢測(cè)敏感信息是否加密,攔截篡改數(shù)據(jù);

2)、當(dāng)測(cè)試時(shí)發(fā)現(xiàn)缺陷,用fiddler抓包,定位該問題是前端還是后臺(tái)的問題;

3)、模擬弱網(wǎng)環(huán)境。

5、Fiddler怎么攔截篡改數(shù)據(jù)

參考答案:

可以在請(qǐng)求之前,或響應(yīng)之后攔截篡改數(shù)據(jù),比如登錄,在用戶發(fā)出登錄請(qǐng)求前,攔截下用戶的數(shù)據(jù),可以修改用戶名或者密碼,用戶就會(huì)登錄失敗,或者在用戶發(fā)出登錄請(qǐng)求后,在數(shù)據(jù)庫返回?cái)?shù)據(jù)給用戶前,攔截下數(shù)據(jù)庫返回的數(shù)據(jù),可以修改返回的數(shù)據(jù),比如把返回的用戶名改成別人,用戶收到的數(shù)據(jù)會(huì)變成改后的。

6、Fiddler怎么模擬弱網(wǎng)測(cè)試

參考答案:結(jié)合實(shí)際案例和使用步驟來講

首先手機(jī)和電腦連接同一個(gè)路由器,手動(dòng)設(shè)置電腦IP為服務(wù)器,添加端口,用fiddler把延時(shí)加大

7、問:用jmeter做接口可以通過,但在手機(jī)上用到這接口時(shí)用不了,什么原因:

參考答案:抓包,查看從手機(jī)發(fā)出去的數(shù)據(jù)有沒有問題。

8、問:接口測(cè)試的關(guān)注點(diǎn)(怎么驗(yàn)證接口是通過的)

1、接口返回的數(shù)據(jù)是否正確;

2、向系統(tǒng)提交的數(shù)據(jù)是否正確寫入了數(shù)據(jù)庫。

9、在進(jìn)行接口的自動(dòng)化測(cè)試,如果遇到token校驗(yàn),你是怎么處理的?

首先需要獲取token,獲取token的整個(gè)思路為:

A.先進(jìn)行登錄

B.登錄成功后

C.獲取token

D.把獲取的token當(dāng)作下一個(gè)接口的請(qǐng)求參數(shù)

10、Jmeter的斷言怎么做?

首先查看正確異常的響應(yīng)碼是多少,將響應(yīng)碼參數(shù)化,寫在記事本中,然后在jmeter中用CSV DATA導(dǎo)入記事本,添加響應(yīng)斷言,在響應(yīng)斷言中添加參數(shù)${}。如果是斷言多條,就要添加循環(huán)控制器。

11、接口自動(dòng)化做了多久呢

開發(fā)寫好接口,我們拿到接口文檔之后,我們就開始做著。

12、jenkins怎么做接口自動(dòng)化?

設(shè)置定時(shí)任務(wù)去跑腳本

1、接口測(cè)試在什么時(shí)候做:

服務(wù)端開發(fā)實(shí)現(xiàn)接口功能,聯(lián)調(diào)之前完成

為什么在聯(lián)調(diào)之前執(zhí)行:很多開發(fā)不懂,經(jīng)常說等我跟前端聯(lián)調(diào)完成之后再測(cè)試。

聯(lián)調(diào)之后執(zhí)行的問題:前端跟后端聯(lián)調(diào)時(shí)由于這個(gè)接口還有很多問題沒有測(cè)試過,所以經(jīng)常得幫端發(fā)現(xiàn)bug而且還要等待后端解決,白白的耽誤時(shí)間,如果在兩條之前就測(cè)試完那就聯(lián)調(diào)會(huì)很流暢

2、接口測(cè)試的好處:

1、測(cè)試盡早的執(zhí)行(因?yàn)?服務(wù)端剛把接口實(shí)現(xiàn),整個(gè)項(xiàng)目都還沒做完)

? ? ? ? 2、節(jié)省聯(lián)調(diào)的時(shí)間

3、一個(gè)接口問題,可以導(dǎo)致界面多個(gè)問題

3、接口流程需要上臺(tái)講出來的(做完項(xiàng)目二需要切入項(xiàng)目中):

2、接口測(cè)試怎么測(cè)試的。

參考答案:

1、拿到接口文檔熟悉:(服務(wù)端開發(fā)人員把接口文檔寫出來,我們就可以拿過來熟悉):

1)接口功能對(duì)應(yīng)的需求

2)服務(wù)端地址、端口、接口地址(確定訪問哪個(gè)接口)

3)熟悉請(qǐng)求方式,請(qǐng)求參數(shù)有哪些(工作當(dāng)中了解請(qǐng)求參數(shù)的各種約束)

4)熟悉響應(yīng)數(shù)據(jù):

<1>響應(yīng)數(shù)的字段個(gè)數(shù)是否足夠(可以看需求文檔中對(duì)應(yīng)的功能需要顯示的個(gè)數(shù),只能多不能少)

<2>錯(cuò)誤碼(errcode)有哪些,對(duì)應(yīng)的錯(cuò)誤信息(message)。例如 :errcode:4403 message:錯(cuò)誤的請(qǐng)求信息

2、編寫接口測(cè)試用例(接口測(cè)試用跟功能類似,只多了一個(gè)請(qǐng)求報(bào)文,響應(yīng)報(bào)文)

1)考慮正常異常的請(qǐng)求參數(shù)的請(qǐng)求報(bào)文

2)考慮正常和異常請(qǐng)求后的響應(yīng)報(bào)文(例如 :異常的錯(cuò)誤碼是什么,對(duì)應(yīng)的錯(cuò)誤信息是否正確)

3、執(zhí)行測(cè)試用例(項(xiàng)目二中要切入的項(xiàng)目中):

我們是用jmeter執(zhí)行測(cè)試用例,先建立一個(gè)線程組,再添加http請(qǐng)求,填寫好請(qǐng)求地址,端口,和請(qǐng)求參數(shù),設(shè)置參數(shù)化,添加斷言等,最后添加查看結(jié)果樹再運(yùn)行。運(yùn)行完后,檢查接口是否通過,如果不通過,先定位下原因,查看接口返回的數(shù)據(jù)為什么不正確,然后,把服務(wù)器上的日志取下來,提單給開發(fā)修改。

? 注意:別的公司使用其他工具我們不管,我們就使用這個(gè),常用的接口測(cè)試工具有:jmeter postman soapui(web service)? python編寫腳本測(cè)試。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一、問:app測(cè)試與web測(cè)試的區(qū)別 參考答案: 1)、系統(tǒng)架構(gòu):web端的服務(wù)器更新后,客戶端會(huì)自動(dòng)同步更新;如...
    一個(gè)燃燒的熊貓閱讀 420評(píng)論 0 1
  • 1、你在項(xiàng)目中負(fù)責(zé)什么? 參考答案:在工作中我主要負(fù)責(zé)功能測(cè)試,其次還參與了一些非功能測(cè)試,如:接口測(cè)試,自動(dòng)化測(cè)...
    一個(gè)燃燒的熊貓閱讀 1,450評(píng)論 0 5
  • 國家電網(wǎng)公司企業(yè)標(biāo)準(zhǔn)(Q/GDW)- 面向?qū)ο蟮挠秒娦畔?shù)據(jù)交換協(xié)議 - 報(bào)批稿:20170802 前言: 排版 ...
    庭說閱讀 12,537評(píng)論 6 13
  • 面:先自我介紹一下 我:我叫XXX,來自廣東湛江,畢業(yè)于xxxxx,從事軟件測(cè)試工作已經(jīng)有三年時(shí)間了,之前在xxx...
    一個(gè)燃燒的熊貓閱讀 2,617評(píng)論 0 1
  • 一、電梯測(cè)試 需求測(cè)試: 查看電梯使用說明書、安全說明書等 界面測(cè)試: 查看電梯外觀 功能測(cè)試: 1.測(cè)試電梯能否...
    一個(gè)燃燒的熊貓閱讀 249評(píng)論 0 0

友情鏈接更多精彩內(nèi)容