- SpecFlow 教程
- SpecFlow - 首頁
- SpecFlow - 簡介
- 測試驅動開發
- 行為驅動開發
- SpecFlow - Visual Studio 安裝
- Visual Studio 擴充套件安裝
- SpecFlow - 專案設定
- 其他專案依賴項
- SpecFlow - 執行器啟用
- SpecFlow - HTML 報告
- SpecFlow - 繫結測試步驟
- SpecFlow - 建立第一個測試
- 配置 Selenium Webdriver
- SpecFlow - Gherkin
- SpecFlow - Gherkin 關鍵字
- SpecFlow - 功能檔案
- SpecFlow - 步驟定義檔案
- SpecFlow - 鉤子
- SpecFlow - 背景說明
- 使用示例進行資料驅動測試
- 不使用示例進行資料驅動測試
- 表格轉換為資料表
- 表格轉換為字典
- 帶 CreateInstance 的表格
- SpecFlow - 帶 CreateSet 的表格
- SpecFlow 有用資源
- SpecFlow - 快速指南
- SpecFlow - 有用資源
- SpecFlow - 討論
SpecFlow - 測試驅動開發
測試驅動開發(Test-Driven Development)也稱為 TDD。它包含以下步驟,需要逐一執行:
步驟 1 - 建立測試。
步驟 2 - 驗證測試是否失敗。
如果測試透過,則建立第二個測試。
如果測試失敗,則轉到步驟 3。
步驟 3 - 修復測試使其透過。
如果測試透過,則轉到步驟 4。
如果測試失敗,則跳轉到步驟 3。
步驟 4 - 開始程式碼重構並重覆上述所有步驟,直到開發完成。
TDD 的好處
TDD 的好處如下:
開發人員需要理解需求,才能知道場景的結果應該是什麼以及如何測試它。
只有在所有測試用例透過且程式碼重構完成後,才會完成模組的實現。因此,在轉移到下一個測試之前,應先進行驗證和重構。
完成重構後,需要執行單元測試套件。
單元測試可以用作即時文件。
如果發現錯誤,則建立一個測試以獲取錯誤的詳細資訊。更新指令碼以透過測試。同時,還執行其他測試以確保現有功能不會因修復而中斷。
開發人員可以參與設計決策,並在測試執行階段隨時對其進行改進,以確保應用程式正常工作。這樣做是為了提高產品的可維護性。
開發人員可以確信進行任何修改。這是因為如果這影響任何現有功能,它將透過執行測試來反映出來。這樣可以快速解決錯誤。
連續執行測試時,所有先前的錯誤修復也都會得到驗證,並且可以避免類似的錯誤。
由於在開發階段進行了主要的測試,因此交付前所需的測試時間較短。
TDD 的缺點
TDD 的缺點如下:
開發人員難以決定何時開始測試。
開發人員對測試什麼感到困惑。
開發人員不知道是否涵蓋了所有需求規範。
開發人員不確定他們的程式碼是否增加了業務價值。
圍繞 TDD 的誤解
圍繞 TDD 的誤解如下:
誤解 |
事實 |
|---|---|
TDD 只關注自動化測試。 |
TDD 是一種遵循測試優先方法的開發技術。 |
TDD 不包含設計。 |
TDD 具有根據需求進行的徹底研究和設計。設計在開發階段完成。 |
TDD 僅用於單元測試。 |
TDD 也用於系統和整合測試。 |
TDD 無法用於正統的測試專案。 |
TDD 用於敏捷開發。但它也可以應用於傳統的測試專案。 |
TDD 被認為是一種工具。 |
TDD 是一種開發技術,每次新的單元測試通過後,它都會與自動化套件結合在一起,每當程式碼修改和重構活動後都會執行該套件。 |