0人評分過此書

Android TDD測試驅動開發:從UnitTest、TDD到DevOps實踐

出版日期
2020/06/04
閱讀格式
PDF
書籍分類
學科分類
ISBN
9789864344901

本館館藏

借閱規則
當前可使用人數 30
借閱天數 14
線上看 0
借閱中 0

計次服務

借閱規則
借閱天數 14
選擇分享方式

推薦本館採購書籍

您可以將喜歡的電子書推薦給圖書館,圖書館會參考讀者意見進行採購

讀者資料
圖書館
* 姓名
* 身分
系所
* E-mail
※ 我們會寄送一份副本至您填寫的Email中
電話
※ 電話格式為 區碼+電話號碼(ex. 0229235151)/ 手機格式為 0900111111
* 請輸入驗證碼
♛全台第一本屬於自己的AndroidTDD!!!♛

APP程式總是改壞?------☑用單元測試驗證正確性,再也不怕改錯!
APP需求經常變更?------☑TDD:紅燈、綠燈、重構,三步驟法則!
APP人工作業耗時?------☑測試、部署自動化一次搞定!

內容簡介
本書內容改編自第11屆iT邦幫忙鐵人賽,MobileDevelopment組佳作網路系列文章──《AndroidTDD測試驅動開發》,也是第一本完整介紹從Android單元測試、TDD到DevOps全面自動化的台灣本土專書。
這是寫給Android開發者的測試及TDD入門書,為初學者量身設計。帶領你撰寫第一個單元測試,學會依賴注入及使用Stub與Mock的時機,最後實踐TDD測試驅動開發,讓你在寫測試之前先想清楚需求,在開發初期釐清如何設計。有了測試後還要能自動化,透過CI工具Jenkins進行自動測試與上架至GooglePlay,儘可能的將人工作業都自動化,以達到持續整合及持續部署。

精彩教學
☑你將學會效率及品質兼具的開發方式
♦Kotlin撰寫單元測試
♦用依賴注入、Mock框架來解Android的相依
♦以MVP、MVVM架構提升可測試性
♦在Android實踐TDD:紅燈、綠燈、重構

☑你將學會QA所擅長的自動測試工具
♦Espresso撰寫UI測試
♦Appium撰寫測試
♦Cucumber進行BDD

☑你將學會DevOps的關鍵自動化工具
♦AndroidApp的DevOps
♦JenkinsCI持續整合工具
♦自動建置、測試、部署至Googleplay
♦在雲端測試
  • 01 Kotlin單元測試
    • 1.1 建立IntelliJ專案
    • 1.2 第一個測試
      • 測試結果應能解釋失敗原因
      • 從失敗案例開始撰寫
      • 驗證測試物件的屬性
      • 測試涵蓋率
      • 測試命名應具備可讀性、可維護性
      • 小結
    • 1.3 JUnit測試框架
      • 重構:使用@Before來移除重覆程式碼
    • 1.4 依賴注入晴天9折,雨天沒折
      • 依賴注入Dependency injection(DI)
      • Injection的種類
    • 1.5 單元測試小結
      • JUnit
      • 依賴注入
      • 單元測試的FIRST原則
      • 其他注意事項
  • 02 假物件:Mock與Stub
    • 2.1 假物件:Mock與Stub
      • Stub
      • Mock
      • 開始寫測試
      • 小結
    • 2.2 Mock框架:Mockito
      • Mockito其他功能
    • 2.3 Mockito在Kotlin的問題
    • 2.4 Mock框架:Mockk
      • Mock模擬物件
      • Relaxed mock
      • Annotation
      • MockEnum
      • vararg
      • Capture
      • Validators
      • Matchers
      • 範例:雨傘晴天9折
      • 小結
  • 03 Android單元測試
    • 3.1 第一個Android單元測試
      • 開始第一個Android單元測試
      • 透過擷取方法讓程式可被測試
      • 開始寫測試
    • 3.2 Mock Android Framework
      • 測試Repository
    • 3.3 Instrumented Tests
      • Local Unit Test
      • Instrumented Test
    • 3.4 UI測試:使用Espresso
      • 環境設定
      • Espresso其他驗證的方式
    • 3.5 Robolectric
      • Robolectric環境設定
    • 3.6 使用Custom View Components提升可測試性
      • 製作Layout
      • 設定Custom attributes
      • 在Layout設定屬性
      • 建立類別NumberSelect
      • 使用Custom component
      • 開始寫測試
    • 3.7 Gradle測試環境設定
      • ProductFlavor
    • 3.8 Android測試小結
      • Espresso與Robolectric的差異
  • 04 使用MVP、MVVM架構提高可測試性
    • 4.1 MVP架構
      • Model
      • Contract(Interface)
      • Presenter
      • View(Activity)
    • 4.2 使用MVP架構進行單元測試
      • ProductPresenter的測試
      • Model(Repository)的測試
      • View的測試
      • MVP 小結
    • 4.3 MVVM架構
      • DataBinding
      • 雙向繫結
      • 事件綁定
    • 4.4 ViewModel與LiveData
      • 小結LiveData的優點
    • 4.5 MVVM單元測試
      • ViewModel的測試
    • 4.6 依賴注入框架Koin
      • MVP使用Koin
      • MVVM使用koin
    • 4.7 Retrofit的測試
      • ProductRepositoryTest的測試
      • ViewModel的測試
    • 4.8 RxJava的測試
      • Mock一個function回傳Observable
      • 驗證Observable
      • Schedulers
    • 4.9 小結
      • MVVM與MVP的選擇
  • 05 Android TDD測試驅動開發
    • 5.1 TDD測試驅動開發
      • TDD 範例二 晴天9折
    • 5.2 Android MVP架構下的TDD
      • 失敗的UI測試
      • Feature Dev
      • 撰寫Presenter的測試
      • 撰寫Repository的測試
      • 通過UI測試
    • 5.3 Android MVVM架構下的TDD
      • 失敗的UI測試
      • 撰寫Repository的測試
      • 撰寫ViewModel的測試
      • 通過UI測試
    • 5.4 TDD小結
  • 06 BDD行為驅動開發
    • 6.1 Cucumber
      • 環境設定
      • 目錄結構
      • Cucumber撰寫規格書
      • 定義步驟Step
      • 實作測試
      • 執行測試
      • 一次執行多筆測試案例
  • 07 自動化測試工具
    • 7.1 Appium自動化工具
      • 環境設定
      • 啟動Appium
      • 使用Appium查看Android元素
      • 開始查看UI結構
      • 開始撰寫自動測試
      • 在Hook設定手機資訊
      • runner執行測試
      • 測試多個案例
      • 設定Tag
      • 測試Report
  • 08 Android的DevOps
    • 8.1 什麼是DevOps
    • 8.2 Jenkins
      • 安裝Homebrew
      • 安裝Jenkins
      • 環境設定
    • 8.3 自動建置Android專案
      • Source Code Management
      • Builder Trigger( 建置觸發程序)
      • 建置專案
    • 8.4 透過Jenkins執行測試
      • Jenkins執行單元測試
      • Jenkins執行UI測試
      • 測試報告
    • 8.5 建置結果的即時通知
      • Email通知
      • Slack通知
    • 8.6 程式碼自動檢查
      • 在Android Stuido使用Lint檢查
      • 透過Jenkins自動檢查程式碼
    • 8.7 AppDistribution
      • Firebase AppDistribution
      • Firebase console手動上傳APK發佈給測試人員
      • 透過Jenkins發佈測試App
      • Authenticate with Firebase
      • 設定Jenkins
    • 8.8 Beta Testing
    • 8.9 自動部署App至Google Play
      • 自動簽署APK
      • Google Play Console產生服務帳號
      • Jenkins自動發佈
    • 8.10 階段發佈App
    • 8.11 閃退偵測
      • 通知Slack
    • 8.12 小結
  • 09 在雲端測試App
    • 9.1 Firebase Test Lab
      • 建立測試
      • Robo tests
    • 9.2 AWS(Amazon Web Services)測試平台
  • 10 使用TDD開發遊戲—採地雷
    • 10.1 擬定測試案例
    • 10.2 產生遊戲方格
    • 10.3 開始遊戲、點擊方格
    • 10.4 插旗
    • 10.5 判定遊戲結果

評分與評論

請登入後再留言與評分
幫助
您好,請問需要甚麼幫助呢?
使用指南

客服專線:0800-000-747

服務時間:週一至週五 AM 09:00~PM 06:00

loading