← 開發日常

不可不知的 Flutter App 自動化測試實戰攻略

20222023 連續參加了兩年鐵人賽,分別談論 Flutter 的設計與測試兩項議題,也連續兩年有幸獲得佳作,也就索性以 23 年的文章為主軸,將這些年來的開發經驗整理成冊:不可不知的 Flutter App 自動化測試實戰攻略:從設計到測試、維持產品品質的高效實踐

自從七年前接觸了敏捷開發,陸續上了許多課程與看了許多書,很多敏捷開發與 XP 相關實踐已是日常發開中一部分。其中測試就是十分重要的一環,例如軟體開發人員最耳熟能詳的 TDD (測試驅動開發) 便是其中的一部分。

雖然說寫測試並不困難,上網搜尋或問 ChatGPT 很快就能得到答案,但是通常這些答案都是比較片段,著重於如何寫,與如何融入日常開發仍有一段距離。所以本書特別著重介紹測試的部分,並實際測試一個完整小專案,讓讀者能夠以俯視角全面觀察測試如何應用在專案的每個部分。

本書內容

書中使用了一個已經完成的 Puzzle 專案,帶領讀者一步一步的來測試專案中的每的部分,從單元測試、Widget 測試到整合測試,從基礎到進階,帶領讀者深入探討自動化測試的奧秘。

Article image

除了介紹測試的寫法之外,也會帶入不同場景的測試該怎麼做,以及如何處理常見的測試難題。此外,書中還談論了如何重構測試,讓測試即便在數量變多,專案變大時,也能夠更輕鬆地維護這些測試。

對自動化測試有興趣的朋友,有歡迎參考看看。

雖然筆者在日常開發上會運用 TDD,但是 TDD 在本書中只有在末段的時候簡單帶過,沒有詳細討論,如果追著 TDD 而來的朋友可能失望。其主要是因為本書偏基礎向,但是使用 TDD 的前提是要熟練測試的各種基礎與進階技巧,如果連測試技巧都還沒熟練,TDD 起來也大概不順暢。不過要是對於如何在 Flutter 上 TDD 有興趣的朋友,非常歡迎聯絡我一起討論。

後續

在寫這本書的時候,筆者其實就有本著某些想法來安排,而當這些想法從別人的口中說出時,又是特別的感動。

Article image

筆者也只是一個學習者,很多觀念都是從許多教練身上或大師的書中獲得,所以在寫的時候附上許多相關資源。不得不說,比起本書,這些相關資源更加來得重要,也超級無敵推薦讀者閱讀。本書只是將這些重要觀念用更具體的例子呈現,讓讀者更容易了解。(講更不好聽一些,筆者的書可以不看,大師的書可不能不讀,希望編輯不會打我XD)

Article image

筆者當初在寫的時候也確實希望 Flutter 只是一個範例,背後的軟體開發觀念才是真正重要的東西,希望這些觀念能帶領讀者走得更遠。帶著這些觀念,即便未來換了語言或工具,不再使用 Flutter 了,也能將這些觀念運用在開發工作中。

之後筆者也會在明年 (2025) 的台中社群有一場分享,主題是筆者在公司使用 Flutter 測試的心路歷程。最後,無論你是否有購買本書,有任何問題也歡迎隨時聯絡我,謝謝大家。