第十一屆

software-dev
如何一步步實踐TDD (測試驅動開發)
Louis

系列文章

DAY 1

為什麼想講 TDD

TDD ( Test-driven development ) 是一種寫程式的開發技巧,提倡能為開發者及程式帶來多項好處: 更好的程式結構 程式碼更簡潔...

DAY 2

TDD 範例一:函式 (PHP)

來複習一下前一篇提到的 TDD 步驟: 寫測試: 在寫任何產品程式之前,只先編寫最少量、剛好能運作的自動化測試 寫程式: 編寫最少量、剛好能通過的產品程式...

DAY 3

TDD 的理由

看完上一篇的範例,是不是很簡單呢,一天馬上就學會了 TDD!什麼?你說這樣一個小小的 function,你10秒就寫完了?幹嘛還要用 TDD,結果講了10分鐘。...

DAY 4

TDD 範例二:物件 (PHP)

這個範例讓我們來看看怎麼用 TDD 來寫物件,不過我寫完程式之後才發現都沒看到什麼需要Refactor的地方,有點可惜沒有演示到這部分。 複習 TDD 步驟:...

DAY 5

測試框架 (PHPUnit)

我們可以利用 測試框架 來幫助我們編寫測試,減少重複的程式碼,以及豐富的 Assertion 函式可以在不同狀況下使用。 雖然常用程式語言的原生語法中,大概都有...

DAY 6

TDD 範例三:用 PHPUnit 改寫範例二

來看看用測試框架 PHPUnit 改寫範例二,有什麼差別。 範例二的題目:一個可以計算多人薪水總和的程式。有一個Salary類別,代表一個人的名字與薪水,以及P...

DAY 7

插入曲:關於 Interface 與 public / private

開始寫這個系列之後,討論到一個 TDD 使用時的議題,以及另一個相關的延伸問題,因此來聊聊我目前的看法。 1. TDD 與 定物件的介面 (Interface)...

DAY 8

自動化測試的層級

到目前為止,我們所提到的自動化測試,都是單元測試這個層級,而自動化測試能做的可不只如此,自動化測試金字塔看起來像這樣:          ____      ...

DAY 9

測試覆蓋率 與 PHPUnit 設定檔

今天回到我們的測試框架,關於測試的覆蓋率,之前提過 TDD 能夠帶來高覆蓋率,代表我們的產品程式幾乎都有被自動化測試過,因此提高對於產品執行無誤的信心。 讓我們...

DAY 10

如何在一個環境開始 TDD

前幾篇的範例都是用 PHP 說明,如果你並不是用 PHP 的開發者,可能會直接跳過那幾個部分。 因此今天來整理一下,關於如何在一個語言或環境開始使用 TDD。...