本書系統(tǒng)地總結(jié)了過去十年中軟件測試發(fā)生的變化,濃縮了作者許多寶貴的軟件測試經(jīng)驗。本書首先介紹對于軟件測試的不同看法,全程軟件測試的思想,軟件測試的基礎(chǔ)設(shè)施與TA框架、團(tuán)隊能力建設(shè);然后逐步深入到測試的計劃、設(shè)計、執(zhí)行、持續(xù)反饋和改進(jìn);接著,討論全程測試的思想,包括全程靜態(tài)測試、全程性能測試、全程安全性、全程建模、全程可視化。本書最后展望了軟件測試的未來。
本書適合軟件測試人員閱讀,也可作為相關(guān)專業(yè)人士的參考指南。
30位測試專家、產(chǎn)品經(jīng)理、研發(fā)負(fù)責(zé)人、大學(xué)教授聯(lián)袂推薦
知名學(xué)者十年苦心孤詣,經(jīng)典軟件測試著作全新改版
抽絲剝繭,解開軟件測試謎團(tuán),呈現(xiàn)全景式軟件測試體驗
朱少民國內(nèi)知名測試專家,曾任思科(中國)軟件有限公司QA高級總監(jiān)。 近三十年來,一直從事軟件測試、質(zhì)量管理等工作,先后獲得機(jī)械工業(yè)部、安徽省、青島市、合肥市等多項科技進(jìn)步獎,出版《輕輕松松自動化測試》《軟件測試——基于問題驅(qū)動模式》《軟件測試方法和技術(shù)( 第 3 版 )》《 軟 件 過 程 管 理 》等十余部著作。近五年來,他幫助國內(nèi)近百家企業(yè)提升其軟件開發(fā)能力水平,并經(jīng)常在國內(nèi)外學(xué)術(shù)會議 或技術(shù)大會上發(fā)表演講,是TiD大會、Top100 Summit測試議題方向的出品人。
第 1章 360度看軟件測試:一覽無余 1
1.1 軟件測試基本認(rèn)知——正反思維 2
1.2 從狹義測試到廣義測試 3
1.3 基于質(zhì)量的認(rèn)知 5
1.4 基于風(fēng)險的認(rèn)知 8
1.5 基于社會性的認(rèn)知 8
1.6 基于經(jīng)濟(jì)的認(rèn)知 9
1.7 基于標(biāo)準(zhǔn)的認(rèn)知 9
1.8 基于Test Oracle的認(rèn)知 11
1.9 基于批判性思維的認(rèn)知 14
1.10 基于傳統(tǒng)開發(fā)模式的認(rèn)知 16
1.11 基于敏捷開發(fā)模式的認(rèn)知 17
1.12 小結(jié) 20
第 2章 全程測試:閃光的思想 22
2.1 測試左移與右移 23
2.2 測試驅(qū)動開發(fā) 24
2.3 傳統(tǒng)研發(fā)模式的測試環(huán) 28
2.4 敏捷研發(fā)中的測試環(huán) 30
2.5 DevOps與測試 32
2.6 小結(jié) 34
第3章 準(zhǔn)備:基礎(chǔ)設(shè)施與TA框架 35
3.1 虛擬機(jī)與容器技術(shù) 35
3.2 基礎(chǔ)設(shè)施即代碼 38
3.3 持續(xù)集成環(huán)境 39
3.3.1 版本管理與構(gòu)建 41
3.3.2 CI管理工具的安裝 42
3.4 自動化測試框架 45
3.4.1 自動化測試框架的構(gòu)成與
分類 45
3.4.2 單元測試框架 48
3.4.3 UI TA框架 51
3.4.4 移動應(yīng)用TA框架 57
3.4.5 面向API的TA測試框架 60
3.4.6 驗收測試框架 64
3.5 DevOps完整工具鏈 68
3.6 小結(jié) 72
第4章 準(zhǔn)備:個體與團(tuán)隊 73
4.1 全棧,體現(xiàn)了技術(shù)深度 74
4.2 個人測試能力模型 77
4.3 軟件測試思維訓(xùn)練 81
4.3.1 軟件測試系統(tǒng)性思維 81
4.3.2 分析性測試思維 86
4.3.3 批判性測試思維 91
4.3.4 創(chuàng)造性、發(fā)散性測試思維 95
4.4 軟件研發(fā)團(tuán)隊測試組織與能力 98
4.5 軟件研發(fā)團(tuán)隊測試過程改進(jìn) 99
4.6 DevOps對軟件測試人員的影響
分析 102
4.7 小結(jié) 105
第5章 項目啟動:知己知彼、
百戰(zhàn)不殆 107
5.1 用戶與質(zhì)量要求 108
5.1.1 用戶是誰 108
5.1.2 對質(zhì)量有什么要求 109
5.1.3 參照哪些質(zhì)量標(biāo)準(zhǔn) 110
5.2 項目背景 112
5.3 產(chǎn)品元素 113
5.4 測試方法和技術(shù) 115
5.5 確定測試規(guī)范 116
5.6 小結(jié) 122
第6章 測試計劃:分析與策略 123
6.1 軟件測試的目標(biāo) 124
6.1.1 分析軟件產(chǎn)品的特定質(zhì)量
要求 125
6.1.2 測試目標(biāo) 127
6.2 項目的測試需求 129
6.2.1 測試需求分析的基本
方法 130
6.2.2 測試需求的分析技術(shù) 132
6.2.3 功能需求分析 133
6.2.4 非功能性需求分析 137
6.3 測試工作量估算 140
6.3.1 工作量的估計 141
6.3.2 工作分解結(jié)構(gòu)表方法 142
6.3.3 工作量估計的實例 145
6.4 測試資源需求 147
6.5 測試?yán)锍瘫瓦M(jìn)度安排 148
6.5.1 傳統(tǒng)測試 149
6.5.2 敏捷測試 149
6.6 測試風(fēng)險分析 150
6.7 如何制訂有效的測試策略 154
6.8 編寫測試計劃書 160
6.9 小結(jié) 161
第7章 測試設(shè)計:架構(gòu)與用例 163
7.1 測試框架的設(shè)計 163
7.1.1 從需求到測試用例 164
7.1.2 基于SUT結(jié)構(gòu)來組織
設(shè)計 166
7.2 測試設(shè)計要考慮的因素 170
7.3 如何運用測試設(shè)計方法 171
7.4 非功能性測試也存在設(shè)計 176
7.5 探索式測試之設(shè)計 177
7.6 測試用例規(guī)范性與評審 181
7.6.1 測試用例的構(gòu)成 181
7.6.2 測試用例書寫標(biāo)準(zhǔn) 182
7.6.3 測試用例評審要點 183
7.7 測試集的創(chuàng)建 186
7.8 小結(jié) 189
第8章 測試執(zhí)行:自動與探索 190
8.1 測試執(zhí)行概述 190
8.2 測試執(zhí)行的準(zhǔn)備 193
8.2.1 測試任務(wù)安排 193
8.2.2 測試環(huán)境的建立與配置 194
8.2.3 測試自動化運行平臺 195
8.3 如何有效地創(chuàng)建測試集 196
8.4 敏捷測試的執(zhí)行 198
8.4.1 策略與實踐 198
8.4.2 探索式測試的執(zhí)行 200
8.5 用戶體驗和易用性測試 202
8.5.1 易用性測試的標(biāo)準(zhǔn) 202
8.5.2 如何進(jìn)行A/B測試 206
8.6 回歸測試 209
8.7 軟件缺陷的報告 212
8.7.1 缺陷的屬性及其描述 212
8.7.2 如何有效報告缺陷 214
8.8 小結(jié) 215
第9章 永不收尾:持續(xù)反饋與改進(jìn) 216
9.1 驗收測試 216
9.2 部署驗證 220
9.2.1 客戶端軟件安裝測試 220
9.2.2 后臺系統(tǒng)的部署驗證 222
9.3 在線測試與日志分析 222
9.4 后繼版本的測試 226
9.5 測試過程評審 228
9.6 團(tuán)隊反思:持續(xù)改進(jìn) 229
9.7 小結(jié) 233
第 10章 全程靜態(tài)測試:
以不變應(yīng)萬變 234
10.1 常用的評審方法 234
10.2 需求評審優(yōu)秀實踐 237
10.2.1 如何操作需求評審 238
10.2.2 需求評審的標(biāo)準(zhǔn) 239
10.2.3 需求的可測試性 241
10.3 系統(tǒng)架構(gòu)的審查 242
10.3.1 系統(tǒng)架構(gòu)選型的確認(rèn) 243
10.3.2 軟件設(shè)計評審標(biāo)準(zhǔn) 244
10.3.3 設(shè)計的可測試性 248
10.3.4 系統(tǒng)組件設(shè)計的審查 250
10.4 產(chǎn)品設(shè)計規(guī)格說明書的復(fù)審 252
10.4.1 重視設(shè)計規(guī)格說明書的
審查 252
10.4.2 設(shè)計規(guī)格說明書的多層次
審查 253
10.4.3 界面設(shè)計的評審 254
10.5 系統(tǒng)部署設(shè)計的審查 255
10.5.1 系統(tǒng)部署邏輯設(shè)計的
審查 256
10.5.2 軟件部署物理設(shè)計的
審查 258
10.5.3 可用性設(shè)計的審查 259
10.5.4 可伸縮性設(shè)計的驗證 263
10.5.5 安全性設(shè)計的驗證 264
10.6 代碼評審與靜態(tài)分析 264
10.7 小結(jié) 267
第 11章 全程性能測試:持續(xù)優(yōu)化 268
11.1 常見的性能問題 268
11.2 如何確定系統(tǒng)的性能需求 269
11.2.1 明確性能測試的基本
目標(biāo) 270
11.2.2 關(guān)鍵性能指標(biāo)分析 271
11.2.3 關(guān)鍵業(yè)務(wù)分析 273
11.3 如何完成性能測試的設(shè)計 274
11.3.1 如何模擬用戶操作 274
11.3.2 如何有效地模擬加載
過程 275
11.3.3 如何實時準(zhǔn)確地控制
加載 278
11.4 如何執(zhí)行性能測試 279
11.5 如何分析和評估測試結(jié)果 286
11.6 小結(jié) 289
第 12章 全程安全性:持續(xù)加固 290
12.1 貫穿研發(fā)生命周期的安全性測試 290
12.2 濫用案例與安全性需求 293
12.2.1 軟件系統(tǒng)存在哪些安全
漏洞 293
12.2.2 國內(nèi)外標(biāo)準(zhǔn)中關(guān)于系統(tǒng)
安全性的要求 295
12.2.3 安全性測試需求分析 297
12.3 安全性風(fēng)險分析 298
12.4 安全性靜態(tài)測試 301
12.5 滲透測試 302
12.6 系統(tǒng)運維安全性監(jiān)控與審計 306
12.7 小結(jié) 307
第 13章 全程建模:徹底自動化 309
13.1 測試過程模型 310
13.2 基于模型的測試 312
13.3 基于業(yè)務(wù)建模的MBT方法 314
13.3.1 基于業(yè)務(wù)流程建模 314
13.3.2 基于事件流、應(yīng)用
場景建!316
13.4 基于UML的MBT方法 318
13.4.1 基于UML的MBT具體
實現(xiàn) 319
13.4.2 基于有限狀態(tài)機(jī)建!321
13.5 小結(jié) 323
第 14章 全程可視化:管理無死角 326
14.1 測試過程的度量體系 326
14.1.1 測試管理的全局性與
層次性 327
14.1.2 測試過程度量指標(biāo)體系 328
14.2 測試全過程的度量 332
14.2.1 測試分析與設(shè)計的度量 333
14.2.2 代碼評審與分析的度量 336
14.2.3 測試執(zhí)行的度量 338
14.2.4 與缺陷相關(guān)的度量 340
14.2.5 測試充分性和上線后的
度量 345
14.3 測試度量管理與工具 346
14.4 測試用例管理 348
14.5 測試管理工具的應(yīng)用 350
14.6 小結(jié) 353
第 15章 測試展望:未來更具挑戰(zhàn) 355
15.1 云計算與測試的基礎(chǔ)設(shè)施 355
15.2 微服務(wù)、契約測試與自動化
測試工具 357
15.2.1 契約測試工具 358
15.2.2 智能的單元測試工具 360
15.2.3 前端測試工具 362
15.3 如何測試人工智能軟件 363
15.4 如何用AI技術(shù)為測試服務(wù) 365
15.4.1 AI技術(shù)及其應(yīng)用 365
15.4.2 AI技術(shù)如何應(yīng)用于測試 367
15.4.3 AI測試工具 372
15.5 小結(jié) 375
附錄A 測試中的記憶符號:
測試思維寶庫 376
附錄B 測試計劃(GB8567—
2006) 382
B.1 引言 382
B.1.1 標(biāo)識 382
B.1.2 系統(tǒng)概述 382
B.1.3 文檔概述 382
B.1.4 與其他計劃的關(guān)系 382
B.1.5 基線 382
B.2 引用文件 382
B.3 軟件測試環(huán)境 383
B.4 計劃 384
B.4.1 總體設(shè)計 384
B.4.2 計劃執(zhí)行的測試 385
B.4.3 測試用例 386
B.5 測試進(jìn)度表 386
B.6 需求的可追蹤性 387
B.7 評價 387
B.7.1 評價準(zhǔn)則 387
B.7.2 數(shù)據(jù)處理 387
B.7.3 結(jié)論 387
B.8 注解 387
B.9 附錄 388
附錄C 代碼審查的示范性列表 389
E.1 格式 389
E.2 程序語言的使用 389
E.3 數(shù)據(jù)引用錯誤 389
E.4 數(shù)據(jù)聲明錯誤 390
E.5 計算錯誤 390
E.6 比較錯誤 391
E.7 入口和出口的連接 391
E.8 存儲器的使用 391
E.9 控制流程錯誤 391
E.10 子程序參數(shù)錯誤 392
E.11 輸入/輸出錯誤 392
E.12 邏輯和性能 392
E.13 維護(hù)性和可靠性 393
附錄D RF庫與工具 394
附錄E 軟件測試術(shù)語中英文對照 399
參考文獻(xiàn) 404