目前很多持續(xù)集成項(xiàng)目都需要執(zhí)行接口層的測(cè)試,當(dāng)你了解其基本概念,理解了接口協(xié)議、如何傳參、測(cè)試原理后,無需 掌握程序語言,使用 行業(yè) 內(nèi)成熟的接口測(cè)試 工具,就 可 以快速地在項(xiàng)目中展開接口測(cè)試,甚至可以實(shí)現(xiàn)自動(dòng)化接口測(cè)試,并用于整個(gè)持續(xù)集成的過程。
進(jìn)入正題前,不得不先提到測(cè)試分層,這是近年比較熱議的主題,我們看看下圖:

Unit 代表單元測(cè)試,Service 代表服務(wù)集成測(cè)試(或接口集成測(cè)試),UI 代表頁面系統(tǒng)測(cè)試。單元測(cè)試需要強(qiáng)大的代碼能力,很多測(cè)試人員還沒有能力去執(zhí)行,因此目前大多數(shù)公司還處于開發(fā)自測(cè)的階段。隨著開源 UI 自動(dòng)化測(cè)試框架 Selenium 的發(fā)展,WebUI 自動(dòng)化測(cè)近幾年已趨于成熟(Appium 是移動(dòng)端 UI 自動(dòng)化測(cè)試的代表框架),但其有3個(gè)明顯的缺點(diǎn):
* 第一,UI 測(cè)試介入測(cè)試時(shí)機(jī)較晚,修復(fù)發(fā)現(xiàn)的漏洞成本較大;
* 第二,UI 測(cè)試很難發(fā)現(xiàn)底層邏輯問題;
* 第三,頁面元素經(jīng)常變換,導(dǎo)致自動(dòng)化產(chǎn)出、投入比偏低,而這些恰恰是接口自動(dòng)化測(cè)試所能解決的問題。
針對(duì)接口自動(dòng)化測(cè)試,目前在業(yè)內(nèi)有兩大類解決方案:
* 一類是通過代碼編寫接口測(cè)試框架,實(shí)現(xiàn)接口自動(dòng)化測(cè)試,其要求測(cè)試人員掌握扎實(shí)的編程基礎(chǔ);
* 另一類是借助接口測(cè)試工具,配合 Postman、Eolink 等集成工具實(shí)現(xiàn)接口自動(dòng)化測(cè)試持續(xù)集成。
前者靈活,但是具有一定的學(xué)習(xí)門檻,而后者的學(xué)習(xí)成本更低,適合新人上手。接口測(cè)試工具有很多,其中 Eolink 安裝簡單、使用方便、功能強(qiáng)大,還支持團(tuán)隊(duì)協(xié)同、接口監(jiān)控、Mock 等功能,這些是 Postman 等一些海外工具所不具備的。我們可以借助 Eolink 工具,更好的組織內(nèi)開展接口測(cè)試持續(xù)集成。
Eolink體驗(yàn)地址:https://www.eolink.com/?utm_source=js
我所在的電力行業(yè)支付項(xiàng)目,每周需要迭代1次,每次系統(tǒng)集成前必須優(yōu)先安排進(jìn)行接口測(cè)試,測(cè)試的內(nèi)容包括內(nèi)部和第三方接口(特別是支付網(wǎng)關(guān)、銀行接口、監(jiān)管服務(wù)等)進(jìn)行功能或數(shù)據(jù)處理,在短時(shí)間內(nèi)將進(jìn)行高集中遍歷:
1. 發(fā)布前需要對(duì)項(xiàng)目進(jìn)行回歸測(cè)試,但是傳統(tǒng)測(cè)試方式的覆蓋面窄、效率低下,使用 Eolink 自動(dòng)化測(cè)試,提高了測(cè)試范圍以及效率。

2. 產(chǎn)品需求變動(dòng)/代碼改動(dòng)后,測(cè)試人員無法確定測(cè)試范圍??梢杂米詣?dòng)化測(cè)試進(jìn)行大范圍回歸測(cè)試,保證基本業(yè)務(wù)正常,借助測(cè)試工具的監(jiān)控能力及時(shí)發(fā)現(xiàn)接口變化與代碼變動(dòng)。


3.傳統(tǒng)測(cè)試方式的周期長,無法每天24小時(shí)隨時(shí)執(zhí)行測(cè)試,并且依賴于人的專業(yè)性,測(cè)試效果不可靠。可以用 API 自動(dòng)化測(cè)試的定時(shí)測(cè)試任務(wù)或者將 API Studio 集成到 Jenkins 上,實(shí)現(xiàn)代碼提交即觸發(fā)測(cè)試并實(shí)時(shí)得到測(cè)試報(bào)告。


4.傳統(tǒng)測(cè)試團(tuán)隊(duì)成員之間缺乏協(xié)作,互相不清楚各自編寫的測(cè)試用例、測(cè)試腳本、測(cè)試結(jié)果等,導(dǎo)致重復(fù)勞動(dòng),可以用 API Studio 實(shí)現(xiàn)測(cè)試團(tuán)隊(duì)的在線協(xié)作。


5.測(cè)試團(tuán)隊(duì)使用 API Studio 日常維護(hù) API 自動(dòng)化測(cè)試用例后,可有效解決上述問題,幫助測(cè)試團(tuán)隊(duì)提高測(cè)試能力和效率。
持續(xù)集成的概念其實(shí)并不復(fù)雜,就是一系列頻繁的操作流程:包括構(gòu)建、部署、測(cè)試和發(fā)布等。能夠快速發(fā)現(xiàn)錯(cuò)誤、防止分支大幅偏離主干、快速更新迭代和發(fā)布。為了達(dá)到使產(chǎn)品可以快速迭代,同時(shí)還能保持高質(zhì)量的集成效果。它的核心措施是在代碼集成到主干之前,必須通過自動(dòng)化測(cè)試。只要有一個(gè)測(cè)試用例失敗,就不能成功集成。所以在分層自動(dòng)化測(cè)試的思想指引下,接口層的自動(dòng)化測(cè)試是最為行之有效、門檻不高、且 ROI 最優(yōu)的投入策略,值得我們開展與實(shí)踐。