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