怎樣做接口測(cè)試才能有效提升軟件質(zhì)量?

今天我要分享的是關(guān)于接口測(cè)試的內(nèi)容,相信測(cè)試人員對(duì)接口測(cè)試都是不陌生的。在軟件的開發(fā)過(guò)程中,大部分開發(fā)由于種種原因,放棄了單元測(cè)試,那么單接口測(cè)試就可以在一定程度上接近于單元測(cè)試,來(lái)彌補(bǔ)單元測(cè)試的不足,并且接口測(cè)試在一定程度上保障了產(chǎn)品的后端服務(wù)質(zhì)量。

目前有很多的測(cè)試人員在做接口測(cè)試的時(shí)候,只是使用Postman等接口測(cè)試工具來(lái)驗(yàn)證單接口的返回是否符合預(yù)期,但事實(shí)上,完成單接口測(cè)試是遠(yuǎn)遠(yuǎn)不夠的。除了驗(yàn)證單接口的正確性之外,我們還需要通過(guò)多接口測(cè)試去驗(yàn)證SUT(被測(cè)系統(tǒng))的業(yè)務(wù)邏輯正確性。

接口測(cè)試為什么重要

當(dāng)測(cè)試人員在測(cè)試一個(gè)產(chǎn)品時(shí),沒(méi)有做接口測(cè)試或者只做了單接口測(cè)試的情況下,產(chǎn)品的后端服務(wù)質(zhì)量是無(wú)法把控的。因?yàn)榻缑鏈y(cè)試是前端的,只有接口測(cè)試和單元測(cè)試才是保障后端服務(wù)質(zhì)量的測(cè)試,但是如果開發(fā)沒(méi)有去做單元測(cè)試的情況下,測(cè)試人員一定要加大接口測(cè)試的比重,來(lái)盡量彌補(bǔ)缺少單元測(cè)試的情況。

如果不去做接口測(cè)試,我們不能保證用戶在使用產(chǎn)品時(shí)發(fā)起的每一次請(qǐng)求都會(huì)返回用戶想要的信息。理論上來(lái)講,界面測(cè)試中的bug也許只是出現(xiàn)在某一客戶端或某一瀏覽器的bug,但是后端的bug是會(huì)體現(xiàn)在所有用戶的客戶端上的,其影響范圍比前端bug要嚴(yán)重地多。

接口測(cè)試是在測(cè)什么

接口測(cè)試通常包含兩部分,單接口測(cè)試和多接口測(cè)試。那么什么是單接口測(cè)試和多接口測(cè)試?

以買咖啡為例,客戶在前臺(tái)點(diǎn)單,并傳輸需要的咖啡參數(shù),例如:

- 咖啡:冰美式

- 杯型:超大杯

- 備注:無(wú)

當(dāng)輸入這些信息給店員后,店員會(huì)反饋點(diǎn)單成功的信息,這就是單接口的返回符合預(yù)期的情況。

多接口串聯(lián)測(cè)試是什么呢?以同樣的買咖啡為例:

接口1:客戶將這些信息傳遞給店員點(diǎn)單后,店員反饋點(diǎn)單成功。

接口2:點(diǎn)單店員將訂單信息傳輸給咖啡師,咖啡師確認(rèn)收到訂單信息。

接口3:咖啡師開始按照收到的訂單信息制作該咖啡,完成后將咖啡交給取餐區(qū)的店員。

接口4:取餐區(qū)的店員收到咖啡后,發(fā)出取餐提醒。

接口5:客戶收到取餐提醒,拿到相應(yīng)的咖啡。

在接口測(cè)試中,單接口測(cè)試和多接口測(cè)試缺一不可,它們所關(guān)注的點(diǎn)也是不一樣的。單接口測(cè)試關(guān)注單個(gè)接口的正確性,而多接口關(guān)注的是業(yè)務(wù)流程是否是通順的。

為什么接口測(cè)試可以保障后端服務(wù)質(zhì)量

我在多本軟件測(cè)試的書中都曾看到一個(gè)觀點(diǎn):“一個(gè)產(chǎn)品越早介入測(cè)試越好”。因?yàn)橥ǔG闆r下,越早發(fā)現(xiàn)Bug,修復(fù)的成本就越低。而接口測(cè)試就可以使測(cè)試人員更早地對(duì)產(chǎn)品介入測(cè)試。

比起前端頁(yè)面,后端總是更早開發(fā)完成。那么比起前端的界面測(cè)試,我們總是可以更先一步的去做接口測(cè)試。接口測(cè)試是直接測(cè)試后端服務(wù),那測(cè)試人員就更容易發(fā)現(xiàn)底層Bug。越底層的Bug,影響范圍是越廣的。

接口測(cè)試是一個(gè)技術(shù)知識(shí)和業(yè)務(wù)知識(shí)相結(jié)合的工作,除了測(cè)試技術(shù)之外,我們需要了解業(yè)務(wù),因?yàn)橹挥辛私鈽I(yè)務(wù),我們才能驗(yàn)證針對(duì)業(yè)務(wù)流程的多接口串聯(lián)測(cè)試。

在開始接口測(cè)試前,測(cè)試人員會(huì)拿到產(chǎn)品提供的需求文檔和開發(fā)提供的接口文檔。接口文檔詳細(xì)描述了接口的訪問(wèn)方式和參數(shù)。有了這些信息,我們可以開展單接口測(cè)試,來(lái)驗(yàn)證單個(gè)接口的正確性。還是以買咖啡為例:

- 當(dāng)客戶向店員傳輸“超大杯冰美式咖啡”,店員會(huì)反饋點(diǎn)單成功

- 當(dāng)客戶向店員傳輸“大杯珍珠奶茶”,店員會(huì)反饋點(diǎn)單失敗,并會(huì)告知本店沒(méi)有此飲品

也就是說(shuō),單接口測(cè)試我們不僅要驗(yàn)證輸入正確參數(shù)時(shí),點(diǎn)單成功,也要驗(yàn)證輸入錯(cuò)誤參數(shù)時(shí),點(diǎn)單失敗。

當(dāng)測(cè)試人員驗(yàn)證完單個(gè)接口的正確性后,就需要驗(yàn)證SUT業(yè)務(wù)邏輯是否符合預(yù)期。首先測(cè)試人員需要將接口文檔和需求文檔結(jié)合起來(lái),設(shè)計(jì)符合業(yè)務(wù)邏輯的接口測(cè)試用例,這次例子我們換成線上點(diǎn)單咖啡,已知業(yè)務(wù)邏輯是“客戶App下單咖啡,咖啡師收到訂單并制作咖啡放至取餐區(qū),客戶取餐”,根據(jù)這個(gè)業(yè)務(wù)邏輯,可能會(huì)有以下流程:

- 客戶下單咖啡成功,咖啡師收到訂單并制作咖啡放至取餐區(qū),客戶取餐成功

- 客戶下單咖啡成功,咖啡師收到訂單并制作咖啡放至取餐區(qū),客戶誤取餐

- 客戶下單咖啡成功,咖啡師收到訂單并制作咖啡放至取餐區(qū),客戶未取餐

- 。。。。。

一定會(huì)有小伙伴好奇,為什么不同情況只在客戶取餐環(huán)節(jié),中間的異常情況呢?比如說(shuō)客戶下單咖啡失敗?客戶下單咖啡成功但是咖啡師未收到訂單?等等,這些情況在單接口測(cè)試的時(shí)候應(yīng)該已經(jīng)驗(yàn)證過(guò)了。

SUT的業(yè)務(wù)邏輯性驗(yàn)證的前提,是單接口測(cè)試的返回值全部都是符合預(yù)期的。只有這樣,我們才能串聯(lián)多個(gè)接口去驗(yàn)證SUT的業(yè)務(wù)邏輯。

以上就是今天我要分享的內(nèi)容。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容