本書(shū)是作者總結(jié)十幾年的軟件測(cè)試的實(shí)踐經(jīng)驗(yàn)寫成的,希望通過(guò)來(lái)自一線的實(shí)踐知識(shí)和技能,幫助讀者打開(kāi)一扇通往軟件測(cè)試之路的大門,尋找到解決測(cè)試問(wèn)題的技術(shù)、技巧和方法,體驗(yàn)到測(cè)試工作中“逮”Bug猶如“尋寶”的樂(lè)趣。全書(shū)分為“設(shè)計(jì)”“工具”和“管理”3篇,共14章,每章的內(nèi)容雖有一定的聯(lián)系,但也可各自獨(dú)立,讀者可以根據(jù)自己的需求,按照書(shū)的內(nèi)容順序閱讀,也可以根據(jù)自己的興趣選取相關(guān)章節(jié)閱讀。
本書(shū)可供軟件測(cè)試初學(xué)者、測(cè)試從業(yè)人員閱讀,也可作為大專院校計(jì)算機(jī)軟件專業(yè)學(xué)生的參考書(shū),還可作為培訓(xùn)學(xué)校的教材。
本書(shū)的特色在于將大量的技術(shù)賦予了實(shí)際的應(yīng)用場(chǎng)景,讓讀者能夠更加清晰地把握如何將測(cè)試技術(shù)應(yīng)用于具體實(shí)踐的同時(shí),為測(cè)試團(tuán)隊(duì)實(shí)施相關(guān)技術(shù)方案帶來(lái)信心。本書(shū)的技術(shù)內(nèi)容和流程方法傾注了作者多年的從業(yè)經(jīng)驗(yàn),讀者可以基于該書(shū)的內(nèi)容為模板,迅速展開(kāi)合理、規(guī)范和有序的測(cè)試工作。書(shū)中所講述的測(cè)試技術(shù)都是作者精心選取的主流技術(shù),體現(xiàn)了作者豐富的行業(yè)經(jīng)驗(yàn)和對(duì)新技術(shù)發(fā)展方向敏銳的洞察力,初級(jí)以及zi深的讀者均可受益于本書(shū)的精彩內(nèi)容。
·結(jié)合案例介紹基于傳統(tǒng)和經(jīng)驗(yàn)的軟件測(cè)試設(shè)計(jì)方法
·介紹性能測(cè)試、嵌入式測(cè)試、大數(shù)據(jù)測(cè)試、云計(jì)算測(cè)試技術(shù)
·介紹Junit4、LoadRunner、Bugzilla、UiAutomator、Selenium&Webdriver、Monkey和星云測(cè)試工具的使用
·講解軟件測(cè)試與質(zhì)量文檔、軟件測(cè)試管理的知識(shí),以及軟件測(cè)試工程師的職業(yè)規(guī)劃
顧翔,畢業(yè)于北京工業(yè)大學(xué),畢業(yè)后即從事軟件開(kāi)發(fā),2002年開(kāi)始從事軟件測(cè)試工作,曾經(jīng)在各大知名的互聯(lián)網(wǎng)公司、嵌入式軟件公司、通信公司和網(wǎng)絡(luò)管理軟件公司等擔(dān)任軟件測(cè)試工程師、軟件測(cè)試經(jīng)理等職務(wù),積累了豐富的軟件測(cè)試知識(shí)和實(shí)踐經(jīng)驗(yàn),F(xiàn)專職從事軟件開(kāi)發(fā)與測(cè)試、大數(shù)據(jù)及云計(jì)算相關(guān)的培訓(xùn)工作,是中關(guān)村智聯(lián)軟件服務(wù)業(yè)質(zhì)量創(chuàng)新聯(lián)盟成員,被北京軟件和信息服務(wù)業(yè)協(xié)會(huì)、北京課通天下、上海宇谷培訓(xùn)公司、上海知言網(wǎng)絡(luò)科技有限公司和中睿信息技術(shù)有限公司聘為高級(jí)zi深講師。2014年,接受51測(cè)試網(wǎng)的專訪:《51Testing專訪顧翔—解讀開(kāi)發(fā)轉(zhuǎn)測(cè)試的趣味人生》,并且在51testing發(fā)布了一系列個(gè)人專刊,如《測(cè)試專刊-顧翔與你一起漫談測(cè)試》和《測(cè)試?-白云群中話計(jì)算》等。
第1篇 軟件測(cè)試設(shè)計(jì)技術(shù)
第1章 軟件測(cè)試的基本知識(shí) 3
1.1 軟件測(cè)試的基本理論 4
1.1.1 軟件測(cè)試的定義 4
1.1.2 軟件測(cè)試術(shù)語(yǔ) 5
1.1.3 軟件工程模型 9
1.1.4 軟件測(cè)試模型 10
1.1.5 軟件測(cè)試方法 12
1.1.6 軟件測(cè)試步驟 13
1.1.7 軟件缺陷管理 14
1.1.8 測(cè)試用例 16
1.1.9 軟件測(cè)試類型 19
1.1.10 軟件測(cè)試曲線 28
1.1.11 軟件的殺蟲(chóng)劑現(xiàn)象 29
1.2 軟件測(cè)試的七項(xiàng)基本原則 29
1.2.1 原則1:軟件測(cè)試顯示
存在缺陷 30
1.2.2 原則2:窮盡軟件測(cè)試
是不可行的 30
1.2.3 原則3:軟件測(cè)試盡早
介入 30
1.2.4 原則4:缺陷集群性 30
1.2.5 原則5:殺蟲(chóng)劑悖論 31
1.2.6 原則6:軟件測(cè)試活動(dòng)
依賴于軟件測(cè)試背景 31
1.2.7 原則7:不存在缺陷
(即有用系統(tǒng))的謬論 31
1.3 驗(yàn)證與確認(rèn)的區(qū)別 31
1.4 本章總結(jié) 33
1.4.1 介紹內(nèi)容 33
1.4.2 案例 34
第2章 傳統(tǒng)的軟件測(cè)試的設(shè)計(jì)方法 36
2.1 運(yùn)用等價(jià)類/邊界值設(shè)計(jì)測(cè)
試用例 37
2.1.1 等價(jià)類 37
2.1.2 邊界值 38
2.1.3 基于輸出的等價(jià)類/
邊界值劃分 39
2.1.4 測(cè)試用例的設(shè)計(jì) 39
2.1.5 案例 41
2.2 運(yùn)用決策表設(shè)計(jì)測(cè)試用例 41
2.2.1 四邊形類型判斷系統(tǒng) 41
2.2.2 用戶登錄系統(tǒng) 43
2.2.3 飛機(jī)票定價(jià)系統(tǒng) 45
2.3 運(yùn)用狀態(tài)轉(zhuǎn)換圖設(shè)計(jì)測(cè)試用例 48
2.3.1 從狀態(tài)轉(zhuǎn)換圖到狀態(tài)
轉(zhuǎn)換樹(shù) 49
2.3.2 從狀態(tài)轉(zhuǎn)換圖到狀態(tài)
轉(zhuǎn)換表 51
2.3.3 業(yè)務(wù)流程狀態(tài)轉(zhuǎn)化法 52
2.4 運(yùn)用決策樹(shù)設(shè)計(jì)測(cè)試用例 53
2.4.1 文本編輯軟件 53
2.4.2 機(jī)票購(gòu)買系統(tǒng) 54
2.5 運(yùn)用正交法設(shè)計(jì)測(cè)試用例 55
2.5.1 正交法 56
2.5.2 瀏覽器組合軟件測(cè)試 56
2.6 軟件白盒測(cè)試 58
2.6.1 語(yǔ)句覆蓋測(cè)試 59
2.6.2 分支覆蓋測(cè)試 61
2.6.3 條件覆蓋測(cè)試 63
2.6.4 判定/條件覆蓋測(cè)試 65
2.6.5 MC/DC(修訂的條件/分支
軟件測(cè)試)覆蓋測(cè)試 66
2.6.6 路徑覆蓋測(cè)試 67
2.6.7 控制流測(cè)試 68
2.6.8 單元測(cè)試中的基于代碼的
功能測(cè)試 69
2.6.9 總結(jié) 70
2.7 測(cè)試用例設(shè)計(jì)的若干錯(cuò)誤觀點(diǎn) 70
2.7.1 能發(fā)現(xiàn)到目前為止沒(méi)有
發(fā)現(xiàn)的缺陷的用例是
好的用例 70
2.7.2 測(cè)試用例應(yīng)該詳細(xì)記錄
所有的詳細(xì)操作信息 70
2.7.3 測(cè)試用例設(shè)計(jì)出來(lái)后是
不用維護(hù)的 71
2.7.4 測(cè)試用例不應(yīng)該包含
實(shí)際的數(shù)據(jù) 71
2.8 本章總結(jié) 71
2.8.1 介紹內(nèi)容 71
2.8.2 案例 72
第3章 探索式軟件測(cè)試設(shè)計(jì)方法 74
3.1 探索式軟件測(cè)試中用到的
一些方法 75
3.1.1 表單輸入的測(cè)試探索 75
3.1.2 模糊查詢輸入框輸入
數(shù)據(jù)的測(cè)試探索 77
3.1.3 對(duì)文件的探索 78
3.1.4 登錄界面的測(cè)試探索 79
3.1.5 根據(jù)機(jī)器的聲音探索 79
3.1.6 通過(guò)查看Log日志
探索 80
3.1.7 在開(kāi)頭/結(jié)尾處進(jìn)行
探索 80
3.1.8 多次執(zhí)行同樣操作
進(jìn)行探索 80
3.1.9 通過(guò)復(fù)制/粘貼進(jìn)行
探索 81
3.1.10 通過(guò)測(cè)試結(jié)果進(jìn)行
探索 82
3.1.11 利用反向操作進(jìn)行
探索 83
3.1.12 利用名詞和動(dòng)詞進(jìn)行
探索 83
3.1.13 運(yùn)用提問(wèn)進(jìn)行探索 84
3.1.14 函數(shù)級(jí)別的黑盒測(cè)試
探索 85
3.1.15 運(yùn)用不懂技術(shù)和業(yè)務(wù)的
人員進(jìn)行探索 85
3.1.16 并發(fā)操作的測(cè)試探索 85
3.1.17 頁(yè)面刷新功能的測(cè)試
探索 87
3.1.18 不常用功能的測(cè)試
探索 87
3.1.19 URL欄的測(cè)試探索 87
3.1.20 突發(fā)事故的測(cè)試探索 88
3.1.21 界面鏈接的測(cè)試探索 88
3.1.22 需要多步操作來(lái)完成
一個(gè)事務(wù)的測(cè)試探索 89
3.1.23 老功能的測(cè)試探索 89
3.1.24 重災(zāi)區(qū)的測(cè)試探索 90
3.1.25 強(qiáng)迫癥測(cè)試法的測(cè)試
探索 90
3.1.26 升級(jí)的測(cè)試探索 91
3.1.27 總結(jié) 91
3.2 基于場(chǎng)景的測(cè)試 92
3.3 本章總結(jié) 94
3.3.1 介紹內(nèi)容 94
3.3.2 案例 95
第4章 基于風(fēng)險(xiǎn)的軟件測(cè)試 97
4.1 基于風(fēng)險(xiǎn)的軟件測(cè)試方法 98
4.2 軟件測(cè)試風(fēng)險(xiǎn)級(jí)別確認(rèn)與
調(diào)整 101
4.2.1 確定風(fēng)險(xiǎn)級(jí)別 101
4.2.2 調(diào)整風(fēng)險(xiǎn)級(jí)別 103
4.3 本章總結(jié) 105
4.3.1 介紹內(nèi)容 105
4.3.2 案例 105
第5章 專項(xiàng)軟件測(cè)試設(shè)計(jì) 106
5.1 性能測(cè)試 107
5.1.1 性能測(cè)試的定義 107
5.1.2 由于性能測(cè)試沒(méi)做
到位發(fā)生的缺陷 107
5.1.3 性能指標(biāo) 107
5.1.4 性能計(jì)數(shù)器 110
5.1.5 性能測(cè)試類型 118
5.1.6 性能測(cè)試可以發(fā)現(xiàn)的
問(wèn)題 119
5.1.7 性能調(diào)優(yōu) 119
5.1.8 性能測(cè)試角色 121
5.1.9 性能測(cè)試工具 122
5.1.10 性能測(cè)試流程 123
5.2 嵌入式軟件的基本測(cè)試方法 125
5.2.1 嵌入式軟件測(cè)試
流程 125
5.2.2 單元測(cè)試和集成
測(cè)試 127
5.2.3 插樁技術(shù) 127
5.2.4 嵌入式軟件測(cè)試
工具 127
5.3 本章總結(jié) 129
5.3.1 介紹內(nèi)容 129
5.3.2 案例 129
第6章 云計(jì)算、大數(shù)據(jù)的軟件測(cè)試
方法 131
6.1 如何對(duì)大數(shù)據(jù)軟件產(chǎn)品進(jìn)行
軟件測(cè)試 132
6.1.1 前言 132
6.1.2 新產(chǎn)品的軟件測(cè)試 132
6.1.3 老產(chǎn)品的升級(jí)測(cè)試 132
6.2 云計(jì)算軟件測(cè)試應(yīng)注意的
問(wèn)題 133
6.2.1 云計(jì)算中增加了供應(yīng)商
角色,給云計(jì)算測(cè)試帶
來(lái)復(fù)雜性 133
6.2.2 云計(jì)算中使用虛擬技術(shù),
給性能測(cè)試帶來(lái)的影響 134
6.2.3 增加按照使用量收費(fèi)的
軟件測(cè)試方法 134
6.2.4 安全性測(cè)試 135
6.2.5 定位問(wèn)題 135
6.2.6 法律法規(guī)問(wèn)題 136
6.2.7 遷移性軟件測(cè)試 136
6.2.8 功能測(cè)試 137
6.2.9 自動(dòng)化測(cè)試 138
6.3 云計(jì)算的優(yōu)缺點(diǎn) 138
6.3.1 優(yōu)點(diǎn) 138
6.3.2 缺點(diǎn) 140
6.4 文檔、環(huán)境、數(shù)據(jù)在云軟件
測(cè)試中的管理 141
6.4.1 文檔管理 141
6.4.2 云計(jì)算軟件測(cè)試環(huán)境
管理 142
6.4.3 云計(jì)算軟件測(cè)試數(shù)據(jù)
管理 143
6.4.4 變更管理與版本
控制 143
6.5 本章總結(jié) 144
6.5.1 介紹內(nèi)容 144
6.5.2 案例 144
參考文獻(xiàn) 145
第2篇 軟件測(cè)試工具
第7章 軟件測(cè)試工具總覽 149
7.1 軟件測(cè)試工具介紹 150
7.1.1 普通軟件測(cè)試工具推薦 150
7.1.2 APP軟件測(cè)試工具 150
7.1.3 軟件測(cè)試工具介紹 151
7.1.4 軟件測(cè)試工具的類型 153
7.2 關(guān)于自動(dòng)化測(cè)試工具 154
7.2.1 自動(dòng)化測(cè)試工具本身
也是軟件,也要重視
工具本身的質(zhì)量 154
7.2.2 自動(dòng)化測(cè)試工具要隨用
戶的需求變化而變化 155
7.2.3 不是所有的功能都可以
作自動(dòng)化測(cè)試 155
7.2.4 探索式軟件測(cè)試也可由
自動(dòng)化測(cè)試來(lái)實(shí)現(xiàn) 155
7.2.5 是否需要采用自動(dòng)化測(cè)試,
需要考慮測(cè)試的效率 155
7.2.6 自動(dòng)化測(cè)試可以覆蓋軟
件測(cè)試中的每個(gè)階段 156
7.2.7 軟件測(cè)試自動(dòng)化是敏捷
開(kāi)發(fā)強(qiáng)有力的工具 156
7.2.8 不要盲目選用現(xiàn)有的自
動(dòng)化測(cè)試工具 156
7.2.9 各種類型的自動(dòng)化測(cè)試
工具的比較 157
7.3 本章總結(jié) 158
第8章 單元測(cè)試工具 160
8.1 單元測(cè)試工具JUnit 4如何
在Eclipse中使用 161
8.1.1 JUnit 4環(huán)境的配置 161
8.1.2 JUnt4測(cè)試用例的運(yùn)行
和調(diào)試 164
8.1.3 對(duì)代碼的詳細(xì)介紹 166
8.1.4 對(duì)JUnit 4的高級(jí)操作 167
8.1.5 介紹一下斷言 171
8.1.6 案例分析 173
8.2 本章總結(jié) 175
8.2.1 介紹內(nèi)容 175
8.2.2 案例 175
第9章 性能測(cè)試工具 176
9.1 LoadRunner工具介紹 177
9.1.1 LoadRunner簡(jiǎn)介 177
9.1.2 LoadRunner性能測(cè)試
工具架構(gòu) 177
9.1.3 LoadRunner基本功能
使用技巧 178
9.1.4 用LoadRunner實(shí)現(xiàn)APP
壓力測(cè)試 207
9.1.5 案例 209
9.2 本章總結(jié) 214
9.2.1 介紹內(nèi)容 214
9.2.2 案例 214
第10章 缺陷管理工具 215
10.1 Bugzilla使用指南 216
10.1.1 什么是Bugzilla 216
10.1.2 為什么使用Bugzilla 216
10.1.3 新建一個(gè)Bugzilla
賬號(hào) 216
10.1.4 產(chǎn)品和結(jié)構(gòu) 217
10.1.5 Bug報(bào)告狀態(tài)分類和Bug
處理意見(jiàn) 217
10.1.6 指定處理人 218
10.1.7 超鏈接 218
10.1.8 概述 218
10.1.9 硬件平臺(tái)和操作系統(tǒng) 218
10.1.10 版本 218
10.1.11 Bug報(bào)告優(yōu)先級(jí) 218
10.1.12 Bug狀態(tài) 218
10.1.13 報(bào)告人 219
10.1.14 郵件抄送列表 219
10.1.15 從屬關(guān)系 219
10.1.16 附加描述 219
10.1.17 Bug查找 219
10.1.18 Bug列表 220
10.1.19 用戶屬性設(shè)置 220
10.2 案例 220
10.3 本章總結(jié) 225
10.3.1 介紹內(nèi)容 225
10.3.2 案例 226
第11章 APP軟件測(cè)試工具 227
11.1 UiAutomator工具介紹 228
11.1.1 使用UiAutomator
工具的優(yōu)點(diǎn) 229
11.1.2 下載和配置 229
11.1.3 開(kāi)發(fā)測(cè)試代碼 232
11.1.4 UiAutomator API
詳解 245
11.1.5 案例分析 258
11.2 Selenium和WebDriver工具
入門介紹 264
11.2.1 環(huán)境安裝 265
11.2.2 WebDriver對(duì)瀏覽器的
支持 268
11.2.3 操作指南 269
11.2.4 案例分析 272
11.3 Monkey工具介紹 293
11.3.1 Monkey的特征 293
11.3.2 基本語(yǔ)法 293
11.3.3 檢查安卓設(shè)備中有
什么包 293
11.3.4 Monkey的參數(shù)列表 294
11.3.5 利用Monkey進(jìn)行
穩(wěn)定性測(cè)試 297
11.3.6 Monkey腳本 298
11.4 精準(zhǔn)測(cè)試工具——星云
測(cè)試平臺(tái) 298
11.4.1 精準(zhǔn)測(cè)試?yán)砟?298
11.4.2 星云測(cè)試工具客戶端
下載與配置 299
11.4.3 項(xiàng)目編譯 300
11.4.4 執(zhí)行測(cè)試 305
11.5 本章總結(jié) 311
11.5.1 介紹內(nèi)容 311
11.5.2 案例 312
參考文獻(xiàn) 313
第3篇 軟件測(cè)試管理
第12章 軟件測(cè)試與質(zhì)量文檔 317
12.1 研發(fā)過(guò)程管理工作規(guī)范 318
12.2 飛天e-購(gòu)網(wǎng)軟件測(cè)試報(bào)告 360
12.3 BBS軟件測(cè)試報(bào)告 375
12.4 數(shù)字電視機(jī)頂盒中間件集成
測(cè)試計(jì)劃書(shū) 378
12.5 BBS主測(cè)試計(jì)劃 383
12.6 BBS級(jí)別測(cè)試計(jì)劃 392
12.7 軟件缺陷管理流程 398
12.8 本章總結(jié) 409
第13章 軟件測(cè)試管理 410
13.1 軟件測(cè)試團(tuán)隊(duì)組成結(jié)構(gòu)分析 411
13.1.1 方案一 411
13.1.2 方案二 412
13.2 軟件測(cè)試過(guò)程 413
13.3 軟件測(cè)試的獨(dú)立性 417
13.4 從微軟裁員首裁軟件測(cè)試
工程師談起 419
13.5 軟件測(cè)試的本質(zhì) 421
純軟件
測(cè)試方法
介紹 421
13.5.2 純軟件測(cè)試方法在
Sprint中的運(yùn)用 422
13.5.3 純軟件測(cè)試方法與軟件質(zhì)量的關(guān)系 423
13.6 對(duì)敏捷開(kāi)發(fā)的一些思考 424
13.6.1 簡(jiǎn)介 424
13.6.2 敏捷開(kāi)發(fā)的優(yōu)點(diǎn) 424
13.6.3 敏捷開(kāi)發(fā)的缺點(diǎn) 426
13.6.4 總結(jié) 427
13.7 精益創(chuàng)業(yè)與探索式軟件
測(cè)試 427
13.8 本章總結(jié) 428
13.8.1 介紹內(nèi)容 428
13.8.2 案例 429
第14章 軟件測(cè)試工程師的職業(yè)
素質(zhì) 430
14.1 如何成為一名優(yōu)秀的軟件
測(cè)試工程師 431
14.1.1 起碼有3年以上的
軟件開(kāi)發(fā)經(jīng)驗(yàn) 431
14.1.2 具有逆向思維的
能力 432
14.1.3 具有敏銳的洞察力和
鍥而不舍的精神 432
14.1.4 具有發(fā)散性思維的
能力 432
14.1.5 擅于同軟件開(kāi)發(fā)工程
師溝通 432
14.1.6 擅于同領(lǐng)導(dǎo)溝通 433
14.1.7 掌握一些自動(dòng)化軟件
測(cè)試工具和腳本 433
14.1.8 擅于學(xué)習(xí) 434
14.1.9 提高自己的表達(dá)
能力 434
14.1.10 了解業(yè)務(wù)知識(shí) 434
14.1.11 培養(yǎng)對(duì)軟件測(cè)試的
興趣 434
14.1.12 追求完美 434
14.2 如何成為一名優(yōu)秀的軟件
質(zhì)量保證工程師 435
14.2.1 具有軟件開(kāi)發(fā),軟件
測(cè)試和實(shí)施經(jīng)驗(yàn) 435
14.2.2 具有一定的統(tǒng)計(jì)學(xué)
基礎(chǔ) 435
14.2.3 強(qiáng)大的溝通能力 436
14.2.4 專業(yè)的管理和質(zhì)量
知識(shí) 436
14.3 軟件測(cè)試好書(shū)推薦 436
14.3.1 《軟件測(cè)試的藝術(shù)》 436
14.3.2 《贏在測(cè)試2-中國(guó)軟件
測(cè)試專家訪談錄》 437
14.3.3 《探索式軟件測(cè)試》 437
14.3.4 《探索式測(cè)試實(shí)踐
之路》 438
14.3.5 《探索吧!深入理解探
索式軟件測(cè)試》 438
14.3.6 《云服務(wù)測(cè)試如何
高效地進(jìn)行云計(jì)算
測(cè)試》 438
14.3.7 《Google軟件測(cè)試
之道》 438
14.3.8 《軟件測(cè)試經(jīng)驗(yàn)與
教訓(xùn)》 438
14.3.9 《學(xué)習(xí)要像加勒比
海盜》 439
14.4 云計(jì)算中發(fā)生的事故 439
14.4.1 Google應(yīng)用引擎平臺(tái)
宕機(jī) 439
14.4.2 Google Gmail和日歷
服務(wù)中斷 439
14.4.3 Google Voice服務(wù)
宕機(jī) 439
14.4.4 亞馬遜S3服務(wù)
故障 440
14.4.5 亞馬遜EC2云計(jì)算服務(wù)
遭到僵尸網(wǎng)絡(luò)攻擊 440
14.4.6 微軟爆發(fā)BPOS服務(wù)
中斷事件 440
14.4.7 Amazon主頁(yè)故障 440
14.5 ISTQB和CSTQB 441
14.6 本章總結(jié) 442
參考文獻(xiàn) 443