
0人評分過此書
♛全台第一本屬於自己的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
♦在雲端測試
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 判定遊戲結果
-
- 出版地 : 臺灣
- 語言 : 繁體中文
評分與評論
請登入後再留言與評分