商品編號:DJAA2V-A900I35ZT

不可不知的Flutter App自動化測試實戰攻略:從設計到測試、維持產品品質的高效實踐(iThome鐵人賽系列書)

驚喜優惠
$514
$650
  • 登記送

    【7-11】單筆滿$350純取貨/取貨付款訂單登記送海鮮披薩兌換券乙張(限量)

  • 登記抽

    【新春24H不打烊】App限定 全站指定品下單登記抽桂格養氣人蔘禮盒

付款方式
出貨
  • PChome 倉庫出貨,24小時到貨
配送
宅配滿$490免運,超取滿$350免運
  • 宅配到府(本島/低溫)
    滿$699免運
  • 宅配到府(本島/常溫)
    滿$490免運
  • 超商取貨(常溫)
    滿$350免運
  • 超商取貨(低溫)
    滿$699免運
  • i郵箱(常溫)
    滿$290免運
商品詳情
作者:
ISBN:
9786264140010
出版社:
出版日期:
2024/12/02
  • 內文簡介

  • <內容簡介>

    打造自動化測試策略,完美交付高品質App!
    從基礎自動化測試技術開始,為進階測試技術奠定基礎!

    ♔ 測試最佳實踐:由淺入深討論測試,探討如何優雅實踐
    ♔ 學習測試概念:了解單元測試、Widget測試與整合測試
    ♔ 展示實戰案例:結合真實案例,展示不同面向的測試
    ♔ 延伸進階議題:使用TDD、IDE工具,提升產品開發效率

    本書內容改編自第15 屆iThome鐵人賽Mobile Development組的佳作系列文章《30天輕鬆學會Flutter 測試》。市面上有許多關於測試的書籍,對於使用Java或C#的開發者,通常能輕鬆找到與熟悉語言相關的測試實踐書籍,但是對於Flutter開發者來說,資源相對較少且分散。雖然Flutter本身支援單元測試、Widget測試和整合測試,但專門針對Flutter開發的完整測試指南並不多見。

    本書專注於Flutter App開發中常用的各類自動化測試技術,從單元測試入門,逐步延伸至Widget測試與整合測試,並討論一些測試中會遇到的困難與如何解決,以及好的測試實踐做法,為其他進階測試技術打下基礎。除此之外,本書也會簡要介紹一些進階主題,例如:廣為人知的TDD、如何在CI系統中自動測試、善用工具加速測試等議題。


    ★本書特色:

    ✪由單元測試入門,奠定基礎測試概念。
    ✪運用3A原則,奠定測試基礎架構。
    ✪善用測試替身,讓測試執行起來快速又穩定。
    ✪延伸進階測試議題,探討如何避免不穩定因素干擾。
    ✪探索Widget測試,從使用者視角進行更全面的測試。
    ✪探索如何讓測試執行快速、穩定且可重複。
    ✪不只程式碼需要重構,測試也同樣需要重構。
    ✪介紹如何渲染測試畫面,搜尋畫面元素,模擬使用者操作。
    ✪由淺入深來探索Widget測試的實際應用。
    ✪使用社交型Widget測試,避免測試與結構耦合。
    ✪不只畫面需要測試,頁面跳轉也需要被測試。
    ✪在真實裝置上執行整合測試,讓測試更加真實。
    ✪運用整合測試完整保護產品功能。
    ✪使用可控制的依賴,增加測試的穩定性。
    ✪帶領讀者快速認識常見測試議題:持續整合、設計測試案例、測試驅動開發。

    【目標讀者】
    ✪希望認識自動化測試的Flutter開發者。
    ✪想要透過測試維護產品品質的Flutter開發者。
    ✪幫助不同專業的開發者快速上手Flutter測試。
    ✪提供熟練Flutter的開發人員,探索適用於實際開發場景的進階測試技巧。


    ★專家推薦:

    「身為Flutter開發者的你,也想提升工作效率、降低錯誤,變成像Paul一樣不慌不忙的開發者嗎?你可以從第一章、第二章先了解在Flutter中測試基本的編寫方法、與框架的互動,以及撰寫時該注意的事項。接著,在三到六章中,學會何時與如何隔離依賴,藉以提升開發效率,不再受限於框架的規定,並藉由Widget的測試來讓你的測試更靠近用戶的使用場景,而避免過度依賴於底層邏輯,進而輔助架構的重構。最後,可以在七到八章中,了解到適度的整合測試、好的IDE工具、自動化的CI/CD流程,以及大家最愛講但很少做的TDD如何幫助你的開發效率更上層樓。Paul在本書中引用了許多前輩大師的經典作品,對我來說,就像是絕世武功的目錄,幫助我們想要探究更深入的內容與理論時,可以按圖索驥、順藤摸瓜地找到該找的內容,而節省在茫茫Google海摸索,與在ChatGPT每次不盡相同的答案中比較探索的時間。」
    ─ Kuma Syu,「Kuma老師的軟體工程教室」板主



    ★目錄:

    |CHAPTER 01| 遊戲開始
    1.1 從何開始
    1.2 數字推盤遊戲
    1.3 遊戲專案架構
    1.4 如何進行測試

    |CHAPTER 02| 基礎單元測試
    2.1 為什麼要寫測試
    2.2 Dart單元測試
    2.3 Puzzle測試:遊戲結束了嗎?
    2.4 Puzzle測試:移動方塊
    2.5 Puzzle測試:移動失敗
    2.6 本章小結

    |CHAPTER 03| 單元測試與測試替身
    3.1 使用案例測試:取得進行中遊戲
    3.2 使用案例測試:移動方塊
    3.3 使用案例測試:時間更新
    3.4 使用案例測試:建立方塊
    3.5 本章小結

    |CHAPTER 04| 其他單元測試
    4.1 Repository測試
    4.2 狀態容器測試(上)
    4.3 狀態容器測試(下)
    4.4 善用不同的Matcher
    4.5 難纏的Scheduler測試
    4.5 單元測試的特性
    4.6 本章小結

    |CHAPTER 05| Widget測試
    5.1 認識Widget測試
    5.2 認識Finder
    5.3 第一個Widget測試
    5.4 社交型Widget測試
    5.5 路由測試
    5.6 我該測試什麼?
    5.7 本章小結

    |CHAPTER 06| 深入Widget測試
    6.1 外部連結測試
    6.2 模擬時間流逝
    6.3 網路圖片測試
    6.4 Widget測試的畫面細節
    6.5 本章小結

    |CHAPTER 07| 整合測試
    7.1 認識整合測試
    7.2 與Firebase互動的整合測試
    7.3 測試夠全面了嗎?
    7.4 本章小結

    |CHAPTER 08| 其他測試議題
    8.1 持續整合
    8.2 設計也很重要
    8.3 必先利其器
    8.4 設計測試案例
    8.5 測試驅動開發
    8.6 本章小結


    <作者簡介>

    吳政樺(Paul)
    從事軟體開發大約10年,大半時間在開發Mobile App,其中開發Flutter約4年經驗,也不時地會參與Web與後端開發、甚至系統維運。最大的願望就是透過在日常開發中努力練習各種技術,讓技術不只在書中,而是能真實應用在現實開發中,用最小的力氣來創造產出最大的價值。除此之外,平時也喜歡透過技術寫作來分享工作中的心得與強化學習成果。連續二年以主題《關於Flutter開發的一些設計雜談》與《30天輕鬆學會Flutter測試》獲得iThome鐵人賽佳作。
購物須知
寄送時間
全台灣24h到貨,遲到提供100元現金積點。全年無休,週末假日照常出貨。例外說明
送貨方式
透過宅配送達。除網頁另有特別標示外,均為常溫配送。
消費者訂購之商品若經配送兩次無法送達,再經本公司以電話與Email均無法聯繫逾三天者,本公司將取消該筆訂單,並且全額退款。
送貨範圍
限台灣本島與離島地區註,部分離島地區包括連江馬祖、綠島、蘭嶼、琉球鄉…等貨件,將送至到岸船公司碼頭,需請收貨人自行至碼頭取貨。注意!收件地址請勿為郵政信箱。
註:離島地區不配送安裝商品、手機門號商品、超大材商品及四機商品。
售後服務
缺掉頁更換新品
執照證號&登錄字號
本公司食品業者登錄字號A-116606102-00000-0
關於退貨
  • PChome24h購物的消費者,都可以依照消費者保護法的規定,享有商品貨到次日起七天猶豫期的權益。(請留意猶豫期非試用期!!)您所退回的商品必須回復原狀(復原至商品到貨時的原始狀態並且保持完整包裝,包括商品本體、配件、贈品、保證書、原廠包裝及所有附隨文件或資料的完整性)。商品一經拆封/啟用保固,將使商品價值減損,您理解本公司將依法收取回復原狀必要之費用(若無法復原,費用將以商品價值損失計算),請先確認商品正確、外觀可接受再行使用,以免影響您的權利,祝您購物順心。
  • 如果您所購買商品是下列特殊商品,請留意下述退貨注意事項:
    1. 易於腐敗之商品、保存期限較短之商品、客製化商品、報紙、期刊、雜誌,依據消費者保護法之規定,於收受商品後將無法享有七天猶豫期之權益且不得辦理退貨。
    2. 影音商品、電腦軟體或個人衛生用品等一經拆封即無法回復原狀的商品,在您還不確定是否要辦理退貨以前,請勿拆封,一經拆封則依消費者保護法之規定,無法享有七天猶豫期之權益且不得辦理退貨。
    3. 非以有形媒介提供之數位內容或一經提供即為完成之線上服務,一經您事先同意後始提供者,依消費者保護法之規定,您將無法享有七天猶豫期之權益且不得辦理退貨。
    4. 組合商品於辦理退貨時,應將組合銷售商品一同退貨,若有遺失、毀損或缺件,PChome將可能要求您依照損毀程度負擔回復原狀必要之費用。
  • 若您需辦理退貨,請利用顧客中心「查訂單」或「退訂/退款查詢」的「退訂/退貨」功能填寫申請,我們將於接獲申請之次日起1個工作天內審核您的退貨要求,通過審核後將以E-mail回覆通知您,並將委託本公司指定之宅配公司,在5日內前往取件。請您備妥原商品及所有包裝及附件,以便於交付予本公司指定之宅配公司取回(宅配公司僅負責收件,退貨商品仍由特約廠商進行驗收),宅配公司取件後會提供簽收單據給您,請注意留存。
  • 退回商品時,請以本公司或特約廠商寄送商品給您時所使用的外包裝(紙箱或包裝袋),原封包裝後交付給前來取件的宅配公司;如果本公司或特約廠商寄送商品給您時所使用的外包裝(紙箱或包裝袋)已經遺失,請您在商品原廠外盒之外,再以其他適當的包裝盒進行包裝,切勿任由宅配單直接粘貼在商品原廠外盒上或書寫文字。
  • 若因您要求退貨或換貨、或因本公司無法接受您全部或部分之訂單、或因契約解除或失其效力,而需為您辦理退款事宜時,您同意本公司得代您處理發票或折讓單等相關法令所要求之單據,以利本公司為您辦理退款。
  • 本公司收到您所退回的商品及相關單據後,經確認無誤,次日起3~7工作日內退款,退款日當天會再發送E-mail通知函給您。