**複雜業務流**末端的介面前置資料應該如何準備?
做介面測試有個難點一直沒有找到很好的解決方案,就是針對業務流程非複雜的末端的介面測試邏輯時,依賴的資料應該通過什麼方式準備。
例如:
有一個單據,需要經過【處理1】-【處理7】後,操作【處理8】進行完結這筆單據,並且單據的處理1-處理7操作從前端操作上是不可跨越的。
我需要測試【處理8】這個介面的業務邏輯的時候,需要單據已經完成了【處理1】-【處理7】的操作,且經過【處理8】後的單據是不可逆,不能再利用的。
問題:
那麼我的測試【處理8】這個介面的時候,資料準備應該如何?
試過的方案:
方案1
呼叫前置介面【處理1】-【處理7】,但是流程過於長,前置介面有出問題的風險,且邏輯分支比較多,通過此方法造資料可能造資料的呼叫程式碼遠遠大於實際測試【處理8】介面的資料。
方案2
先頁面造好資料,進行資料庫dump,由於外部因素,開發這邊不能給出一個介面涉及掉的表結構等等,所以整個資料庫dump,但是存在各個業務可能同時由不同的人觸發,整個庫dump就不能多執行緒執行用例,不靈活,而每個業務介面一個庫也不現實。
求助,有什麼好的方案?
追加
1、說明一下另一個不太願意呼叫介面去造資料的原因是,現在業務中例如單據這種都是要求的id,包括單據中的一些屬性值都是需要傳值id,然後和公司賬號相關聯的,還考慮到環境的問題,例如我測試環境和灰度環境,資料庫是兩套,所以一套入參不能滿足兩個環境執行,可能我還是想要脫離這個限制吧,讓這個介面測試程式碼是可複用的,而不是一旦換了環境或者資料庫因為某種原因重置了,一些前置的操作還需要手動去執行。
2、不知道大家現在服務架構是如何的,我們現在是在切換到vue+springboot的模式進行中,會有一個service和controller,我的理解上,要做介面測試,應該是針對controller層的,但是實際要求我做service層的介面測試,會有點迷茫吧,就是一個service介面可能支援了好多controller的,實際上service介面的入參真的有點龐大了,讓我在對入參組合的測試上非常的懵,不知道界限是什麼。
相關文章
- VoltDB讓Kafka支援複雜資料流驅動的實時業務決策Kafka
- 介面測試要如何做資料準備
- Android複雜資料流的“高效”渲染(二)Android
- 前端該如何準備資料結構和演算法?前端資料結構演算法
- 業務複雜度不夠,如何深挖複雜度
- Android ListView中複雜資料流的高效渲染(一)AndroidView
- IT求職應注意哪些細節?面試前該如何準備?求職面試
- 如何減小ABAP業務程式碼的複雜度複雜度
- 準備下次程式設計面試前你應該知道的資料結構程式設計面試資料結構
- 複雜網路作業一:環境準備
- 使用 Laravel 開發 API 時的前置準備LaravelAPI
- 面試前最應該做的準備工作面試
- 資料分析:複雜業務場景下,量化評估流程
- React、Redux與複雜業務元件的複用ReactRedux元件
- 複雜單頁應用的資料層設計
- 如何將複雜的應用邏輯從儲存過程移植到業務層儲存過程
- 物件業務的修改資料介面物件
- 資料科學家面試如何準備?資料科學面試
- 【EXP】備份複雜關聯查詢後的T表資料
- Vuex原始碼學習(六)action和mutation如何被呼叫的(前置準備篇)Vue原始碼
- 測試基準資料的準備
- 面對複雜業務,if-else coder 如何升級?
- 從業務連續性到資料安全合規,企業該如何應對?
- 5.Flink實時專案之業務資料準備
- UITableView複雜介面處理UIView
- 安裝一個資料庫前應該考慮或者準備好的幾個問題資料庫
- 「iOS」譯 – AsyncDisplaykit2-0 使用「複雜介面流暢性」附 demoiOS
- 「iOS」譯 - AsyncDisplaykit2-0 使用「複雜介面流暢性」附 demoiOS
- 技術人員該如何接手一個複雜的系統?
- 軟體開發到底是業務複雜還是UI複雜UI
- 一文教會你如何寫複雜業務程式碼
- OceanBase Meetup第五期 複雜業務場景下的資料庫應用需求及挑戰資料庫
- hive複雜資料型別的用法Hive資料型別
- 複雜SQL構造資料:SQL
- Openfire安裝準備-MySQL資料庫準備MySql資料庫
- 一個資料分析師的職業規劃:人生本來就應該提前做好準備
- 勒索軟體攻擊加倍 公司該如何準備?
- 【PG流複製】Postgresql流複製主備切換SQL