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