前端頁面與后端代碼之間的互動測驗,可以理解為介面功能測驗的一個子集,
測驗準備
在進行互動測驗前,首先要對前端功能有明確的認知,能夠明確區分:
-
什么功能屬于前端頁面邏輯功能
-
什么功能又屬于前端與后端互動功能
-
前端功能與后端是通過什么介面方式進行互動
-
前、后端,雙方有什么樣約束

在這里提到了約束這個概念,在實際專案研發程序中,功能測驗階段所產生 的 bug,有很大一方面是由于前、后端溝通不徹底,需求確認模糊導致,在進入研發前,雙方將各自 后續由于 bug 導致的反工作業量,
測驗方法

可以使用抓包工具來進行互動層面測驗,查看每個互動功能,對應的介面是否正確 (包含請求頭、請求引數、回應以及其他約束項),確保前端按照后端的要求正確地進行了呼叫,

在互動程序中,針對一個介面也會有多個場景,前端會根據不同的入參來調 用不同的場景,根據不同回應結果, 進行回應資料的改寫,來獲得不同回應,驗證不同回應下前端的展示效果,在這里我們也可以使用一些 不同場景的互動測驗,
推薦 Mock 工具:
-
moco 框架:https://github.com/dreamhead/moco
-
easy-mock: https://github.com/easy
-
Metersphere 一站式測驗平臺上也可以定義
后端邏輯測驗
介面后端邏輯測驗依然遵循“輸入—處理—輸出”這樣的模式,用戶輸入一串資料,然后讓這個介面或者讓這個后臺功能來處理,檢查輸出結果跟期望是否一 致,
介面測驗用例設計應該滿足需求檔案,且對例外場景進行友好處理;且測驗 這個介面是否安裝介面檔案進行開發
測驗用例設計思路
-
從輸入引數進行考慮設計
1) 優先級-針對所有介面
1、暴露給其他系統、第三方呼叫的介面
2、系統內部呼叫的核心功能介面
3、系統內部呼叫的非核心功能介面
2)優先級-針對單個介面
1、正向測驗用例優先,逆向測驗用例次之(通常情況下是這樣);
2、是否需要滿足前提條件 > 是否攜帶默認值引數 > 引數是否必填 > 引數之間是否存在關聯 > 引數資料型別限制校驗 > 引數資料型別自身的資料范圍值 限制校驗,
3)設計分析
從介面測驗后端業務邏輯來講,設計介面測驗用例需要考慮以下幾方面:
1、是否滿足前提條件 有的介面需要首先滿足一定條件,才可成功獲取資料,最常見的就是需 要用戶登錄資訊的介面(用戶 token) 逆向用例:設計不滿足前置條件的用例,
2、是否攜帶默認值引數 正向測驗用例:存在默認值的引數都不填寫、不傳參,必填引數都填寫正確并且存在正 確的常規值,這方面考慮設計測驗用例,
3、業務邏輯、功能需求 這個環節需要根據具體的業務需求,結果介面定義檔案,可設計出多條 正向用例和逆向用例,
4、引數是否必填 針對每個必填引數,設計一潭訓多條引數值為空的逆向測驗用例,
5、引數之間是否存在關聯 可根據引數之間的相互關聯關系設計一潭訓多條用例,
6、引數資料型別限制 針對每個引數型別設計與定義的型別不符的逆向測驗用例,
7、引數自身的資料范圍值限制校驗 針對所有引數,設計每個引數在資料范圍內為最大或者最小的正向測驗用例;
針對所有引數,設計一潭訓者多條引數值超過或者小于資料范圍的逆向 測驗用例;
總結一下,如果以上幾個方面考慮全面的話,基本可覆寫以下三點:
a、主流程測驗用例:正常的主流程業務需求校驗
b、分支流程測驗用例:正常的分支流程需求校驗
c、例外流程測驗用例:例外業務場景的容錯校驗
- 從輸出引數進行考慮設計
1、輸出結構是否與介面檔案定義的一致
2、輸出的各個欄位型別是否與介面檔案定義的一致
3、輸出的各個欄位的值是否符合邏輯且值正確
測驗環境
進行介面測驗之前首先需要與開發確認好測驗環境,通常情況下,需要在三 個環境進行測驗:測驗環境、準生產環境及生產環境,
為了方便快捷切換介面測驗環境的 host 指向,我們可借助以下工具進行切 換:SwitchHosts、Nohost、postman 等,
測驗方式
- 手工測驗
手工測驗就是借助瀏覽器或者部分測驗工具(postman、Jemter 等)手動執 行測驗用例的程序,針對新開發介面建議首先進行全面的手工測驗后再將部分可 重復執行用例加入自動化測驗,
- 自動化測驗
介面測驗相對容易實作自動化,且相對 UI 自動化也比較穩定,可以減少人 工回歸測驗人力成本與時間,縮短測驗周期,是支持后端快速發版需求,達到低 成本高收益的根源,
介面自動化測驗同樣需要有需求分析、用例設計,依據用例設計使用 python 或者 java 等語言結合框架,撰寫自動化測驗腳本,實作介面自動化測驗、自動 執行及自動發送測驗報告等環節,
一個好的介面自動化測驗框架應該涵蓋以下幾點:
a) 流程方面:在回歸階段加強介面各種場景的覆寫度,并逐步向系統測驗, 冒煙測驗階段延伸,最終達到全流程自動化,
b) 結果展示:更加豐富的結果展示、趨勢分析,質量統計和分析等,
c) 問題定位:報錯資訊、日志更精準,方便問題復現與定位,
d) 結果校驗:加強自動化校驗能力,如資料庫資訊校驗,
其他關注點
以下這部分測驗同業務邏輯測驗同等重要,甚至從某種意義上講,比業務邏 輯測驗更加重要,測驗程序中不容忽視,

看完這篇內容后,相信以下兩件事,也會對你的個人提升有所幫助:
- 將來的你定會感謝現在拼命努力的自己 -
> > > 學習路線+測驗實用干貨精選匯總,請關注我的公眾號,公眾號長期做「有價值的輸出」是最低標準,感謝您的閱讀,

> > > 一起探討交流,共同學習軟體測驗技術、進測驗Q群,里面有我們收集的配套教程和技術檔案提供給自學的伙伴,請點此處「查看公告處」加入社區方式,(←可點擊查看公告處)
> > > 薦語:與其花時間吃點點點苦,不如學學自動化,提高薪資然后摸魚,不香么?
?? 往期技術文章推薦
測驗開發技能(1):持續集成這樣做,App自動化測驗效率提高50%
測驗開發技能(2):性能測驗知識學習路線(看看這篇,好好學習)
測驗開發技能(3):十分鐘弄懂最快的APP自動化工具uiautomator2
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/458293.html
標籤:其他
上一篇:FFmpeg使用中經驗總結
