久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

深入淺出接口測(cè)試原理及步驟

 小樣樣樣樣樣樣 2022-10-31 發(fā)布于北京

1,、接口測(cè)試原理
接口測(cè)試,,實(shí)際上是針對(duì)于接口做測(cè)試的。

那么接口是什么,?
軟件開(kāi)發(fā),,既要做前端,,也要做后端,并且后端是整個(gè)業(yè)務(wù)的核心,,用于處理業(yè)務(wù)請(qǐng)求,,實(shí)現(xiàn)具體的功能;而前端只是提供一個(gè)頁(yè)面給用戶看結(jié)果以及提供頁(yè)面給用戶做輸入,。所以整個(gè)業(yè)務(wù)的處理邏輯都在后端,。而后端邏輯相對(duì)很復(fù)雜,所以在開(kāi)發(fā)的時(shí)候,,會(huì)由架構(gòu)師確定接口,,然后再針對(duì)這個(gè)接口實(shí)現(xiàn)其具體的功能。

接口也可以認(rèn)為是我們要做多少事情,,因?yàn)樵诩夹g(shù)層面,,如果要實(shí)現(xiàn)登錄、注冊(cè),、增,、刪、改,、查等操作,,就會(huì)先設(shè)計(jì)好一個(gè)模塊,說(shuō)明具體實(shí)現(xiàn)哪些功能點(diǎn),,這個(gè)功能點(diǎn)應(yīng)該有哪些輸入項(xiàng),,有哪些方法。

這個(gè)東西就是我們所謂的接口,,在java里,,接口里包含屬性名和方法,所有的方法都是抽象方法,,只有方法名,,而沒(méi)有這個(gè)方法的具體實(shí)現(xiàn)。也就是說(shuō):我知道這是一個(gè)登錄功能,,但是登錄怎么實(shí)現(xiàn),,這完全是不知道的,需要開(kāi)發(fā)人員具體去實(shí)現(xiàn),。那么作為我們的開(kāi)發(fā)人員,,他就會(huì)領(lǐng)到一個(gè)任務(wù)去實(shí)現(xiàn)這個(gè)接口。比如,,實(shí)現(xiàn)登錄接口,,注冊(cè)接口等。

我們可以認(rèn)為,,雖然他是在實(shí)現(xiàn)登錄接口,、注冊(cè)接口,。也就相當(dāng)于我們根據(jù)這個(gè)接口去實(shí)現(xiàn)登錄功能,注冊(cè)功能,。所以這個(gè)接口實(shí)際上也就是后臺(tái)一個(gè)具體的功能,。

那么什么又是接口測(cè)試?
實(shí)際上我們所說(shuō)的接口測(cè)試就是開(kāi)發(fā)人員把這個(gè)接口實(shí)現(xiàn)了,,他需要去驗(yàn)證這個(gè)接口的實(shí)現(xiàn)是否正確,。

但是這是一個(gè)后臺(tái)的功能,這個(gè)開(kāi)發(fā)也是一個(gè)后臺(tái)開(kāi)發(fā),,他去驗(yàn)證接口的時(shí)候,,他不會(huì)想讓前端人員介入,因?yàn)樽屒芭_(tái)人員介入的話會(huì)比較麻煩,。那么他就需要一個(gè)工具來(lái)模擬前端界面,。(前端其實(shí)就是提供一個(gè)窗口,既能讓用戶輸入數(shù)據(jù),,并且還可以查看結(jié)果,。)

2、接口測(cè)試的實(shí)現(xiàn)
實(shí)際上我們做接口測(cè)試,,還是“輸入—處理—輸出”這樣的模式,。用戶輸入一串?dāng)?shù)據(jù),然后讓這個(gè)接口或者讓這個(gè)后臺(tái)功能來(lái)處理,,然后檢查輸出結(jié)果跟期望是否一致,。

這個(gè)其實(shí)也就是我們所說(shuō)的黑盒測(cè)試。也是我們做測(cè)試的一個(gè)常規(guī)的思路,。用戶輸入一串?dāng)?shù)據(jù),,然后讓系統(tǒng)去處理,然后我們?cè)偃z查結(jié)果跟期望是否一致,。功能測(cè)試是這么做的,,接口測(cè)試實(shí)際上還是這么做。

但是相對(duì)功能測(cè)試而言,,接口測(cè)試有一個(gè)比較明顯的區(qū)別,,就是輸入不再是界面的,,而是一個(gè)基于HTTP的請(qǐng)求,;輸出也不再是界面,而是基于HTTP的響應(yīng),。所以需要通過(guò)請(qǐng)求和響應(yīng)分別來(lái)輸入我們的數(shù)據(jù)以及檢查我們的結(jié)果,。

3、接口測(cè)試用例
其實(shí)接口測(cè)試和的功能測(cè)試是非常相似的,,功能測(cè)試怎么做,,接口測(cè)試還是怎么做,。

功能測(cè)試用例,最核心的三個(gè)部分就是:輸入,、操作步驟和預(yù)期結(jié)果,。

接口測(cè)試用例,其實(shí)主要的也就是這么三個(gè)部分,。

平時(shí)所說(shuō)的測(cè)試用例設(shè)計(jì)方法,,也就是對(duì)輸入項(xiàng)進(jìn)行各種不同的取值,然后再做組合,。拿登錄來(lái)說(shuō),,登錄功能有用戶名和密碼,那用戶名,,有正確的用戶名和錯(cuò)誤的用戶名兩種情況,,密碼有正確的密碼和錯(cuò)誤的密碼兩種情況。用戶名和密碼在一起就會(huì)產(chǎn)生一些組合:
(1)用戶名正確,,密碼正確,;
(2)用戶名正確,密碼錯(cuò)誤,;
(3)用戶名錯(cuò)誤,,密碼的正確;
(4)用戶名錯(cuò)誤,;密碼錯(cuò)誤,。
輸入時(shí),選擇不同的數(shù)據(jù)組合會(huì)產(chǎn)生不同的測(cè)試場(chǎng)景,,每一個(gè)場(chǎng)景都需要執(zhí)行一遍,。

功能測(cè)試是這么去做的,但是接口測(cè)試沒(méi)有界面,,也就沒(méi)有辦法輸入,,怎么辦?
接口測(cè)試?yán)镉袀€(gè)東西叫參數(shù),,這個(gè)參數(shù)就對(duì)應(yīng)了功能測(cè)試?yán)锏妮斎腠?xiàng),。所以,接口測(cè)試用例其實(shí)也就是對(duì)輸入?yún)?shù),,做一個(gè)劃分然后再做組合,,形成接口測(cè)試用例。

每一組測(cè)試用例執(zhí)行后,,肯定會(huì)得到不同的結(jié)果,。比如正確的用戶名和正確的密碼,結(jié)果是登錄成功;錯(cuò)誤的用戶名或錯(cuò)誤的密碼,,結(jié)果是登錄失敗,。那么只要思考,如何將參數(shù)取值和測(cè)試結(jié)果應(yīng)用在工具中,,這個(gè)問(wèn)題就解決了,。

4、接口測(cè)試工具
接口測(cè)試工具有很多,,比如soapUI,,postman,jmeter等,。

工具其實(shí)只是工具而已,。

做接口測(cè)試一定要明白的一個(gè)前提:接口測(cè)試的流程。
第一步,,設(shè)計(jì)操作步驟,。
操作步驟就是請(qǐng)求,有一些請(qǐng)求是是單獨(dú)的,,有些請(qǐng)求是多個(gè)請(qǐng)求前后有聯(lián)系的,,這種情況就需要?jiǎng)?chuàng)建關(guān)聯(lián),,。那么我們需要了解請(qǐng)求的格式,,規(guī)范以及如何做關(guān)聯(lián)。soapUI,,postman,,jmeter里,都有關(guān)聯(lián),。

第二步,,設(shè)計(jì)數(shù)據(jù)用例。
建議將數(shù)據(jù)用例寫(xiě)到Excel文檔里,,然后讓工具讀取Excel,。Excel里有幾組數(shù)據(jù)用例,就執(zhí)行幾次,。循環(huán)執(zhí)行(自動(dòng)化),,就可以讓每一個(gè)用例被執(zhí)行一次,那么每一個(gè)測(cè)試場(chǎng)景也就被運(yùn)行到了,。

第三步:斷言,。
也就是提前將預(yù)期結(jié)果寫(xiě)入到工具中,讓工具自動(dòng)化判斷結(jié)果是否正確,。不同的工具叫法不同,,soapUI和Jmeter中叫做斷言,postman中叫做tests,。

第四步:執(zhí)行并檢查測(cè)試結(jié)果,。
執(zhí)行很簡(jiǎn)單,對(duì)測(cè)試結(jié)果進(jìn)行分析的話就需要了解協(xié)議,。知道發(fā)出去了什么,,返回了什么,才能夠知道,,到底哪個(gè)環(huán)節(jié)出了問(wèn)題,。

5、HTTP協(xié)議
HTTP協(xié)議非常重要,。清楚了HTTP協(xié)議,,再去使用工具其實(shí)就很容易,按照上面四個(gè)步驟就行,。

為什么是HTTP協(xié)議而不是其他協(xié)議,?因?yàn)?0%的系統(tǒng)都是HTTP協(xié)議的。

HTTP協(xié)議包含請(qǐng)求和響應(yīng)
請(qǐng)求就是用戶的輸入,,響應(yīng)就是結(jié)果,。我們通過(guò)請(qǐng)求去找參數(shù),然后輸入不同的參數(shù)值,,然后組合成請(qǐng)求,,只要這個(gè)請(qǐng)求是合法的,那么就可以發(fā)出去,,并且能夠被服務(wù)器接收,。所以,首先要能夠判斷出來(lái)什么叫做合法請(qǐng)求,。

那么就需要去了解HTTP協(xié)議的請(qǐng)求的組成,,請(qǐng)求的規(guī)范,知道哪些請(qǐng)求項(xiàng)是我們所關(guān)心的,,哪些請(qǐng)求項(xiàng)是我們一定要遵循的,,哪些項(xiàng)是我們可以刪除的。

同理,,要想檢查結(jié)果是否正確,,就需要去了解響應(yīng)。

HTTP請(qǐng)求包含兩個(gè)部分
請(qǐng)求頭和請(qǐng)求體,,請(qǐng)求頭的第一行非常的重要,,包含請(qǐng)求方法和URL。這兩個(gè)東西是非常核心的東西,。請(qǐng)求方法有GET方法,,POST方法,需要知道他們之間的區(qū)別,當(dāng)然區(qū)別最明顯的就是GET請(qǐng)求沒(méi)有請(qǐng)求體,,而POST請(qǐng)求有請(qǐng)求體,。URL,相當(dāng)于接口的入口,。請(qǐng)求頭里有很多項(xiàng),,每一項(xiàng)最好能知道是什么意思,并且要知道哪些項(xiàng)是比較核心的,,其實(shí)核心的東西不多,。一個(gè)是content-type,一個(gè)是cookies,。
備注:網(wǎng)上很多資料會(huì)把請(qǐng)求分為三部分,,請(qǐng)求行、請(qǐng)求頭和請(qǐng)求體,。這里的請(qǐng)求頭的第一行其實(shí)就是請(qǐng)求行了,,下面的響應(yīng)也是一樣

請(qǐng)求體包括參數(shù),一般我們?cè)跍y(cè)試的時(shí)候會(huì)修改請(qǐng)求體里的東西,。

懂了上面這些,,就知道該如何組裝HTTP請(qǐng)求了。

響應(yīng)包含兩個(gè)部分
一個(gè)是響應(yīng)頭,,一個(gè)是響應(yīng)體,。響應(yīng)頭里的第一行有響應(yīng)的狀態(tài)碼和狀態(tài)信息,這個(gè)非常重要,。面試時(shí)候一般會(huì)被問(wèn)到:狀態(tài)碼有幾類(lèi),?一般是有五類(lèi),1開(kāi)頭(請(qǐng)求正在處理),,2開(kāi)頭(請(qǐng)求處理成功),,3開(kāi)頭(重定向),4開(kāi)頭(客戶端錯(cuò)誤),,5開(kāi)頭(服務(wù)器錯(cuò)誤),,這五類(lèi)分別代表什么需要記住。一般5開(kāi)頭的都是系統(tǒng)bug,。

6,、JMeter
其實(shí)哪個(gè)工具都可以,但是jmeter有兩個(gè)好處,,第一個(gè):它是中文版的,,學(xué)習(xí)成本較低,postman和soapUI都是英文版的,;第二個(gè),,jmeter既可以做接口測(cè)試,,又可以做性能測(cè)試。

對(duì)應(yīng)上面的四個(gè)步驟,,如何用jmeter做接口測(cè)試,?
1、 設(shè)計(jì)操作步驟:這里我們創(chuàng)建HTTP請(qǐng)求即可
添加——取樣器——HTTP請(qǐng)求

2,、 設(shè)計(jì)數(shù)據(jù)用例:由于jmeter只支持CSV文件,,所以設(shè)計(jì)測(cè)試用例時(shí)記得生成CSV格式的,,將CSV導(dǎo)入到j(luò)meter中(這部分在性能測(cè)試?yán)锩娼凶鰆meter的參數(shù)化)
添加——配置元件——CSV數(shù)據(jù)文件設(shè)置

3,、 斷言,添加一個(gè)響應(yīng)斷言即可(也可以加別的)
添加——斷言——響應(yīng)斷言

4,、 執(zhí)行,,添加一個(gè)結(jié)果樹(shù)
添加——監(jiān)聽(tīng)器——查看結(jié)果樹(shù)

7、抓包
一般情況下,,做接口測(cè)試是有接口文檔的

但是如果沒(méi)有接口文檔我們?cè)趺醋鼋涌跍y(cè)試,?
這就需要抓包,請(qǐng)求我們是可以抓到的,,響應(yīng)如果抓不到,,我們可以根據(jù)測(cè)試數(shù)據(jù)自己分析應(yīng)該得到什么樣的結(jié)果

抓包工具推薦fiddler,兩個(gè)優(yōu)勢(shì):
1,、簡(jiǎn)單好用,;
2、fiddler抓包后可以直接導(dǎo)出為jmeter腳本,。

8,、接口測(cè)試可以發(fā)現(xiàn)什么樣的Bug?
為什么要做接口測(cè)試,?
基于兩個(gè)理由:
第一個(gè):開(kāi)發(fā)人員把這個(gè)接口或者把后臺(tái)代碼開(kāi)發(fā)好了,,他會(huì)去做接口測(cè)試。開(kāi)發(fā)人員自測(cè)完成后,,我們測(cè)試人員可以對(duì)這個(gè)接口做一個(gè)全面的測(cè)試,。
第二個(gè):接口測(cè)試不會(huì)受到輸入界面的影響,那界面所做出的一些限制也就不存在了,,我們直接測(cè)的就是后臺(tái)這一塊兒,,可以檢查后臺(tái)有沒(méi)有做到相應(yīng)的限制。
一個(gè)常見(jiàn)的問(wèn)題,,頁(yè)面的輸入框可能會(huì)有長(zhǎng)度限制,,比如限制只能輸入十個(gè)字符,但是后臺(tái)并沒(méi)有做限制,,這樣很容易會(huì)導(dǎo)致出現(xiàn)一些數(shù)據(jù)庫(kù)的異常,,這樣的問(wèn)題可能在功能測(cè)試?yán)锩鏇](méi)辦法發(fā)現(xiàn),,但是接口測(cè)試可以。所以很多時(shí)候,,接口測(cè)試,,可以認(rèn)為是功能測(cè)試的一種補(bǔ)充。它可以讓我們的測(cè)試做得更深入,,更全面,。深入淺出接口測(cè)試原理及步驟
1、接口測(cè)試原理
接口測(cè)試,,實(shí)際上是針對(duì)于接口做測(cè)試的,。

那么接口是什么?
軟件開(kāi)發(fā),,既要做前端,,也要做后端,并且后端是整個(gè)業(yè)務(wù)的核心,,用于處理業(yè)務(wù)請(qǐng)求,,實(shí)現(xiàn)具體的功能;而前端只是提供一個(gè)頁(yè)面給用戶看結(jié)果以及提供頁(yè)面給用戶做輸入,。所以整個(gè)業(yè)務(wù)的處理邏輯都在后端,。而后端邏輯相對(duì)很復(fù)雜,所以在開(kāi)發(fā)的時(shí)候,,會(huì)由架構(gòu)師確定接口,,然后再針對(duì)這個(gè)接口實(shí)現(xiàn)其具體的功能。

接口也可以認(rèn)為是我們要做多少事情,,因?yàn)樵诩夹g(shù)層面,,如果要實(shí)現(xiàn)登錄、注冊(cè),、增,、刪、改,、查等操作,,就會(huì)先設(shè)計(jì)好一個(gè)模塊,說(shuō)明具體實(shí)現(xiàn)哪些功能點(diǎn),,這個(gè)功能點(diǎn)應(yīng)該有哪些輸入項(xiàng),,有哪些方法。

這個(gè)東西就是我們所謂的接口,,在java里,,接口里包含屬性名和方法,所有的方法都是抽象方法,,只有方法名,,而沒(méi)有這個(gè)方法的具體實(shí)現(xiàn),。也就是說(shuō):我知道這是一個(gè)登錄功能,但是登錄怎么實(shí)現(xiàn),,這完全是不知道的,,需要開(kāi)發(fā)人員具體去實(shí)現(xiàn)。那么作為我們的開(kāi)發(fā)人員,,他就會(huì)領(lǐng)到一個(gè)任務(wù)去實(shí)現(xiàn)這個(gè)接口,。比如,實(shí)現(xiàn)登錄接口,,注冊(cè)接口等,。

我們可以認(rèn)為,雖然他是在實(shí)現(xiàn)登錄接口,、注冊(cè)接口,。也就相當(dāng)于我們根據(jù)這個(gè)接口去實(shí)現(xiàn)登錄功能,,注冊(cè)功能,。所以這個(gè)接口實(shí)際上也就是后臺(tái)一個(gè)具體的功能。

那么什么又是接口測(cè)試,?
實(shí)際上我們所說(shuō)的接口測(cè)試就是開(kāi)發(fā)人員把這個(gè)接口實(shí)現(xiàn)了,,他需要去驗(yàn)證這個(gè)接口的實(shí)現(xiàn)是否正確。

但是這是一個(gè)后臺(tái)的功能,,這個(gè)開(kāi)發(fā)也是一個(gè)后臺(tái)開(kāi)發(fā),,他去驗(yàn)證接口的時(shí)候,他不會(huì)想讓前端人員介入,,因?yàn)樽屒芭_(tái)人員介入的話會(huì)比較麻煩,。那么他就需要一個(gè)工具來(lái)模擬前端界面。(前端其實(shí)就是提供一個(gè)窗口,,既能讓用戶輸入數(shù)據(jù),,并且還可以查看結(jié)果。)

2,、接口測(cè)試的實(shí)現(xiàn)
實(shí)際上我們做接口測(cè)試,,還是“輸入—處理—輸出”這樣的模式。用戶輸入一串?dāng)?shù)據(jù),,然后讓這個(gè)接口或者讓這個(gè)后臺(tái)功能來(lái)處理,,然后檢查輸出結(jié)果跟期望是否一致。

這個(gè)其實(shí)也就是我們所說(shuō)的黑盒測(cè)試,。也是我們做測(cè)試的一個(gè)常規(guī)的思路,。用戶輸入一串?dāng)?shù)據(jù),然后讓系統(tǒng)去處理,,然后我們?cè)偃z查結(jié)果跟期望是否一致,。功能測(cè)試是這么做的,,接口測(cè)試實(shí)際上還是這么做。

但是相對(duì)功能測(cè)試而言,,接口測(cè)試有一個(gè)比較明顯的區(qū)別,,就是輸入不再是界面的,而是一個(gè)基于HTTP的請(qǐng)求,;輸出也不再是界面,,而是基于HTTP的響應(yīng)。所以需要通過(guò)請(qǐng)求和響應(yīng)分別來(lái)輸入我們的數(shù)據(jù)以及檢查我們的結(jié)果,。

3,、接口測(cè)試用例
其實(shí)接口測(cè)試和的功能測(cè)試是非常相似的,功能測(cè)試怎么做,,接口測(cè)試還是怎么做,。

功能測(cè)試用例,最核心的三個(gè)部分就是:輸入,、操作步驟和預(yù)期結(jié)果,。

接口測(cè)試用例,其實(shí)主要的也就是這么三個(gè)部分,。

平時(shí)所說(shuō)的測(cè)試用例設(shè)計(jì)方法,,也就是對(duì)輸入項(xiàng)進(jìn)行各種不同的取值,然后再做組合,。拿登錄來(lái)說(shuō),,登錄功能有用戶名和密碼,那用戶名,,有正確的用戶名和錯(cuò)誤的用戶名兩種情況,,密碼有正確的密碼和錯(cuò)誤的密碼兩種情況。用戶名和密碼在一起就會(huì)產(chǎn)生一些組合:
(1)用戶名正確,,密碼正確,;
(2)用戶名正確,密碼錯(cuò)誤,;
(3)用戶名錯(cuò)誤,,密碼的正確;
(4)用戶名錯(cuò)誤,;密碼錯(cuò)誤,。
輸入時(shí),選擇不同的數(shù)據(jù)組合會(huì)產(chǎn)生不同的測(cè)試場(chǎng)景,,每一個(gè)場(chǎng)景都需要執(zhí)行一遍,。

功能測(cè)試是這么去做的,但是接口測(cè)試沒(méi)有界面,,也就沒(méi)有辦法輸入,,怎么辦,?
接口測(cè)試?yán)镉袀€(gè)東西叫參數(shù),這個(gè)參數(shù)就對(duì)應(yīng)了功能測(cè)試?yán)锏妮斎腠?xiàng),。所以,,接口測(cè)試用例其實(shí)也就是對(duì)輸入?yún)?shù),做一個(gè)劃分然后再做組合,,形成接口測(cè)試用例,。

每一組測(cè)試用例執(zhí)行后,肯定會(huì)得到不同的結(jié)果,。比如正確的用戶名和正確的密碼,,結(jié)果是登錄成功;錯(cuò)誤的用戶名或錯(cuò)誤的密碼,,結(jié)果是登錄失敗,。那么只要思考,如何將參數(shù)取值和測(cè)試結(jié)果應(yīng)用在工具中,,這個(gè)問(wèn)題就解決了,。

4、接口測(cè)試工具
接口測(cè)試工具有很多,,比如soapUI,,postman,,jmeter等,。

工具其實(shí)只是工具而已。

做接口測(cè)試一定要明白的一個(gè)前提:接口測(cè)試的流程,。
第一步,,設(shè)計(jì)操作步驟。
操作步驟就是請(qǐng)求,,有一些請(qǐng)求是是單獨(dú)的,,有些請(qǐng)求是多個(gè)請(qǐng)求前后有聯(lián)系的,這種情況就需要?jiǎng)?chuàng)建關(guān)聯(lián),,,。那么我們需要了解請(qǐng)求的格式,規(guī)范以及如何做關(guān)聯(lián),。soapUI,,postman,jmeter里,,都有關(guān)聯(lián),。

第二步,設(shè)計(jì)數(shù)據(jù)用例,。
建議將數(shù)據(jù)用例寫(xiě)到Excel文檔里,,然后讓工具讀取Excel,。Excel里有幾組數(shù)據(jù)用例,就執(zhí)行幾次,。循環(huán)執(zhí)行(自動(dòng)化),,就可以讓每一個(gè)用例被執(zhí)行一次,那么每一個(gè)測(cè)試場(chǎng)景也就被運(yùn)行到了,。

第三步:斷言,。
也就是提前將預(yù)期結(jié)果寫(xiě)入到工具中,讓工具自動(dòng)化判斷結(jié)果是否正確,。不同的工具叫法不同,,soapUI和Jmeter中叫做斷言,postman中叫做tests,。

第四步:執(zhí)行并檢查測(cè)試結(jié)果,。
執(zhí)行很簡(jiǎn)單,對(duì)測(cè)試結(jié)果進(jìn)行分析的話就需要了解協(xié)議,。知道發(fā)出去了什么,,返回了什么,才能夠知道,,到底哪個(gè)環(huán)節(jié)出了問(wèn)題,。

5、HTTP協(xié)議
HTTP協(xié)議非常重要,。清楚了HTTP協(xié)議,,再去使用工具其實(shí)就很容易,按照上面四個(gè)步驟就行,。

為什么是HTTP協(xié)議而不是其他協(xié)議,?因?yàn)?0%的系統(tǒng)都是HTTP協(xié)議的。

HTTP協(xié)議包含請(qǐng)求和響應(yīng)
請(qǐng)求就是用戶的輸入,,響應(yīng)就是結(jié)果,。我們通過(guò)請(qǐng)求去找參數(shù),然后輸入不同的參數(shù)值,,然后組合成請(qǐng)求,,只要這個(gè)請(qǐng)求是合法的,那么就可以發(fā)出去,,并且能夠被服務(wù)器接收,。所以,首先要能夠判斷出來(lái)什么叫做合法請(qǐng)求,。

那么就需要去了解HTTP協(xié)議的請(qǐng)求的組成,,請(qǐng)求的規(guī)范,知道哪些請(qǐng)求項(xiàng)是我們所關(guān)心的,哪些請(qǐng)求項(xiàng)是我們一定要遵循的,,哪些項(xiàng)是我們可以刪除的,。

同理,要想檢查結(jié)果是否正確,,就需要去了解響應(yīng),。

HTTP請(qǐng)求包含兩個(gè)部分
請(qǐng)求頭和請(qǐng)求體,請(qǐng)求頭的第一行非常的重要,,包含請(qǐng)求方法和URL,。這兩個(gè)東西是非常核心的東西。請(qǐng)求方法有GET方法,,POST方法,,需要知道他們之間的區(qū)別,當(dāng)然區(qū)別最明顯的就是GET請(qǐng)求沒(méi)有請(qǐng)求體,,而POST請(qǐng)求有請(qǐng)求體,。URL,相當(dāng)于接口的入口,。請(qǐng)求頭里有很多項(xiàng),,每一項(xiàng)最好能知道是什么意思,并且要知道哪些項(xiàng)是比較核心的,,其實(shí)核心的東西不多,。一個(gè)是content-type,一個(gè)是cookies,。
備注:網(wǎng)上很多資料會(huì)把請(qǐng)求分為三部分,,請(qǐng)求行、請(qǐng)求頭和請(qǐng)求體,。這里的請(qǐng)求頭的第一行其實(shí)就是請(qǐng)求行了,,下面的響應(yīng)也是一樣

請(qǐng)求體包括參數(shù),一般我們?cè)跍y(cè)試的時(shí)候會(huì)修改請(qǐng)求體里的東西,。

懂了上面這些,就知道該如何組裝HTTP請(qǐng)求了,。

響應(yīng)包含兩個(gè)部分
一個(gè)是響應(yīng)頭,,一個(gè)是響應(yīng)體。響應(yīng)頭里的第一行有響應(yīng)的狀態(tài)碼和狀態(tài)信息,,這個(gè)非常重要,。面試時(shí)候一般會(huì)被問(wèn)到:狀態(tài)碼有幾類(lèi)?一般是有五類(lèi),,1開(kāi)頭(請(qǐng)求正在處理),,2開(kāi)頭(請(qǐng)求處理成功),3開(kāi)頭(重定向),4開(kāi)頭(客戶端錯(cuò)誤),,5開(kāi)頭(服務(wù)器錯(cuò)誤),,這五類(lèi)分別代表什么需要記住。一般5開(kāi)頭的都是系統(tǒng)bug,。

6,、JMeter
其實(shí)哪個(gè)工具都可以,但是jmeter有兩個(gè)好處,,第一個(gè):它是中文版的,,學(xué)習(xí)成本較低,postman和soapUI都是英文版的,;第二個(gè),,jmeter既可以做接口測(cè)試,又可以做性能測(cè)試,。

對(duì)應(yīng)上面的四個(gè)步驟,,如何用jmeter做接口測(cè)試?
1,、 設(shè)計(jì)操作步驟:這里我們創(chuàng)建HTTP請(qǐng)求即可
添加——取樣器——HTTP請(qǐng)求

2,、 設(shè)計(jì)數(shù)據(jù)用例:由于jmeter只支持CSV文件,所以設(shè)計(jì)測(cè)試用例時(shí)記得生成CSV格式的,,將CSV導(dǎo)入到j(luò)meter中(這部分在性能測(cè)試?yán)锩娼凶鰆meter的參數(shù)化)
添加——配置元件——CSV數(shù)據(jù)文件設(shè)置

3,、 斷言,添加一個(gè)響應(yīng)斷言即可(也可以加別的)
添加——斷言——響應(yīng)斷言

4,、 執(zhí)行,,添加一個(gè)結(jié)果樹(shù)
添加——監(jiān)聽(tīng)器——查看結(jié)果樹(shù)

7、抓包
一般情況下,,做接口測(cè)試是有接口文檔的

但是如果沒(méi)有接口文檔我們?cè)趺醋鼋涌跍y(cè)試,?
這就需要抓包,請(qǐng)求我們是可以抓到的,,響應(yīng)如果抓不到,,我們可以根據(jù)測(cè)試數(shù)據(jù)自己分析應(yīng)該得到什么樣的結(jié)果

抓包工具推薦fiddler,兩個(gè)優(yōu)勢(shì):
1,、簡(jiǎn)單好用,;
2、fiddler抓包后可以直接導(dǎo)出為jmeter腳本,。

8,、接口測(cè)試可以發(fā)現(xiàn)什么樣的Bug?
為什么要做接口測(cè)試,?
基于兩個(gè)理由:
第一個(gè):開(kāi)發(fā)人員把這個(gè)接口或者把后臺(tái)代碼開(kāi)發(fā)好了,,他會(huì)去做接口測(cè)試,。開(kāi)發(fā)人員自測(cè)完成后,我們測(cè)試人員可以對(duì)這個(gè)接口做一個(gè)全面的測(cè)試,。
第二個(gè):接口測(cè)試不會(huì)受到輸入界面的影響,,那界面所做出的一些限制也就不存在了,我們直接測(cè)的就是后臺(tái)這一塊兒,,可以檢查后臺(tái)有沒(méi)有做到相應(yīng)的限制,。
一個(gè)常見(jiàn)的問(wèn)題,頁(yè)面的輸入框可能會(huì)有長(zhǎng)度限制,,比如限制只能輸入十個(gè)字符,,但是后臺(tái)并沒(méi)有做限制,這樣很容易會(huì)導(dǎo)致出現(xiàn)一些數(shù)據(jù)庫(kù)的異常,,這樣的問(wèn)題可能在功能測(cè)試?yán)锩鏇](méi)辦法發(fā)現(xiàn),,但是接口測(cè)試可以。所以很多時(shí)候,,接口測(cè)試,,可以認(rèn)為是功能測(cè)試的一種補(bǔ)充。它可以讓我們的測(cè)試做得更深入,,更全面,。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類(lèi)似文章 更多