軟件測試技術(shù)與應(yīng)用
簡介
本書特色
前言
章節(jié)列表
精彩閱讀
下載資源
相關(guān)圖書
本書主要介紹軟件測試技術(shù),分四大部分:理論篇、設(shè)計篇、技術(shù)篇和擴(kuò)展篇。理論篇主要介紹軟件測試基礎(chǔ)知識,目的是讓讀者對軟件測試有一個初步的了解,了解軟件測試的重要性;設(shè)計篇主要介紹如何編寫測試計劃、測試方案、設(shè)計黑盒和白盒測試用例,重點闡述在編寫測試計劃和測試方案時需要注意的問題,以及如何設(shè)計測試用例;技術(shù)篇主要介紹系統(tǒng)測試過程中其他相關(guān)測試技術(shù),包括Web測試技術(shù)、本地化與國際化測試、兼容性測試和易用性測試;擴(kuò)展篇主要介紹當(dāng)前流行的性能測試和自動化測試,通過實例介紹測試的過程。
本書由淺入深、由理論到實踐,詳細(xì)描述測試過程中每個階段需要注意的地方,如缺陷分析方法,這是改進(jìn)測試和質(zhì)量控制的重要手段。希望幫助初學(xué)者了解軟件測試的過程和相應(yīng)技術(shù),對軟件測試有一個整體的了解;同時也可以幫助中高級測試工程師進(jìn)一步提高軟件測試的技能。
本書適合于軟件測試的初學(xué)者,同時也適合于一些中高級測試工程師。
◆知識全面、內(nèi)容實用
分為理論篇、設(shè)計篇、技術(shù)篇和擴(kuò)展篇四部分,涵蓋白盒測試到黑盒測試、性能測試到Web測試等多個測試領(lǐng)域,注重內(nèi)容的先進(jìn)性、系統(tǒng)性和實用性,力求反映軟件測試發(fā)展的最新成果。
◆理論與實踐相結(jié)合
注重軟件測試技術(shù)的實際應(yīng)用,將抽象理論融入實際操作,結(jié)合圖表和經(jīng)典案例對測試細(xì)節(jié)進(jìn)行深入淺出的分析,打破“黑盒測試沒有技術(shù)含量”的思想,使讀者進(jìn)一步掌握黑盒測試技巧。
前 言
軟件測試——目前國內(nèi)最炙手可熱的IT職位,從相關(guān)的招聘網(wǎng)站中不難發(fā)現(xiàn),公司對軟件測試工程師的需求不斷增長。近年來國內(nèi)軟件測試也在迅速發(fā)展,在一些軟件發(fā)展比較快的城市,很多公司都有專門的測試團(tuán)隊。不過現(xiàn)在大多數(shù)企業(yè)主要是進(jìn)行黑盒測試。
在與一些朋友和公司交流時,發(fā)現(xiàn)兩種現(xiàn)象:一是現(xiàn)在很多公司在實施黑盒測試時遇到一定的瓶頸,公司有一套完整的流程,測試過程看似沒有問題,但測試質(zhì)量卻沒有得到進(jìn)一步的提高;二是一些朋友做了幾年黑盒測試后,能順利完成測試計劃、測試方案和測試用例,感覺黑盒測試沒什么需要學(xué)習(xí)的,但同時又明顯感到自己一些東西沒有學(xué)透,技能也遇到瓶頸。
不管是從公司角度還是個人角度來看,以上兩種情況是普遍存在的。其根本原因是未認(rèn)真分析軟件測試的準(zhǔn)出條件,在軟件測試過程中并不是按要求完成測試計劃、測試方案和測試用例,最后執(zhí)行沒有嚴(yán)重問題就認(rèn)為軟件是可以發(fā)布的。如關(guān)于缺陷,大多數(shù)朋友都知道缺陷的處理過程,如何描述缺陷以及在評審過程中關(guān)注未解決的嚴(yán)重問題,但是如果這樣測試完成后,并且評審過程嚴(yán)重問題都已解決,就說明軟件測試可以發(fā)布了嗎?其實這個時候大多數(shù)軟件測試工程師可能自己都不確定,自己還在問自己軟件真的可以發(fā)布了嗎?會不會有嚴(yán)重問題遺漏了沒有測試到啊?
而這些正是本書需要幫助大家解決的問題,本書由淺入深、由理論到實踐,詳細(xì)介紹軟件測試過程中的每個步驟,并且重點介紹測試過程中容易忽視的細(xì)節(jié),擴(kuò)展缺陷分析和其他測試(如文檔測試、可安裝性測試等)的重要性。
本書分為理論篇、設(shè)計篇、技術(shù)篇和擴(kuò)展篇。
理論篇的主要內(nèi)容有:軟件測試的發(fā)展、缺陷的引入、修改缺陷的成本、測試成本以及測試工程師的職責(zé)和心態(tài),系統(tǒng)生命周期中的測試策略,以及測試的幾種模型,軟件測試組織的發(fā)展,通過介紹軟件測試組織的發(fā)展來找到自己在軟件測試行業(yè)中的職業(yè)發(fā)展。
設(shè)計篇的主要內(nèi)容有:如何編寫測試計劃和測試策略,結(jié)合實際,詳細(xì)介紹測試用例的設(shè)計方法,從功能測試和單元測試兩方面介紹測試用例的設(shè)計方法,測試用例設(shè)計是測試過程中的重要步驟,直接影響著軟件測試的質(zhì)量,這是很核心的一部分內(nèi)容,而測試用例不僅僅需要設(shè)計還需要管理和維護(hù)。同時,還介紹測試過程中如何對發(fā)現(xiàn)的缺陷進(jìn)行管理和分析,通過分析缺陷來改善測試流程。
技術(shù)篇的主要內(nèi)容有:Web測試、本地化與國際化測試、兼容性測試和易用性測試,在Web測試中詳細(xì)介紹關(guān)于Web 安全性的測試。
擴(kuò)展篇的主要內(nèi)容有:介紹常見的功能測試外的其他測試技術(shù),主要介紹性能測試和自動化測試,并且通過案例詳細(xì)介紹測試過程;接著介紹驗收測試和文檔測試;最后介紹如何制定自己的職業(yè)規(guī)劃。
由于筆者水平有限,出現(xiàn)錯誤在所難免,歡迎廣大讀者批評指正,同時感謝曾經(jīng)幫助、支持和鼓勵過我的朋友。如有任何問題,可以發(fā)郵件到arivnhuang@163.com,作者將盡力答疑解惑。
作者
2012年3月
第1章 軟件測試概述 2
1.1 軟件測試發(fā)展歷史 2
1.2 歷史教訓(xùn) 5
1.2.1 1962年,“水手1號”火箭爆炸 5
1.2.2 1978年,哈特福德體育場倒塌 5
1.2.3 “5•19”南方六省斷網(wǎng)事件 5
1.2.4 2003年,美加停電事故 6
1.3 缺陷的引入 6
1.4 修復(fù)缺陷的成本 7
1.5 測試付出的成本 9
1.6 小結(jié) 10
第2章 系統(tǒng)生命周期中的測試策略 11
2.1 測試在質(zhì)量體系中的位置 11
2.1.1 能力成熟度模型集成 11
2.1.2 基于過程中的質(zhì)量 13
2.2 軟件測試模型 15
2.2.1 瀑布模型 15
2.2.2 V模型 17
2.2.3 W模型 18
2.2.4 H模型 19
2.2.5 X模型 19
2.3 系統(tǒng)生命周期中的測試策略 20
2.3.1 開發(fā)階段的測試策略 21
2.3.2 產(chǎn)品階段的測試策略 22
2.4 小結(jié) 23
第3章 軟件測試組織 24
3.1 測試部在企業(yè)的位置 24
3.2 項目團(tuán)隊模型 25
3.3 測試組織的演變 26
3.4 測試工程師晉升通道 27
3.5 測試工程師職業(yè)發(fā)展 28
3.6 小結(jié) 29
第二部分 設(shè)計篇
第4章 測試計劃設(shè)計 31
4.1 制定測試計劃的目的 31
4.2 制定測試計劃 31
4.2.1 測試計劃標(biāo)識符 31
4.2.2 項目介紹 32
4.2.3 測試項 32
4.2.4 需要測試的特性 32
4.2.5 不被測試的特性 32
4.2.6 測試方法 33
4.2.7 測試項通過/失敗準(zhǔn)則 33
4.2.8 測試交付物 33
4.2.9 測試任務(wù) 34
4.2.10 測試環(huán)境 34
4.2.11 職責(zé)和人力資源 34
4.2.12 培訓(xùn)需求 34
4.2.13 計劃時間表 34
4.2.14 風(fēng)險及應(yīng)急辦法 34
4.3 小結(jié) 35
第5章 測試方案設(shè)計 36
5.1 制定測試方案的目的 36
5.2 測試方案設(shè)計 36
5.2.1 概述 36
5.2.2 被測試對象 36
5.2.3 應(yīng)測試的特性 37
5.2.4 不被測試的特性 37
5.2.5 測試環(huán)境 37
5.2.6 關(guān)鍵技術(shù)分析 37
5.2.7 系統(tǒng)測試策略 38
5.2.8 Alpha測試策略 38
5.2.9 Beta測試策略 38
5.2.10 Build版本劃分與測試策略 38
5.2.11 測試工具分析 39
5.3 小結(jié) 39
第6章 測試用例設(shè)計及管理 40
6.1 測試用例概述 40
6.1.1 為什么需要寫測試用例 40
6.1.2 測試用例項 40
6.2 黑盒測試用例設(shè)計方法 43
6.2.1 等價類測試用例設(shè)計方法 43
6.2.2 邊界值測試用例設(shè)計方法 48
6.2.3 場景法測試用例設(shè)計方法 51
6.2.4 因果圖測試用例設(shè)計方法 57
6.2.5 判定表測試用例設(shè)計方法 60
6.2.6 正交試驗測試用例設(shè)計方法 63
6.2.7 狀態(tài)遷移圖測試用例設(shè)計方法 67
6.2.8 輸入域測試用例設(shè)計方法 69
6.2.9 輸出域測試用例設(shè)計方法 70
6.2.10 異常分析測試用例設(shè)計方法 70
6.2.11 錯誤猜測測試用例設(shè)計方法 70
6.3 測試用例評審 70
6.4 測試用例變更 73
6.5 小結(jié) 74
第7章 缺陷管理與分析 75
7.1 缺陷報告的發(fā)展 75
7.1.1 Bug的由來 75
7.1.2 一份簡單的缺陷報告 75
7.1.3 一份好的缺陷報告 76
7.2 相關(guān)術(shù)語 77
7.3 缺陷管理 78
7.3.1 缺陷的嚴(yán)重等級 78
7.3.2 缺陷的管理流程 79
7.3.3 缺陷的生命周期 80
7.3.4 缺陷的狀態(tài)轉(zhuǎn)變 81
7.3.5 缺陷的收斂性 81
7.4 缺陷分析方法 84
7.4.1 根本原因缺陷分析法 84
7.4.2 四象限缺陷分析法 87
7.4.3 ODC缺陷分析法 89
7.4.4 Rayleigh缺陷分析法 93
7.4.5 Gompertz缺陷分析法 96
7.5 常用的缺陷管理系統(tǒng) 97
7.5.1 開源缺陷管理系統(tǒng) 97
7.5.2 商業(yè)化缺陷管理系統(tǒng) 99
7.6 小結(jié) 100
第8章 單元測試 101
8.1 單元測試介紹 101
8.1.1 單元測試定義 101
8.1.2 單元測試的重點 101
8.1.3 單元測試環(huán)境 104
8.1.4 單元測試策略 107
8.2 靜態(tài)測試技術(shù) 109
8.2.1 代碼走查 109
8.2.2 控制流分析 109
8.2.3 數(shù)據(jù)流分析 111
8.2.4 信息流分析 112
8.3 動態(tài)測試技術(shù) 113
8.3.1 語句覆蓋 113
8.3.2 判定覆蓋 114
8.3.3 條件覆蓋 114
8.3.4 判定/條件覆蓋 115
8.3.5 路徑覆蓋 116
8.3.6 基本路徑覆蓋 117
8.4 CppUnit自動化單元測試框架 121
8.5 小結(jié) 128
第三部分 技術(shù)篇
第9章 系統(tǒng)測試 130
9.1 系統(tǒng)測試概述 130
9.2 功能測試 131
9.3 易用性測試 132
9.4 可安裝性測試 133
9.4.1 安裝過程測試 133
9.4.2 不同環(huán)境下的安裝 134
9.4.3 系統(tǒng)升級測試 134
9.4.4 安裝的文件存放 135
9.4.5 卸載測試 135
9.5 異常測試 136
9.6 壓力測試 138
9.7 GUI測試 138
9.8 兼容性測試 140
9.9 性能測試 141
9.10 安全性測試 141
9.11 配置測試 142
9.12 可靠性測試 143
9.13 健壯性測試 143
9.14 系統(tǒng)測試過程 144
9.15 小結(jié) 146
第10章 Web系統(tǒng)測試 147
10.1 功能測試 147
10.1.1 鏈接測試 147
10.1.2 表單測試 150
10.1.3 Cookies測試 150
10.1.4 設(shè)計語言測試 152
10.1.5 數(shù)據(jù)庫測試 153
10.1.6 文件上傳測試 154
10.2 性能測試 154
10.2.1 鏈接速度測試 154
10.2.2 負(fù)載測試 154
10.2.3 壓力測試 154
10.3 GUI測試 155
10.3.1 格式驗證 155
10.3.2 導(dǎo)航條測試 155
10.3.3 頁面排版測試 156
10.3.4 拼寫和語法測試 157
10.3.5 標(biāo)簽屬性測試 158
10.3.6 頁面源文件測試 158
10.3.7 Tab鍵測試 158
10.4 兼容性測試 159
10.5 安全性測試 159
10.5.1 Web漏洞掃描 159
10.5.2 服務(wù)器端信息測試 160
10.5.3 文件和目錄測試 167
10.5.4 認(rèn)證測試 171
10.5.5 會話管理測試 176
10.5.6 權(quán)限管理測試 177
10.5.7 文件上傳下載測試 181
10.5.8 消息泄漏測試 183
10.5.9 輸入數(shù)據(jù)測試 184
10.5.10 跨站腳本攻擊測試 186
10.5.11 Web Service測試 188
10.6 小結(jié) 191
第11章 本地化與國際化測試 192
11.1 本地化與國際化測試概述 192
11.2 國際化測試 193
11.2.1 國際化測試常用術(shù)語 193
11.2.2 軟件國際化要求 195
11.2.3 軟件國際化測試方法 197
11.3 本地化測試 198
11.3.1 同步本地化工程模型 199
11.3.2 多語言測試 200
11.3.3 區(qū)域文化 200
11.3.4 數(shù)據(jù)格式 201
11.3.5 熱鍵 203
11.4 小結(jié) 204
第12章 兼容性測試 205
12.1 兼容性測試概述 205
12.1.1 向上兼容 205
12.1.2 向下兼容 206
12.1.3 交叉兼容 206
12.2 硬件兼容 206
12.3 軟件兼容 207
12.3.1 瀏覽器兼容 207
12.3.2 分辨率兼容 207
12.3.3 打印機(jī)兼容 208
12.4 數(shù)據(jù)庫兼容 208
12.5 操作系統(tǒng)兼容 209
12.6 數(shù)據(jù)共享兼容 209
12.7 小結(jié) 210
第13章 易用性測試 211
13.1 易用性測試概述 211
13.1.1 易用性的定義 211
13.1.2 UI的七大特征 213
13.2 安裝易用性測試 216
13.3 GUI易用性測試 220
13.3.1 GUI的組成部分 220
13.3.2 GUI測試內(nèi)容 221
13.4 UI易用性測試 230
13.5 易用性測試的自動化實現(xiàn) 230
13.6 小結(jié) 233
第四部分 擴(kuò)展篇
第14章 性能測試 235
14.1 性能測試概述 235
14.1.1 什么是性能測試 235
14.1.2 性能測試自動化 235
14.2 主流性能測試工具 237
14.3 性能測試常見術(shù)語 238
14.3.1 響應(yīng)時間 238
14.3.2 并發(fā)用戶數(shù) 239
14.3.3 吞吐量 239
14.3.4 吞吐率 240
14.3.5 點擊率 241
14.3.6 資源使用率 241
14.3.7 性能計數(shù)器 241
14.3.8 思考時間 242
14.4 性能測試過程 242
14.5 性能測試實例 245
14.5.1 系統(tǒng)介紹 245
14.5.2 設(shè)計 246
14.5.3 構(gòu)建 248
14.5.4 執(zhí)行 254
14.5.5 分析、診斷和調(diào)節(jié) 254
14.5.6 測試結(jié)論 256
14.6 小結(jié) 257
第15章 自動化測試 258
15.1 什么是自動化測試 258
15.1.1 自動化測試目的和范圍 258
15.1.2 自動化測試需要達(dá)到的程度 259
15.1.3 適合自動化測試的對象 259
15.2 自動化測試優(yōu)點 260
15.3 自動化測試缺點 261
15.4 自動化測試普遍存在的問題 261
15.5 當(dāng)前主流自動化測試工具 262
15.6 自動化測試框架 263
15.6.1 自動化測試框架的發(fā)展 263
15.6.2 自動化測試框架的開發(fā) 265
15.7 自動化測試過程 266
15.8 自動化測試實例 267
15.8.1 系統(tǒng)介紹 267
15.8.2 測試方案及計劃 268
15.8.3 測試用例 270
15.8.4 腳本開發(fā) 272
15.8.5 執(zhí)行測試 282
15.8.6 提交測試報告 282
15.9 小結(jié) 282
第16章 驗收測試 283
16.1 驗收測試的內(nèi)容 283
16.1.1 制定驗收測試的標(biāo)準(zhǔn) 283
16.1.2 復(fù)審配置項 284
16.1.3 執(zhí)行驗收測試 284
16.2 驗收測試的策略 284
16.2.1 正式驗收測試 284
16.2.2 非正式驗收測試 285
16.2.3 Beta測試 286
16.3 驗收測試過程 286
16.4 實施驗收測試 288
16.5 提交驗收測試報告 288
16.6 小結(jié) 289
第17章 文檔測試 290
17.1 文檔的類型 290
17.2 文檔測試的現(xiàn)狀 292
17.3 文檔測試的要點 293
17.4 文檔測試的策略 294
17.5 小結(jié) 295
第18章 軟件測試工程師的職業(yè)規(guī)劃 296
18.1 如何進(jìn)入軟件測試行業(yè) 296
18.2 軟件測試工程師的職責(zé) 297
18.3 軟件測試工程師的心態(tài) 298
18.4 當(dāng)前你的工作情況 299
18.5 未來你如何選擇 299
18.5.1 性能測試 299
18.5.2 自動化測試 300
18.5.3 單元測試 300
18.5.4 云測試 300
18.6 如何提高自身的技能 301
18.6.1 給自己制定一個目標(biāo) 301
18.6.2 正規(guī)培訓(xùn) 302
18.6.3 自學(xué) 302
18.7 小結(jié) 303
參考文獻(xiàn) 304
- 深入性能測試——LoadRunner性能測試、流程、監(jiān)控、調(diào)優(yōu)全程實戰(zhàn) [黃文高 編著]
- 軟件設(shè)計師考前沖刺100題 [施游 王曉笛 鄒月平 編著]
- 軟件定義網(wǎng)絡(luò)技術(shù)與實踐 [主編 但唐仁]
- Python 語言程序設(shè)計實踐指導(dǎo) [主編 張雙獅]
- Photoshop 圖形圖像項目化教程 [主編 胡斌斌 黎婭 蘇大椿]
- 軟件設(shè)計師備考一本通 [倪奕文 編著]
- Python程序設(shè)計案例教程 [主編 毛錦庚 鐘肖英 周賢來 ]
- 高職院校軟件類專業(yè)“類上班制”人才培養(yǎng)模式研究 [楊智勇 王海洋 著]
- 信息技術(shù)基礎(chǔ)實訓(xùn)與習(xí)題指導(dǎo)(Windows7+Office2016) [主編 周金容 唐天國]
- 平面設(shè)計與制作項目化教程 [主編 李晨]
- 后期影像剪輯技術(shù) [主編 郭建偉]
- Spark大數(shù)據(jù)處理技術(shù) [主編 劉仁山 周洪翠 莊新妍]
- Python語言同步案例習(xí)題精解 [主編 肖朝暉]
- Excel在會計工作中的應(yīng)用(第三版) [主 編 趙艷莉 耿聰慧]
- 簡單易懂的Python入門教程 [[日]大澤文孝 著]
- Python數(shù)據(jù)分析之道——Thinking in Pandas [[美]漢娜·斯捷潘內(nèi)克(Hannah S]
- 軟件工程(微課版) [主編 陳亞峰]
- 計算機(jī)應(yīng)用基礎(chǔ)教程(Windows 10+Office 2019) [主編 聶長浪 賀秋芳 李久仲]
- python青少年趣味編程 [千鋒教育 編著]
- 計算機(jī)應(yīng)用基礎(chǔ)(Windows 7+Office 2016) [主編 王洪平 楊華]
- AutoCAD 2019實例教程(微課版) [主編 王立恒]
- 軟件定義網(wǎng)絡(luò)技術(shù)與實戰(zhàn)教程 [主編 但唐仁 肖穎]
- 基于ANSYS的復(fù)合材料有限元分析和應(yīng)用(第二版) [李占營 張承承 李成良 編著]
- 軟件評測師考試重難點突破 [張洋洋 編著]
- 大學(xué)計算機(jī)基礎(chǔ)教程實驗指導(dǎo)與測試題集 [主編 饒拱維 吳華光 巫滿秀]
- 大學(xué)計算機(jī)基礎(chǔ)教程(Windows 10+Office 2016) [主編 饒拱維 郭其標(biāo) 房宜汕]
- 軟件設(shè)計師5天修煉 [施游 張華 鄒月平 編著]
- Altium Designer 20 電路設(shè)計案例教程 [主編 王靜 謝蓉]
- Bentley MOSES軟件入門與應(yīng)用 [高巍]
- 軟件測試(微課版) [鄭小蓉 萬國德]