TDD(測試驅動開發),一個敏捷開發的技巧,即使不是實行敏捷開發的流程,開發者也能夠利用TDD,提升程式碼品質,如何一步步去學習,實踐並體會TDD的精髓,同時瞭解為何窒礙難行、其不適用之處、以及迷思陷阱,文章主要以PHP為例說明。
TDD ( Test-driven development ) 是一種寫程式的開發技巧,提倡能為開發者及程式帶來多項好處: 更好的程式結構 程式碼更簡潔...
來複習一下前一篇提到的 TDD 步驟: 寫測試: 在寫任何產品程式之前,只先編寫最少量、剛好能運作的自動化測試 寫程式: 編寫最少量、剛好能通過的產品程式...
看完上一篇的範例,是不是很簡單呢,一天馬上就學會了 TDD!什麼?你說這樣一個小小的 function,你10秒就寫完了?幹嘛還要用 TDD,結果講了10分鐘。...
這個範例讓我們來看看怎麼用 TDD 來寫物件,不過我寫完程式之後才發現都沒看到什麼需要Refactor的地方,有點可惜沒有演示到這部分。 複習 TDD 步驟:...
我們可以利用 測試框架 來幫助我們編寫測試,減少重複的程式碼,以及豐富的 Assertion 函式可以在不同狀況下使用。 雖然常用程式語言的原生語法中,大概都有...
來看看用測試框架 PHPUnit 改寫範例二,有什麼差別。 範例二的題目:一個可以計算多人薪水總和的程式。有一個Salary類別,代表一個人的名字與薪水,以及P...
開始寫這個系列之後,討論到一個 TDD 使用時的議題,以及另一個相關的延伸問題,因此來聊聊我目前的看法。 1. TDD 與 定物件的介面 (Interface)...
到目前為止,我們所提到的自動化測試,都是單元測試這個層級,而自動化測試能做的可不只如此,自動化測試金字塔看起來像這樣: ____ ...
今天回到我們的測試框架,關於測試的覆蓋率,之前提過 TDD 能夠帶來高覆蓋率,代表我們的產品程式幾乎都有被自動化測試過,因此提高對於產品執行無誤的信心。 讓我們...
前幾篇的範例都是用 PHP 說明,如果你並不是用 PHP 的開發者,可能會直接跳過那幾個部分。 因此今天來整理一下,關於如何在一個語言或環境開始使用 TDD。...