- Cucumber 教程
- Cucumber - 首頁
- Cucumber - 概述
- Cucumber - 環境
- Cucumber - Gherkins
- Cucumber - 特性
- Cucumber - 場景
- Cucumber - 註解
- Cucumber - 場景大綱
- Cucumber - 標籤
- Cucumber - 資料表
- Cucumber - 註釋
- Cucumber - Hook
- Cucumber - 命令列選項
- Cucumber - JUnit 執行器
- Cucumber - 報告
- Cucumber - 除錯
- Cucumber - Java 測試
- Cucumber - Ruby 測試
- Cucumber 有用資源
- Cucumber - 快速指南
- Cucumber - 有用資源
- Cucumber - 討論
Cucumber - 概述
為了更好地利用軟體測試,如今的組織正在向前邁進。他們在開發過程中實施重要的驗收測試場景。這種方法通常被稱為行為驅動開發(BDD)。
行為驅動開發使我們有機會從開發人員和客戶的角度建立測試指令碼。因此,在開始時,開發人員、專案經理、QA、使用者驗收測試人員和產品負責人(股東)都會聚在一起,集思廣益,討論為了使該軟體/應用程式成功需要透過哪些測試場景。透過這種方式,他們會想出一套測試場景。所有這些測試指令碼都使用簡單的英語編寫,因此它也起到了文件的作用。
示例
如果我們正在開發使用者身份驗證功能,那麼以下可能是一些關鍵測試場景,需要透過這些場景才能將其稱為成功。
使用者應該能夠使用正確的使用者名稱和密碼登入。
使用者不應該能夠使用錯誤的使用者名稱和正確的密碼登入。
使用者不應該能夠使用正確的使用者名稱和錯誤的密碼登入。
工作原理
在程式碼準備就緒時,測試指令碼也準備就緒。程式碼必須透過BDD中定義的測試指令碼。如果發生這種情況,則需要進行程式碼重構。只有在成功執行定義的測試指令碼後,程式碼才會凍結。
這是一個非常簡單的概念,但我們需要什麼才能實現這個概念呢?答案是,行為驅動開發(BDD)框架。Cucumber 就是這樣一個支援行為驅動開發的開源工具。更準確地說,Cucumber 可以定義為一個由純英文文字驅動的測試框架。它集文件、自動化測試和開發輔助於一體。
那麼 Cucumber 到底做了什麼?它可以用以下步驟描述:
Cucumber 讀取特性檔案中用純英文文字(稍後在本教程中介紹的 Gherkin 語言)編寫的程式碼。
它在步驟定義(程式碼檔案 - 本教程稍後提供詳細資訊)中查詢每個步驟的確切匹配項。
要執行的程式碼片段可以是不同的軟體框架,例如Selenium、Ruby on Rails等。並非每個 BDD 框架工具都支援每個工具。
這已成為 Cucumber 比其他框架(如JBehave、JDave、Easyb等)更受歡迎的原因。
Cucumber 支援十多種不同的軟體平臺,例如:
- Ruby on Rails
- Selenium
- PicoContainer
- Spring 框架
- Watir
Cucumber 相比其他工具的優勢
Cucumber 支援 Java.net 和 Ruby 等多種語言。
它充當業務語言和技術語言之間的橋樑。我們可以透過用純英文文字建立測試用例來實現這一點。
它允許在無需任何程式碼知識的情況下編寫測試指令碼,也允許非程式設計師參與。
它實現了端到端測試框架的目的,這與其他工具不同。
由於簡單的測試指令碼架構,Cucumber 提供了程式碼可重用性。