接口(API)是一個(gè)簡(jiǎn)稱,全名叫應(yīng)用程序編程接口(Application Programming Interface),是一些預(yù)先定義的函數(shù)。目的是提供應(yīng)用程序與開發(fā)人員基于某軟件或硬件得以訪問(wèn)一組例程的能力,而又無(wú)需訪問(wèn)源碼,或理解內(nèi)部工作機(jī)制的細(xì)節(jié)。
工作中的接口如打電話的按鍵,電梯中的樓層按鍵,開車時(shí)腳踩油門,接口就是一個(gè)位于復(fù)雜系統(tǒng)之上并且能簡(jiǎn)化你的任務(wù),它就像一個(gè)中間人讓你不需要了解詳細(xì)的所有細(xì)節(jié),我們今天要講的Web?API就是這么一類東西。
例如百度搜索,它提供了搜索接口,簡(jiǎn)化了你的搜索任務(wù)
越底層發(fā)現(xiàn)bug,它的修復(fù)成本是越低的,接口屬于金字塔模型? 的中間層,屬于收益產(chǎn)出比最高的
金字塔模型
前端隨便變,接口測(cè)好了,后端不用變
檢查系統(tǒng)的安全性,穩(wěn)定性
系統(tǒng)復(fù)雜度上升,傳統(tǒng)測(cè)試方法成本加大,效率降低,接口可以 解決這個(gè)問(wèn)題
前后端框架分離,從安全層面說(shuō)
只依賴前端進(jìn)行驗(yàn)證已經(jīng)不能滿足安全的需求,因?yàn)槔@過(guò)前 端太容易,要對(duì)接口做控制,做相應(yīng)的校驗(yàn)
前后端傳輸,日志打印等信息是否加密傳輸也是需要驗(yàn)證的,特別是密碼,身份證,銀行卡信息等。
接口測(cè)試的原理是什么呢?
測(cè)試人員可以借助工具模擬客戶端向服務(wù)器端發(fā)送請(qǐng)求報(bào)文,服務(wù)器端接收請(qǐng)求報(bào)文后,對(duì)相應(yīng)的報(bào)文做出處理并向客戶端返回應(yīng)答,工具模擬客戶端接收應(yīng)答,然后測(cè)試人員檢查應(yīng)答是否準(zhǔn)確,這就是接口測(cè)試的原理。
接口測(cè)試的范圍有哪些呢?
關(guān)于接口的測(cè)試的范圍,主要從以下兩個(gè)方面進(jìn)行介紹。
1、是否所有的接口都需要測(cè)試?
隨著系統(tǒng)復(fù)雜度越來(lái)越高,接口越來(lái)越多,想完全覆蓋所有接口是一件很困難的事情。
通常情況下,主要測(cè)試最外層的兩類接口:數(shù)據(jù)進(jìn)入系統(tǒng)的接口(調(diào)用外部系統(tǒng)的參數(shù)為本系統(tǒng)使用)和數(shù)據(jù)流出系統(tǒng)的接口(驗(yàn)證系統(tǒng)處理后的數(shù)據(jù)是否正常)
2、被測(cè)接口需要測(cè)試哪些方面?
測(cè)試人員需要關(guān)注被測(cè)接口的功能是否實(shí)現(xiàn),性能是否達(dá)標(biāo),安全性是否滿足,重點(diǎn)關(guān)注數(shù)據(jù)的交換,傳遞,處理次數(shù)以及控制管理的過(guò)程。
接口的分類?
依據(jù)所遵循協(xié)議的不同,常見接口可以分為以下三類。
HTTP接口,他是基于超文本傳輸協(xié)議開發(fā)的接口,但并不能排 除沒有使用其他協(xié)議
WebService接口,他是系統(tǒng)對(duì)外的接口,比如你要從別的網(wǎng)站或服務(wù)器上獲取資源,一般來(lái)說(shuō),別人不會(huì)把數(shù)據(jù)共享給你的,他們會(huì)提供一個(gè)他們寫好的方法,讓外部人員獲取數(shù)據(jù),從而達(dá)到數(shù)據(jù)同步的目的。
RESTful接口,簡(jiǎn)稱REST其描述了一個(gè)架構(gòu)樣式的網(wǎng)絡(luò)系統(tǒng),核心是面向資源。REST專門針對(duì)網(wǎng)絡(luò)應(yīng)用設(shè)計(jì)和開發(fā)方式,降低開發(fā)的復(fù)雜性,提供系統(tǒng)的可伸縮性。
基于B/S架構(gòu)的軟件系統(tǒng)接口大多數(shù)為HTTP接口
接口測(cè)試流程?
1、編寫接口測(cè)試計(jì)劃
接口測(cè)試計(jì)劃跟功能測(cè)試計(jì)劃是一樣的,都是為了確認(rèn)是否滿足需求,確定測(cè)試環(huán)境及測(cè)試計(jì)劃,為設(shè)計(jì)測(cè)試用例做準(zhǔn)備,一般來(lái)說(shuō),接口測(cè)試計(jì)劃包含概述,測(cè)試資源,測(cè)試功能及重點(diǎn),測(cè)試策略,測(cè)試風(fēng)險(xiǎn)及測(cè)試標(biāo)準(zhǔn)
2、編寫,評(píng)審接口測(cè)試用例
根據(jù)需求文檔,接口文檔寫測(cè)試用例,然后開發(fā),測(cè)試一起評(píng)審測(cè)試用例是否符合需求和相關(guān)要求。下面的圖里面的內(nèi)容可以供大家寫測(cè)試用例的時(shí)候參考。
3、執(zhí)行接口測(cè)試
執(zhí)行接口測(cè)試的時(shí)候,可以借助已經(jīng)開發(fā)好的工具,如比較主流Jmeter,Postman,SoapUI,或者直接自己寫代碼進(jìn)行相應(yīng)的接口測(cè)試。
4、接口自動(dòng)化測(cè)試持續(xù)集成
第一,流程方面,在回歸階段加強(qiáng)異常場(chǎng)景的覆蓋,并逐步向系統(tǒng)測(cè)試,冒煙測(cè)試階段延伸,最終達(dá)到全流程自動(dòng)化。
第二,結(jié)果展示,更加豐富的結(jié)果展示,趨勢(shì)分析,質(zhì)量統(tǒng)計(jì)和分析等
第三,問(wèn)題定位,報(bào)錯(cuò)信息,日志更精準(zhǔn),方便問(wèn)題復(fù)現(xiàn)與定位
第四,結(jié)果校驗(yàn),加強(qiáng)自動(dòng)化校驗(yàn)?zāi)芰Γ鐢?shù)據(jù)庫(kù)信息校驗(yàn)。
第五,代碼覆蓋率,不斷嘗試由目前的黑盒向白盒下探,提供代碼覆蓋率。
第六,性能需求,完善性能測(cè)試體系,通過(guò)自動(dòng)化的手段監(jiān)控接口性能指標(biāo)是否正常
小編今天就介紹到這里,希望對(duì)你有所幫助,如果大家有什么補(bǔ)充的可以留言,互相探討(^U^)ノ~Y
作 者:?Testfan?? 夭夭
出 處:微信公眾號(hào):自動(dòng)化軟件測(cè)試平臺(tái)
版權(quán)說(shuō)明:歡迎轉(zhuǎn)載,但必須注明出處,并在文章頁(yè)面明顯位置給出文章鏈接