本書以Android應用軟件測試的組織與實現(xiàn)過程為主線,先介紹了Android平臺開發(fā)與測試環(huán)境的搭建,從黑盒手工測試開始,初步認識Android移動平臺軟件測試,再結合測試階段的開展,引入常用的自動化測試工具與框架,包括黑盒自動化測試工具Monkey與MonkeyRunner、白盒單元測試框架Instrumentation、集成測試框架Robotium、UI自動化測試框架uiautomator,以及幾種主流的性能監(jiān)測與測試工具等。此外,本書還介紹了兼容性測試框架Android CTS及安全檢測工具的使用,最后通過對一個綜合項目的講解,描述了如何組織與實現(xiàn)Android項目測試的思路。
本書適合作為高等院校計算機相關專業(yè)的教材使用,也可供移動應用開發(fā)愛好者自學。
《移動軟件測試項目教程(Android版)》實操型圖書,培養(yǎng)讀者動手能力,簡單易學,充分考慮移動軟件測試的學習特點,淡化枯燥的理論講解,通過項目/案例驅動,讓讀者在實踐中掌握*實用的技能和知識,同時介紹主流的測試技術和測試工具,院校和自學者均可使用。
鄭婷婷,廣東理工職業(yè)學院/廣東開放大學講師,軟件技術專業(yè)骨干教師,ISTQB認證測試工程師,曾參與多個軟件項目的開發(fā)及測試,主要研究方向為軟件測試、軟件平臺技術等,曾主講軟件技術、軟件測試技術專業(yè)多門主干課程,包括軟件測試基礎、應用系統(tǒng)測試、網頁制作與網站開發(fā)等。目前主要參與移動平臺的安全與測試相關課題的研究。
項目一 初識Android 1
項目導引 1
學習目標 1
任務一 環(huán)境配置 1
任務分析 1
知識準備 2
任務實施 2
一、真機運行環(huán)境配置 2
二、虛擬機環(huán)境安裝與配置 2
相關鏈接及參考 8
任務二 Android程序結構分析 8
任務分析 8
知識準備 8
一、Android的平臺架構 8
二、Android的優(yōu)勢 10
任務實施 10
一、開發(fā)最簡單的Android應用 10
二、Android應用程序結構分析 16 任務拓展 19
一、引用字符串資源 20
二、修改Android程序標題 22
任務三 Android程序發(fā)布與簽名 23
任務分析 23
知識準備 23
任務實施 23
一、Android應用程序的發(fā)布和簽名
(release模式) 23
二、debug簽名設置 26
任務拓展 27
Android基本組件介紹 27
實訓項目 28
一、實訓目的與要求 28
二、實訓內容 28
本章小結 28
習題 29
項目二 Android應用基本功能測試 30
項目導引 30
學習目標 30
任務一 使用DDMS測試收發(fā)
短信功能 30
任務分析 30
知識準備 31
一、軟件測試基本概念 31
二、認識DDMS 34
任務實施 41
一、進入短信界面及DDMS界面 41
二、收發(fā)短信測試 41
三、打斷事件測試 42
任務擴展 42
測試類型 42
二、實訓內容 51
本章小結 52 相關鏈接及參考 43
任務二 使用adb命令進行安裝
及卸載測試 43
任務分析 43
知識準備 43
任務實施 48
一、apk上傳及安裝 48
二、測試應用的基本功能 48
三、卸載應用 49
任務拓展 49
一、設備的root權限 49
二、shell文件管理命令 50
實訓項目 51
一、實訓目的與要求 51
習題 52
項目三 Android應用自動化黑盒測試 53
項目導引 53
學習目標 53
任務一 使用Monkey工具 53
任務分析 53
知識準備 54
一、啟動Monkey 54
二、Monkey命令參數(shù)使用 59
任務實施 61
一、獲得計算器程序的包名 61
二、使用隨機命令序列測試計算器程序 61
三、使用指定比例的命令序列測試
計算器程序 62
四、使用指定命令序列測試計算器程序 62
任務拓展 63
一、Monkey測試腳本的編寫 63
二、常用腳本命令參考 64
相關鏈接及參考 65
任務二 使用MonkeyRunner工具 65 任務分析 65
知識準備 65
一、MonkeyRunner簡介 65
二、MonkeyRunner腳本錄制與回放 66
三、手動編寫Python測試腳本 68
四、shell命令調試 76
任務實施 77
一、搭建環(huán)境及準備 77
二、腳本編寫 78
任務拓展 79
Python語法初步 79
相關鏈接及參考 81
實訓項目 81
一、實訓目的與要求 81
二、實訓內容 82
三、總結與反思 82
本章小結 82
習題 82
項目四 Android白盒單元測試 84
項目導引 84
學習目標 84
任務一 基于JUnit框架的覆蓋率測試 84
任務分析 84
知識準備 84
一、JUnit3框架回顧 85
二、淺談JUnit4框架 85
三、代碼覆蓋率 87
任務實施 89
一、使用JUnit3編寫測試代碼 89
二、使用JUnit4編寫測試代碼 92
二、安裝Emma的Eclipse插件 96
三、參數(shù)化測試 101
相關鏈接及參考 104
一、建立單元測試項目 118
二、編寫構造函數(shù) 121
三、編寫setUp()函數(shù) 123
四、編寫測試函數(shù) 123
五、運行測試 124
任務拓展 125
一、Activity的生命周期 125
二、基于Junit的Android測試框架 126 任務二 初探基于JUnit的Android
測試框架 104
任務分析 104
任務實施 104
一、導入被測項目SimpleCal 104
二、導入測試工程項目 106
三、MathValidation.java測試代碼分析 110
四、MathValidation.java其他代碼分析 113
五、分辨率測試 114
任務三 Android單元測試
框架——Instrumentation 116
任務分析 116
知識準備 116
任務實施 117
相關鏈接及參考 128
實訓項目 128
一、實訓目的與要求 128
二、實訓內容 128
三、實訓要點 128
四、總結與反思 129
本章小結 129
習題 129
項目五 基于Robotium的集成測試 132
項目導引 132
學習目標 132
任務一 初識Robotium 132
任務分析 132
知識準備 132
任務實施 133
一、導入項目NotePad及其測試 133
二、運行NotePadTest 136
三、NotePadTest代碼分析 137
四、測試用例開發(fā) 140
任務二 使用Robotium測試
Android項目 142
任務分析 142
任務實施 142
一、建立測試項目 142
二、編寫構造函數(shù) 145
三、編寫setUp()函數(shù)
和tearDown()函數(shù) 147 四、編寫測試代碼 147
五、運行測試 148
任務三 使用Robotium測試apk文件 148
任務分析 148
任務實施 148
一、對apk文件重簽名 148
二、建立并配置測試項目 151
三、搭建測試環(huán)境 154
四、編寫測試并執(zhí)行 156
實訓項目 156
一、實訓目的與要求 156
二、實訓內容 156
三、實訓要點 157
四、總結與反思 158
本章小結 158
習題 158
項目六 基于uiautomator的界面測試 160
項目導引 160
學習目標 160
任務一 環(huán)境配置與項目創(chuàng)建 160
任務分析 160
知識準備 161
任務實施 162
一、新建Java項目并導入指定庫 162
二、構建項目并運行 165
三、測試實現(xiàn)過程 173
任務實施 174
任務三 使用uiautomator測試
Android應用 175
任務分析 175
任務實施 175
一、新建Java項目并導入指定庫 175
二、初始化測試 176
三、分析并操縱UI控件 177 任務拓展 169
uiautomatorviewer的使用 169
相關鏈接及參考 170
任務二 示例程序分析 170
任務分析 170
知識準備 170
一、核心類 170
二、設備控制與監(jiān)控 172
四、構建項目并運行 184
相關鏈接與參考 185
實訓項目 185
一、實訓目的與要求 185
二、實訓內容 185
三、實訓要點 186
四、總結與反思 187
本章小結 187
習題 187
項目七 Android應用性能監(jiān)控與測試 189
項目導引 189
學習目標 189
任務一 Android應用內存分析 189
任務分析 189
知識準備 190
任務實施 191
一、導入項目運行并觀察logcat 191
二、在DDMS下查看內存使用 194
三、使用MAT工具分析內存 195
任務拓展 200
使用Traceview分析進程執(zhí)行情況 200
任務二 使用開源工具Emmagee 201
任務分析 201 知識準備 201
任務實施 202
一、安裝Emmagee并啟動監(jiān)控 202
二、導出并分析數(shù)據(jù) 204
任務拓展 205
使用騰訊開源工具APT監(jiān)控 205
實訓項目 206
一、實訓目的與要求 206
二、實訓內容 206
三、實訓要點 206
四、總結與反思 207
本章小結 207
習題 207
項目八 其他測試 208
項目導引 208
學習目標 208
任務一 Windows下執(zhí)行Android CTS
兼容性測試 208
任務分析 208
知識準備 209
任務實施 209
一、環(huán)境配置 209
二、執(zhí)行測試 212
三、查看測試結果 214
四、查看測試計劃 215
任務拓展 216
CTS測試計劃Signature 216
相關鏈接及參考 231
實訓項目 231
一、實訓目的與要求 231
二、實訓內容 231 相關鏈接及參考 217
任務二 使用drozer進行 Android
應用的安全測試 218
任務分析 218
知識準備 218
一、滲透測試 218
二、Android安全機制 218
三、Android的安全問題 220
任務實施 222
一、環(huán)境配置 222
二、了解被測應用 226
三、啟動測試 228
任務拓展 230
三、總結與反思 232
本章小結 232
習題 232
項目九 綜合測試項目分析 233
項目導引 233
學習目標 233
任務一 單元測試 233
任務分析 233
任務實施 234
任務二 冒煙測試 234
任務分析 234
任務實施 234
一、安裝與卸載測試 234
二、基本功能檢查 235
任務三 功能與性能檢查 236
任務分析 236 任務實施 237
一、功能測試 237
二、可靠性測試 237
三、性能監(jiān)測 237
任務四 UI測試 238
任務分析 238
任務實施 239
任務五 其他測試 244
任務分析 244
本章小結 244
習題 244
附錄1 常用KeyCode編碼 245
附錄2 adb shell常用命令參考 247
附錄3 Robotium常用API 250
附錄4 uiautomator常用API 256
參考文獻 264