這是《落葉》文集里第?154?片落葉衫生,希望你能喜歡,不為別的土浸,只為這份堅(jiān)持罪针。
【背景】
“老師,我想問一下什么情況需要用到接口自動(dòng)化測試黄伊?為什么要做接口自動(dòng)化泪酱?是不是兩個(gè)系統(tǒng)之間交互就要用到?”這是昨天一位同學(xué)問我的問題,跟他溝通后墓阀,我才明白毡惜,其實(shí)他想了解的并不是什么接口自動(dòng)化測試,而就是接口測試本身∷勾椋現(xiàn)在很多有關(guān)接口測試工具或自動(dòng)化測試工具的文章和書會(huì)讓新入行的同學(xué)把接口測試和接口測試工具搞混淆经伙。于是我今天就想說說我理解中的接口測試及接口測試自動(dòng)化工具。
【你問】
接口測試的是什么和為什么勿锅?
【我答】
這個(gè)問題其實(shí)很好回答帕膜,我們就先一起來把相關(guān)的基本概念理清楚吧:
接口:
接口,按我自己的理解描述它溢十,其實(shí)就是由一段具備邏輯處理的程序代碼組成的垮刹,可被其他方法、服務(wù)或應(yīng)用所使用张弛。
對(duì)于調(diào)用交口的那一方荒典,可以把接口看作一個(gè)黑匣子,只需要負(fù)責(zé)按約定傳入?yún)?shù)乌庶,再接收返回的數(shù)據(jù)种蝶,可以不需要知道黑匣子里的邏輯;
接口的作用:
1瞒大、系統(tǒng)與系統(tǒng)之間的調(diào)用,比如銀聯(lián)會(huì)提供支付接口給做第三方支付的 APP 調(diào)用搪桂,APP 在用戶發(fā)起支付時(shí)透敌,將相關(guān)的必要參數(shù)值通過支付接口傳給銀聯(lián)服務(wù),銀聯(lián)服務(wù)器處理完成之后會(huì)調(diào)用 APP 方的回調(diào)接口踢械,返回支付處理結(jié)果酗电;
2、前端應(yīng)用對(duì)后端服務(wù)的調(diào)用内列,比如 APP 調(diào)用服務(wù)端的接口撵术,服務(wù)端調(diào)用 DAO (Data Access Object) 的接口。拿查航班的 APP 來說吧话瞧,APP 本身其實(shí)主要就包含兩大塊嫩与,一是交互,二是數(shù)據(jù)展示交排,APP 通過服務(wù)端提供的接口將需要查詢的航班名稱傳給服務(wù)端划滋,服務(wù)端調(diào)用 DAO 的接口從數(shù)據(jù)庫中獲取到相應(yīng)的 Data,服務(wù)端接口再將 Data 做相應(yīng)的處理并最終返回給 APP埃篓,APP 將其展示出來处坪;
3、服務(wù)與服務(wù)之間的調(diào)用,比如注冊用戶時(shí)同窘,會(huì)先調(diào)用查詢用戶信息的服務(wù)玄帕,目的是檢查該用戶是否已經(jīng)注冊,如果返回結(jié)果是該用戶已存在想邦,及注冊用戶的接口就會(huì)把該結(jié)果返回給前端頁面桨仿;
接口測試:
接口測試是測試系統(tǒng)組件間接口的一種測試。接口測試主要用于檢測外部系統(tǒng)與系統(tǒng)之間以及內(nèi)部各個(gè)子系統(tǒng)之間的交互點(diǎn)案狠。測試的重點(diǎn)是要檢查數(shù)據(jù)的交換服傍,傳遞和控制管理過程,以及系統(tǒng)間的相互邏輯依賴關(guān)系等骂铁。
為什么要做接口測試:
1吹零、現(xiàn)如今,互聯(lián)網(wǎng) APP 產(chǎn)品的系統(tǒng)復(fù)雜度不斷上升拉庵,只靠手工的前端測試灿椅,很難確保很高的覆蓋度,但是通過接口測試钞支,我們能模擬出各種類型的入?yún)⒚S迹ㄒ恍那岸四M不出來的入?yún)ⅲ覀兡芨鶕?jù)接口文檔的定義烁挟,設(shè)計(jì)出相對(duì)完善的入?yún)⒅涤ね荩幵诮涌趯酉缺WC質(zhì)量,剩余的絕大多數(shù)問題就都是 APP 自身的交互和數(shù)據(jù)展示問題了撼嗓。
2柬采、接口測試相對(duì) UI/功能測試來說,更容易實(shí)現(xiàn)自動(dòng)化且警,執(zhí)行起來也比較穩(wěn)定粉捻,維護(hù)成本也比較低。
3斑芜、接口自動(dòng)化適用于現(xiàn)網(wǎng)巡檢肩刃、回歸測試等,可以減少人工回歸測試的人力成本杏头;
4盈包、現(xiàn)在很多系統(tǒng)前后端是分離的,從安全層面來說大州,只依賴于前端進(jìn)行 Input Validation 已經(jīng)完全不能滿足系統(tǒng)的安全要求续语,因?yàn)槔@過前端相對(duì)容易,所以就需要后端同樣進(jìn)行 Input Validation厦画,這就只能依賴于接口測試去驗(yàn)證了疮茄;
《測試路上你問我答》里的?Q&A 20药有,如果是你要的皆疹,甚好!如果不是,你問逻住,我答惧蛹!
作者簡介:14 年測試 + 11 年項(xiàng)目管理 + 11 年團(tuán)隊(duì)管理 = 一個(gè)測試?yán)媳?/p>