iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 29
1
Mobile Development

Android TDD 測試驅動開發系列 第 29

Day29 - Android TDD 小結

這一篇我們要來小結一下TDD。

TDD 測試驅動開發(Test-driven development),是一種「先寫測試再開發程式」的開發技巧。

步驟:
1.紅燈:先寫失敗的測試案例。
2.綠燈:快速實作功能讓測試案例通過。
3.重構:在不改變功能的前提下,修改程式碼。改善可維護性。

小步快跑

在寫Production code,應先達到程式碼是可用的目標,也就是快速實作功能讓測試案例通過。再重構成更簡潔的程式碼,每次只關注一件事。當每次新增的程式碼較少時,有問題時追蹤較快。確保我們用小步快跑的節奏。

僅在測試失敗 ,才寫新的程式碼

在TDD時,我們總是先寫失敗的測試,這個失敗的測試代表著需求不被Production code滿足。如果你加了一個新的測試案例,不修改任何Production code就測試成功,這意味著測試程式寫錯或是Production code已經滿足了測試案例,當然就不用修改了。所以我們才只有在測試失敗時再加上新的程式碼。

先分析再寫測試

分析需求並拆解任務,TDD讓我們養成習慣,在寫程式之前先思考怎麼將需求拆解成不同的任務。先寫測試聽起來會讓我們以為一開始就要先寫測試,但其實應該的是先設計,先想清楚要怎麼寫。如果對需求不了解或對TDD還不夠熟悉,寫起測試就會綁手綁腳。

維持綠燈

當你的其中一個測試是紅燈時,應盡快讓他變成綠燈,再來處理新的需求。當你想要重構的時候也是一樣,重構應只在綠燈的時候才做。如果你在紅燈的時候重構,當有錯誤時,你不會知道是原本就有錯還是重構造成的錯,甚至引發一連串的紅燈。

TDD與重構

TDD的核心是紅燈->綠燈->重構。這代表重構是TDD非常重要的一環,重構的好不好將直接關係到TDD開發出來的程式碼品質。Android Studio提供了很方便的重構功能,你應該儘量使用工具來重構以提高效率,也確認重構的安全。如果你要重構一個沒有測試保護的程式碼時,而這些程式碼又很難直接加上單元測試,你可以先加上UI測試來保護,再進行重構。


上一篇
Day28 - Android MVVM 架構下的TDD
下一篇
Day30 - 最後,持續學習
系列文
Android TDD 測試驅動開發30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言