什麼是測試驅動開發?


測試驅動開發也稱為TDD。它包含以下步驟,需要逐一執行:

步驟1 - 建立測試。

步驟2 - 驗證測試是否失敗。

如果測試透過,則建立第二個測試。

如果測試失敗,則轉到步驟3。

步驟3 - 修復測試使其透過。

如果測試透過,則轉到步驟4。

如果測試失敗,則跳轉到步驟3。

步驟4 - 開始程式碼重構並重復以上所有步驟,直到開發完成。

TDD 的優勢

TDD 的優勢如下:

  • 開發人員需要理解需求,才能知道場景的結果應該是什麼以及如何測試它。

  • 只有在所有測試用例透過且程式碼重構完成後,才會進行模組的實現。因此,在進行下一個測試之前,應先進行驗證和重構。

  • 完成重構後,需要執行單元測試套件。

  • 單元測試可以用作動態文件。

  • 如果發現錯誤,則建立一個測試以獲取錯誤的詳細資訊。更新指令碼以透過測試。同時,還執行其他測試以確保現有功能不會因修復而中斷。

  • 開發人員可以參與設計決策,並在測試執行階段隨時改進設計,以確保應用程式正常工作。這樣做是為了提高產品的可維護性。

  • 開發人員可以確信可以進行任何修改。這是因為如果這影響任何現有功能,它將透過執行測試來反映出來。這樣可以快速解決錯誤。

  • 連續執行測試還可以驗證所有之前的錯誤修復,並避免類似的錯誤。

  • 由於在開發階段進行了主要的測試,因此交付前的測試時間較短。

TDD 的缺點

TDD 的缺點如下:

  • 開發人員難以決定何時開始測試。

  • 開發人員對測試什麼感到困惑。

  • 開發人員不知道是否涵蓋了所有必需的規範。

  • 開發人員不確定他們的程式碼是否增加了業務價值。

關於 TDD 的誤解

關於 TDD 的誤解如下:

  • 誤解 - TDD 只關注自動化測試。

    事實 - TDD 是一種遵循測試優先方法的開發技術。

  • 誤解 - TDD 不包含設計。

    事實 - TDD 進行了徹底的研究和設計,具體取決於需求。設計在開發階段完成。

  • 誤解 - TDD 只用於單元測試。

    事實 - TDD 也用於系統和整合測試。

  • 誤解 - TDD 無法應用於傳統的測試專案。

    事實 - TDD 用於敏捷開發。但它也可以應用於傳統的測試專案。

  • 誤解 - TDD 被認為是一種工具。

    事實 - TDD 是一種開發技術,每次新的單元測試通過後,它都會與自動化套件結合在一起,該套件在程式碼修改和重構活動後執行。

更新於:2021年11月18日

249 次瀏覽

啟動你的職業生涯

完成課程獲得認證

開始學習
廣告