簡體   English   中英

Cucumber 測試到底是什么,它是關於服務接口還是 function? 是否需要連接數據庫才能獲取真實數據?

[英]what exactly Cucumber test, it is about service interface or function? and do it need to connect DB to get real data?

我只是java Cucumber BDD測試的初學者,想知道什么情況下需要使用Cucumber來測試?

它與服務接口或整個功能有關(可能結合了服務接口)?

是否需要從數據庫中檢索真實數據?

請回答我,謝謝。

我已經建立了技術部分,配置了 maven 依賴項,並且已經將 Cucumber 與 SpringBoot 集成。

我只是不知道 Cucumber 可以處理哪個部分。 它與編碼無關,而與概念有關。

沒有任何

Cucumber 一方面是在測試用例本身沒有代碼的情況下編寫測試的一種方式。 您可以將它用於所有類型的事情,而不僅僅是前端。 我們甚至用它來測試批處理。 我們的測試人員不喜歡 Java 代碼,但他們喜歡 cucumber 測試。

然而,僅 Cucumber 並沒有多大作用。 它允許您以某種非技術性的方式表達測試,例如

Given Eric has a valid Credit or Debit card
And his account balance is $100
When he inserts his card
And withdraws $45
Then the ATM should return $45

為了使該測試真正做某事,必須在后台有一些代碼來執行測試用例。 這意味着,您必須編寫膠水代碼,從上面的Gerkhin定義中提取值並將其傳遞給您的 Java 函數。 您還必須在 Java 中編寫其他所有內容,例如數據庫交互。 如果您想測試前端,您也需要編寫實際交互代碼,例如使用 selenium。

也就是說,當測試用例變得復雜並且像集成測試(填充數據庫、啟動服務、啟動前端、單擊、檢查響應、檢查數據庫內容)時,我們為此切換到 java 測試用例。 我們可以說服測試工程師,Cucumber 的開銷和有限的表達能力使其成為該任務的錯誤工具。 我想,這也不是為了那個。

Cucumber 是一種最適合用於執行對業務很重要的功能的工具。 與其他測試工具相比,它會產生額外的開銷,以允許使用業務語言而不是代碼語言編寫描述和發起測試的內容。

由於這種額外的開銷,Cucumber 最適合用於大型事物,例如

  • 購買產品
  • 注冊使用應用程序
  • 投訴...

而不是像這樣的小事

  • 確保我的密碼中有一個符號
  • 確保我的投訴有一個 email 地址
  • 確保選中框 A 而未選中框 C

特別是 Cucumber 不是進行任何詳盡測試的工具。 因此,如果您有一個包含 15 個字段的在線表單,Cucumber 將是一個很好的工具,可以表明您可以使用該表單做某事,並且是一個很好的工具,可以用來顯示當您輸入錯誤數據時出現錯誤,但是壞工具來處理您可以輸入的所有可能的壞數據組合(您應該為此使用單元測試工具)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM