一慰照、接口測試
接口測試主要用于檢測外部系統(tǒng)與系統(tǒng)之間以及內(nèi)部各個子系統(tǒng)之間的交互富腊。測試的重點(diǎn)是要檢查數(shù)據(jù)的交換蛆挫,傳遞和控制管理過程赃承,以及系統(tǒng)間的相互邏輯依賴關(guān)系等。
二悴侵、接口測試的意義
按照分層測試模型瞧剖,處于中間層的接口測試,在穩(wěn)定性可免,效率抓于,成本,技術(shù)巴元,實(shí)施難度上綜合來講毡咏,是收益最大的。相較于傳統(tǒng)的UI層次的測試逮刨,接口測試把測試提前了(時間上呕缭,架構(gòu)上)堵泽,并且能夠覆蓋到一些UI測試無法觸及的功能點(diǎn),提高了測試的覆蓋率恢总,對質(zhì)量控制提升了信心迎罗。接口測試也更容易實(shí)現(xiàn)自動化持續(xù)集成,支持后端快速發(fā)版需求片仿,利于CT(持續(xù)測試)的開展纹安。
三、認(rèn)識URL
接口主要分為2大類:
1.webservice接口
webService接口是走soap協(xié)議通過http傳輸砂豌,請求報(bào)文和返回報(bào)文都是xml格式的厢岂,我們在測試的時候都用通過工具(例如:soapUI)進(jìn)行調(diào)用,測試阳距∷#【暫時業(yè)務(wù)上用不到,不擴(kuò)展】
2.http 接口
Http協(xié)議是建立在TCP協(xié)議基礎(chǔ)之上的筐摘,當(dāng)瀏覽器需要從服務(wù)器獲取網(wǎng)頁數(shù)據(jù)的時候卒茬,會發(fā)出一次Http請求。Http會通過TCP建立起一個到服務(wù)器的連接通道咖熟,當(dāng)本次請求需要的數(shù)據(jù)完畢后圃酵,Http會立即將TCP連接斷開,這個過程是很短的馍管。所以Http連接是一種短連接郭赐,是一種無狀態(tài)的連接。
3.URL解析
??? 在WWW上咽斧,每一信息資源都有統(tǒng)一的且在網(wǎng)上唯一的地址堪置,該地址就叫URL(Uniform Resource Locator,統(tǒng)一資源定位符),它是WWW的統(tǒng)一資源定位標(biāo)志张惹,就是指網(wǎng)絡(luò)地址舀锨。HTTP協(xié)議工作于客戶端-服務(wù)端架構(gòu)之上。瀏覽器作為HTTP客戶端通過URL向HTTP服務(wù)端即WEB服務(wù)器發(fā)送所有請求宛逗。Web服務(wù)器根據(jù)接收到的請求后坎匿,向客戶端發(fā)送響應(yīng)信息。
?URL由三部分組成:資源類型雷激、存放資源的主機(jī)域名替蔬、資源文件名。
也可認(rèn)為由4部分組成:協(xié)議屎暇、主機(jī)承桥、端口、路徑
URL的一般語法格式為(帶方括號[]的為可選項(xiàng)):【參考URL百度百科】
protocol :// hostname[:port] / path / [;parameters][?query]#fragment
以下面的URL為例:
http://blog.xx.com.cn/s/blog_537ad6610102xtb1.html?tj=hist
1)根悼、協(xié)議部分凶异,代表頁面使用的是http協(xié)議蜀撑,在Internet中可以使用多種協(xié)議,如HTTP剩彬,F(xiàn)TP等等酷麦。在"HTTP"后面的“//”為分隔符;
2)喉恋、域名部分沃饶,blog.xx.com.cn,也可以使用IP地址作為域名使用如:192.168.55.14:8080轻黑,其中8080為端口糊肤,域名和端口之間使用“:”作為分隔符。端口不是一個URL必須的部分苔悦,如果省略端口部分轩褐,將采用默認(rèn)端口80/tcp;
3)玖详、虛擬目錄部分,從域名后的第一個“/”開始到最后一個“/”為止勤讽,是虛擬目錄部分蟋座。虛擬目錄也不是一個URL必須的部分。本例中的虛擬目錄是“/s/”
4)脚牍、文件名部分:從域名后的最后一個“/”開始到“向臀?”為止,是文件名部分诸狭,如果沒有“?”,則是從域名后的最后一個“/”開始到“#”為止券膀,是文件部分,如果沒有“驯遇?”和“#”芹彬,那么從域名后的最后一個“/”開始到結(jié)束,都是文件名部分叉庐。本例中的文件名是“blog_537ad6610102xtb1.html”舒帮。文件名部分也不是一個URL必須的部分,如果省略該部分陡叠,則使用默認(rèn)的文件名
5)玩郊、錨部分:從“#”開始到最后,都是錨部分枉阵。錨部分也不是一個URL必須的部分(可以理解為定位)
6)译红、參數(shù)部分:從“?”開始到“#”為止之間的部分為參數(shù)部分兴溜,又稱搜索部分侦厚、查詢部分反璃。本例中的參數(shù)部分為“7.參數(shù)部分:從“?”開始到“#”為止之間的部分為參數(shù)部分假夺,又稱搜索部分淮蜈、查詢部分。本例中的參數(shù)部分為“boardID=5&ID=24618&page=1”已卷。參數(shù)可以允許有多個參數(shù)梧田,參數(shù)與參數(shù)之間用“&”作為分隔符〔嗾海”裁眯。參數(shù)可以允許有多個參數(shù),參數(shù)與參數(shù)之間用“&”作為分隔符讳癌。
四穿稳、測試范圍及用例設(shè)計(jì)思路
接口測試范圍分為以下5個方向:
五、測試流程
分析接口文檔和需求文檔(接口說明晌坤、請求方式逢艘、請求URL、請求參數(shù)骤菠、返回?cái)?shù)據(jù)它改、返回實(shí)例)
接口用例設(shè)計(jì)? ?
編寫接口測試用例
接口測試執(zhí)行
輸出接口測試報(bào)告。
六商乎、如何快速評估自己的測試用例覆蓋率:
1)參數(shù)驗(yàn)證是否完整(包括各種邊界和業(yè)務(wù)規(guī)則)
2)業(yè)務(wù)需求點(diǎn)覆蓋是否完整(單接口業(yè)務(wù)功央拖,依賴接口業(yè)務(wù)功能)
3)接口異常場景覆蓋是否完整(數(shù)據(jù)的異常)
八、接口測試用途
回歸測試
非功能性測試
增量開發(fā)鹉戚,持續(xù)集成的項(xiàng)目鲜戒。