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