軟件測試技術(shù)HP_《軟件測試技術(shù)大全》(第二版)目錄
本文關(guān)鍵詞:軟件測試技術(shù),由筆耕文化傳播整理發(fā)布。
第一篇 軟件測試的基礎(chǔ)
第1章 軟件測試行業(yè) 1
1.1 軟件測試的起源 2
1.1.1 第一個(gè)bug的故事 2
1.1.2 幾個(gè)導(dǎo)致嚴(yán)重錯(cuò)誤的bug 3
1.1.3 軟件測試的起源 3
1.2 軟件測試的發(fā)展 3
1.2.1 軟件調(diào)試 4
1.2.2 獨(dú)立的軟件測試 4
1.2.3 軟件測試的第一次定義 4
1.2.4 軟件測試成為專門的學(xué)科 5
1.2.5 開發(fā)與測試的融合趨勢 5
1.2.6 為什么軟件測試發(fā)展比較緩慢 5
1.3 軟件測試行業(yè)的現(xiàn)狀和前景 6
1.3.1 國內(nèi)測試行業(yè)現(xiàn)狀 6
1.3.2 測試人員的現(xiàn)狀 7
1.3.3 軟件測試的前景 8
1.4 小結(jié) 9
1.5 新手入門須知 9
.1.6 模擬面試問答 10
第2章 軟件測試的組織 11
2.1 測試的組織形式 12
2.1.1 微軟的經(jīng)驗(yàn)教訓(xùn) 12
2.1.2 最簡單的軟件測試組織 12
2.1.3 組織形式的分類方式 12
2.1.4 綜合型的測試組織 14
2.2 融入測試組織 15
2.2.1 根據(jù)開發(fā)的模式判斷自己的測試角色定位 15
2.2.2 “支援編程人員”的測試與“批判性”的測試 16
2.2.3 “面向業(yè)務(wù)”的測試與“面向技術(shù)”的測試 16
2.2.4 測試的劃分對(duì)敏捷項(xiàng)目開發(fā)的重要性 17
2.2.5 如何融入一個(gè)項(xiàng)目團(tuán)隊(duì) 18
2.2.6 快速融入項(xiàng)目團(tuán)隊(duì)的技巧 18
2.2.7 盡快投入測試工作的技巧 19
2.3 軟件測試的團(tuán)隊(duì)建設(shè) 19
2.3.1 學(xué)習(xí)型團(tuán)隊(duì)的組建 19
2.3.2 讓每一位測試人員找到適合自己的位置 20
2.3.3 “無規(guī)矩則不成方圓” 21
2.3.4 測試規(guī)范 21
2.3.5 部門制度 22
2.4 小結(jié) 23
2.5 新手入門須知 23
2.6 模擬面試問答 23
第3章 軟件測試的人員要求 25
3.1 測試人員的素質(zhì)要求 26
3.1.1 你對(duì)測試感興趣嗎 26
3.1.2 你有適合做軟件測試的性格特征嗎 27
3.1.3 好奇心 27
3.1.4 成就感 28
3.1.5 消極思維 29
3.1.6 全面的思維能力 29
3.1.7 測試的正確態(tài)度 29
3.1.8 責(zé)任感是測試人員的自我要求 29
3.1.9 責(zé)任感與壓力 30
3.2 測試人員的技能要求 31
3.2.1 業(yè)務(wù)知識(shí) 31
3.2.2 產(chǎn)品設(shè)計(jì)知識(shí) 32
3.2.3 測試人員需要了解軟件架構(gòu)知識(shí) 32
3.2.4 測試人員需要了解統(tǒng)一建模語言(uml) 32
3.2.5 測試人員的“武器” 32
3.2.6 測試人員需要掌握的測試工具 33
3.2.7 測試人員需要掌握開發(fā)工具嗎 34
3.2.8 用戶心理學(xué) 34
3.2.9 界面設(shè)計(jì)中的3種模型 34
3.2.10 人機(jī)交互認(rèn)知心理學(xué) 35
3.2.11 測試人員是否需要編程技能 35
3.2.12 掌握編程技能的好處 35
3.2.13 腳本語言 35
3.2.14 文檔能力 38
3.3 小結(jié) 40
3.4 新手入門須知 40
3.5 模擬面試問答 41
第二篇 軟件測試必備知識(shí)
第4章 軟件工程與軟件測試 42
4.1 軟件工程簡介 43
4.1.1 什么是軟件工程 43
4.1.2 軟件的生命周期 43
4.1.3 軟件工程的研究領(lǐng)域 44
4.1.4 軟件工程的發(fā)展歷史 44
4.1.5 軟件工程化概念的提出 44
4.1.6 “軟件工廠” 45
4.1.7 軟件過程管理 45
4.1.8 軟件過程相關(guān)方法和工具 45
4.1.9 軟件工程發(fā)展的新趨勢 46
4.1.10 軟件工程的目的 46
4.2 軟件開發(fā)模式 47
4.2.1 常見的軟件開發(fā)模式 47
4.2.2 線性模型 47
4.2.3 漸進(jìn)式模型 48
4.2.4 變換模型 49
4.2.5 軟件開發(fā)模式的發(fā)展 49
4.2.6 rup的歷史 49
4.2.7 rup過程模型下的軟件測試 50
4.2.8 rup工具 51
4.2.9 “重型”過程vs.“輕量”過程 51
4.2.10 敏捷運(yùn)動(dòng) 52
4.2.11 極限編程(xp) 52
4.2.12 xp中的軟件測試 54
4.2.13 xp工具 54
4.3 不同軟件開發(fā)模式下的軟件測試 54
4.3.1 cmm和iso中的軟件測試 54
4.3.2 cmm與軟件測試 54
4.3.3 iso與軟件測試 55
4.3.4 敏捷開發(fā)中的軟件測試 56
4.4 小結(jié) 57
4.5 新手入門須知 57
4.6 模擬面試問答 58
第5章 軟件配置管理與軟件測試 61
5.1 軟件配置管理的應(yīng)用 62
5.1.1 什么是配置管理 62
5.1.2 實(shí)施軟件配置管理的好處 63
5.1.3 配置管理計(jì)劃 63
5.1.4 配置標(biāo)識(shí) 64
5.1.5 變更控制 65
5.1.6 配置狀態(tài)記錄和報(bào)告 66
5.1.7 配置審計(jì) 66
5.1.8 配置管理的自動(dòng)化 66
5.1.9 進(jìn)度控制與軟件測試 67
5.1.10 變更控制與軟件測試 67
5.1.11 配置管理與軟件測試 68
5.2 vss的安裝和使用 68
5.2.1 vss簡介 68
5.2.2 vss的安裝 69
5.2.3 創(chuàng)建vss數(shù)據(jù)庫 69
5.2.4 創(chuàng)建vss項(xiàng)目project 69
5.2.5 vss備份 69
5.3 svn的安裝和使用 70
5.3.1 svn的基本原理 70
5.3.2 svn的下載與安裝 71
5.3.3 創(chuàng)建資源庫 71
5.3.4 運(yùn)行svn服務(wù) 72
5.3.5 用戶授權(quán) 72
5.3.6 導(dǎo)入項(xiàng)目文件 73
5.3.7 檢出項(xiàng)目 73
5.3.8 用add命令添加文件 74
5.3.9 commit命令 74
5.3.10 update命令 74
5.3.11 將svn服務(wù)注冊(cè)為系統(tǒng)服務(wù) 74
5.3.12 遠(yuǎn)程客戶端訪問 75
5.3.13 目錄訪問權(quán)限控制 75
5.4 小結(jié) 76
5.5 模擬面試問答 77
第6章 軟件質(zhì)量與軟件測試 78
6.1 軟件質(zhì)量屬性 79
6.1.1 質(zhì)量的3個(gè)層次 79
6.1.2 軟件質(zhì)量模型 80
6.2 軟件質(zhì)量保證與軟件測試 80
6.2.1 sqa與軟件測試 81
6.2.2 sqa與項(xiàng)目組各成員之間的關(guān)系 81
6.2.3 sqa組織 81
6.2.4 sqa的工作內(nèi)容 82
6.2.5 qa與qc的區(qū)別 82
6.3 質(zhì)量保證體系建設(shè) 83
6.3.1 iso 9000質(zhì)量管理體系與八項(xiàng)質(zhì)量管理原則 83
6.3.2 iso 9000質(zhì)量管理體系的建立過程 84
6.3.3 cmm質(zhì)量管理體系與過程改進(jìn) 84
6.3.4 結(jié)合psp、tsp建立cmm過程改進(jìn)體系 84
6.3.5 應(yīng)用pdca質(zhì)量控制法持續(xù)改進(jìn)軟件質(zhì)量 85
6.4 小結(jié) 85
6.5 新手入門須知 86
6.6 模擬面試問答 86
第7章 軟件測試的目的與原則 87
7.1 軟件測試的目的 88
7.1.1 測試是為了建立軟件的信心 88
7.1.2 軟件測試與軟件信心的關(guān)系 88
7.1.3 軟件測試的兩面性 88
7.1.4 軟件測試的驗(yàn)證與確認(rèn) 89
7.1.5 測試是一種服務(wù) 90
7.2 軟件測試應(yīng)該遵循的幾個(gè)原則 90
7.2.1 good enough原則 90
7.2.2 pareto原則 91
7.2.3 盡可能早開展測試 91
7.2.4 在發(fā)現(xiàn)比較多錯(cuò)誤的地方需要投入更多的測試 92
7.2.5 同化效應(yīng) 92
7.3 小結(jié) 92
7.4 新手入門須知 93
7.5 模擬面試問答 93
第8章 軟件測試的方法論 95
8.1 軟件測試的5大流派 96
8.1.1 分析學(xué)派 96
8.1.2 標(biāo)準(zhǔn)學(xué)派 96
8.1.3 質(zhì)量學(xué)派 97
8.1.4 上下文驅(qū)動(dòng)學(xué)派 97
8.1.5 敏捷學(xué)派 98
8.1.6 不同流派的測試定義 98
8.2 軟件測試的方法應(yīng)用 98
8.2.1 微軟公司的第一類測試 99
8.2.2 微軟公司的第二類測試 99
8.2.3 微軟的缺陷管理 100
8.3 ibm公司的軟件測試方法 100
8.3.1 回歸測試 100
8.3.2 測試的度量 101
8.3.3 用例驅(qū)動(dòng) 101
8.3.4 rup對(duì)軟件測試的分類 101
8.3.5 rup對(duì)測試階段的劃分 103
8.4 自動(dòng)錯(cuò)誤預(yù)防(aep)方法 103
8.4.1 aep的基本概念 103
8.4.2 實(shí)現(xiàn)軟件自動(dòng)錯(cuò)誤預(yù)防的5大法則 104
8.5 小結(jié) 106
8.6 新手入門須知 106
8.7 模擬面試問答 108
第9章 軟件測試的過程管理 109
9.1 軟件測試的各個(gè)階段 110
9.2 測試需求 110
9.2.1 需求規(guī)格說明書的檢查要點(diǎn) 111
9.2.2 需求文檔的檢查步驟 111
9.2.3 通過編寫測試用例來檢查需求 114
9.3 測試的計(jì)劃 115
9.3.1 為什么要制定測試計(jì)劃 115
9.3.2 測試計(jì)劃是對(duì)測試過程的整體設(shè)計(jì) 115
9.3.3 確定測試范圍 116
9.3.4 制定測試策略 116
9.3.5 安排好測試資源 117
9.3.6 安排好進(jìn)度 117
9.3.7 計(jì)劃風(fēng)險(xiǎn) 118
9.4 測試的設(shè)計(jì)及測試用例 118
9.4.1 基于需求的測試用例設(shè)計(jì) 118
9.4.2 等價(jià)類劃分法 119
9.4.3 邊界值分析法 120
9.4.4 等價(jià)類+邊界值 122
9.4.5 基本路徑分析法 122
9.4.6 因果圖法 123
9.4.7 場景設(shè)計(jì)法 124
9.4.8 錯(cuò)誤猜測法 125
9.4.9 正交表與tcg的使用 125
9.4.10 利用均勻試驗(yàn)法設(shè)計(jì)測試用例 127
9.4.11 組合覆蓋與pict的使用 128
9.4.12 分類樹與cte xl的使用 130
9.4.13 測試用例設(shè)計(jì)的自動(dòng)化 132
9.4.14 敏捷測試用例設(shè)計(jì) 133
9.4.15 測試用例的粒度 133
9.4.16 基于需求的測試用例設(shè)計(jì) 134
9.4.17 測試用例的評(píng)價(jià) 134
9.4.18 測試用例數(shù)據(jù)生成的自動(dòng)化 135
9.5 測試的執(zhí)行 135
9.5.1 測試用例的合理選擇 135
9.5.2 測試的分工與資源利用 136
9.5.3 測試環(huán)境的搭建 136
9.5.4 bvt測試與冒煙測試 137
9.5.5 每日構(gòu)建的基本流程 138
9.5.6 通過每日構(gòu)建來規(guī)范源代碼管理 138
9.5.7 通過每日構(gòu)建來控制版本風(fēng)險(xiǎn) 139
9.6 測試的記錄和跟蹤 139
9.6.1 bug的質(zhì)量衡量 139
9.6.2 如何錄入一個(gè)合格的bug 140
9.6.3 報(bào)告發(fā)現(xiàn)問題的版本 140
9.6.4 報(bào)告問題出現(xiàn)的環(huán)境 141
9.6.5 報(bào)告問題重現(xiàn)的操作步驟 141
9.6.6 描述預(yù)期的行為 141
9.6.7 描述觀察到的錯(cuò)誤行為 141
9.6.8 bug報(bào)告應(yīng)該注意的幾個(gè)問題 142
9.6.9 如何跟蹤一個(gè)bug的生命周期 142
9.6.10 如何與開發(fā)人員溝通一個(gè)bug 143
9.6.11 bug評(píng)審要注意的問題 143
9.6.12 基于qc的缺陷管理 144
9.7 回歸測試 144
9.7.1 為什么會(huì)回歸 145
9.7.2 回歸測試的難度 145
9.7.3 基于風(fēng)險(xiǎn)的回歸測試 145
9.8 測試總結(jié)和報(bào)告 147
9.8.1 缺陷分類報(bào)告 147
9.8.2 缺陷類型分布報(bào)告 148
9.8.3 缺陷區(qū)域分布報(bào)告 148
9.8.4 缺陷狀態(tài)分布報(bào)告 148
9.8.5 缺陷趨勢報(bào)告 149
9.8.6 典型缺陷與bug模式 150
9.8.7 測試中的pdca循環(huán) 151
9.8.8 客觀全面的測試報(bào)告 152
9.8.9 實(shí)用測試經(jīng)驗(yàn)的總結(jié) 152
9.9 小結(jié) 153
9.10 新手入門須知 153
9.11 模擬面試問答 153
第10章 軟件測試的度量 156
10.1 軟件測試度量的目的 157
10.1.1 測試度量的難度 157
10.1.2 測試人員工作質(zhì)量的鑒定 158
10.1.3 度量的目的 159
10.2 軟件測試的度量方法及其應(yīng)用 159
10.2.1 bug的數(shù)量能說明什么 160
10.2.2 度量bug的數(shù)量 160
10.2.3 加權(quán)法度量缺陷 160
10.2.4 bug的定性評(píng)估 162
10.2.5 bug綜合評(píng)價(jià)模型 162
10.2.6 測試覆蓋率統(tǒng)計(jì) 163
10.2.7 代碼覆蓋率 163
10.2.8 功能模塊覆蓋率 164
10.2.9 需求覆蓋率 165
10.2.10 測試用例文檔產(chǎn)出率與測試用例產(chǎn)出率 166
10.2.11 考核測試人員的硬指標(biāo)和軟指標(biāo) 166
10.2.12 硬指標(biāo) 166
10.2.13 軟指標(biāo) 167
10.2.14 考核表 168
10.3 小結(jié) 169
10.4 新手入門須知 169
10.5 模擬面試問答 170
第三篇 實(shí)用軟件測試技術(shù)與工具應(yīng)用
第11章 實(shí)用軟件測試技術(shù) 171
11.1 軟件測試技術(shù)的發(fā)展 172
11.2 軟件測試技術(shù) 173
11.2.1 不管黑盒、白盒,找到bug就行 173
11.2.2 黑盒測試 173
11.2.3 白盒測試 174
11.2.4 手工測試、自動(dòng)化測試,一個(gè)都不能少 175
11.2.5 自動(dòng)化測試的目的 175
11.2.6 手工測試的不可替代性 175
11.2.7 探索性測試的“技術(shù)” 176
11.2.8 探索性測試的基本過程 177
11.2.9 探索性測試的管理 177
11.2.10 單元測試的定義 178
11.2.11 單元測試由誰做 178
11.2.12 結(jié)對(duì)單元測試 179
11.2.13 單元級(jí)別的性能測試 180
11.2.14 性能測試“從小做起” 180
11.2.15 數(shù)據(jù)庫性能檢查 182
11.2.16 軟件的“極限考驗(yàn)”——壓力測試 183
11.2.17 軟件的容量如何 183
11.2.18 安全性測試 187
11.2.19 網(wǎng)頁安全漏洞檢測 188
11.2.20 sql注入 188
11.2.21 緩沖區(qū)溢出 189
11.2.22 安裝測試 189
11.2.23 環(huán)境測試 192
11.3 實(shí)用軟件測試技術(shù)的綜合應(yīng)用 193
11.3.1 跟蹤法測試 193
11.3.2 跟蹤法的典型應(yīng)用 193
11.3.3 跟蹤法測試的好處 195
11.3.4 跟蹤法測試的必要性 196
11.3.5 c/s結(jié)構(gòu)軟件系統(tǒng)的測試 196
11.3.6 b/s結(jié)構(gòu)軟件系統(tǒng)的測試 197
11.3.7 鏈接測試 197
11.3.8 cookies測試 198
11.3.9 兼容性測試 198
11.3.10 并發(fā)訪問測試 198
11.3.11 手機(jī)應(yīng)用測試的要點(diǎn) 198
11.3.12 手機(jī)應(yīng)用軟件的特點(diǎn) 199
11.3.13 手機(jī)應(yīng)用軟件的測試要點(diǎn) 199
11.3.14 游戲軟件系統(tǒng)的測試重點(diǎn)是“玩” 199
11.3.15 游戲可玩性的測試 200
11.3.16 游戲的環(huán)境測試 201
11.3.17 網(wǎng)絡(luò)游戲的安全性測試 201
11.3.18 游戲的性能測試 201
11.3.19 界面交互及用戶體驗(yàn)測試 201
11.3.20 使用用戶模型對(duì)界面交互進(jìn)行測試 201
11.3.21 界面和用戶體驗(yàn)測試的要點(diǎn) 202
11.3.22 數(shù)據(jù)庫測試 203
11.3.23 數(shù)據(jù)庫設(shè)計(jì)的測試 203
11.3.24 sql代碼規(guī)范性測試 203
11.3.25 sql語句效率測試 204
11.3.26 sql數(shù)據(jù)庫兼容性測試 205
11.3.27 web services的測試 206
11.3.28 內(nèi)存泄露測試 208
11.3.29 造成軟件內(nèi)存泄露的原因 208
11.3.30 如何檢測內(nèi)存泄露 209
11.3.31 對(duì)內(nèi)存問題測試的分工與合作 209
11.3.32 檢查程序員的編碼規(guī)范 210
11.3.33 報(bào)表測試 211
11.3.34 報(bào)表測試的業(yè)務(wù)基礎(chǔ) 211
11.3.35 報(bào)表測試中的細(xì)節(jié)問題檢查 212
11.3.36 報(bào)表測試中的性能測試、安全性測試 212
11.3.37 報(bào)表的保存和打印測試 212
11.3.38 報(bào)表的格式測試 212
11.3.39 聯(lián)機(jī)幫助和用戶手冊(cè)的測試 212
11.3.40 聯(lián)機(jī)幫助的測試要點(diǎn) 213
11.3.41 用戶手冊(cè)的測試要點(diǎn) 214
11.3.42 缺乏工具支持的性能測試 214
11.3.43 借助其他小工具和自己開發(fā)的小程序來解決問題 215
11.3.44 手工的性能測試 217
11.3.45 本地化測試與國際化測試 218
11.3.46 本地化軟件測試和國際化測試的要點(diǎn) 218
11.3.47 本地化軟件測試和國際化測試對(duì)測試人員的要求 219
11.3.48 本地化軟件測試和國際化測試工具的使用 219
11.3.49 可訪問性測試(accessibility testing) 220
11.3.50 section 508 web指南 220
11.3.51 可訪問性測試工具 221
11.4 小結(jié) 221
11.5 新手入門須知 221
11.6 模擬面試問答 222
第12章 測試管理工具qc的應(yīng)用 225
12.1 測試管理平臺(tái) 226
12.1.1 測試過程管理規(guī)范化 226
12.1.2 測試管理平臺(tái)——qc簡介 227
12.1.3 qc安裝 227
12.1.4 qc安裝常見問題 230
12.2 測試需求管理 234
12.2.1 定義測試需求 234
12.2.2 從office文檔導(dǎo)入需求到qc 234
12.2.3 把需求項(xiàng)轉(zhuǎn)換成測試計(jì)劃 235
12.3 測試計(jì)劃管理 236
12.3.1 測試用例的管理 236
12.3.2 設(shè)計(jì)測試步驟 237
12.3.3 測試用例的重用 238
12.3.4 測試用例對(duì)需求項(xiàng)的覆蓋 239
12.4 測試執(zhí)行 241
12.4.1 定義測試集 241
12.4.2 為測試集添加測試用例 242
12.4.3 執(zhí)行測試 243
12.5 缺陷登記與跟蹤 244
12.5.1 添加新缺陷 244
12.5.2 如何避免錄入冗余的缺陷 244
12.5.3 bug的生命周期 245
12.5.4 把缺陷鏈接到測試 246
12.6 在qc中生成測試報(bào)告的圖表 247
12.7 基于qc的測試項(xiàng)目管理 248
12.7.1 qc的庫結(jié)構(gòu) 248
12.7.2 創(chuàng)建qc項(xiàng)目庫 248
12.7.3 定制項(xiàng)目 248
12.7.4 添加項(xiàng)目組成員 249
12.7.5 自定義qc的數(shù)據(jù)字段 250
12.7.6 配置跟蹤提醒規(guī)則 252
12.7.7 設(shè)置可追溯性通知規(guī)則 254
12.7.8 設(shè)置工作流 256
12.7.9 “缺陷模塊”列表自定義 256
12.7.10 添加缺陷字段自定義 257
12.7.11 腳本編輯器 258
12.7.12 qc項(xiàng)目的導(dǎo)入導(dǎo)出 259
12.7.13 qc項(xiàng)目的備份還原 261
12.8 其他資源 262
12.9 練習(xí)和實(shí)踐 262
第13章 功能自動(dòng)化測試工具qtp的應(yīng)用 264
13.1 如何開展功能自動(dòng)化測試 265
13.1.1 選取合適的測試項(xiàng)目來開展自動(dòng)化測試 265
13.1.2 自動(dòng)化測試工程師的知識(shí)體系 265
13.1.3 自動(dòng)化測試工具選型 266
13.1.4 自動(dòng)化測試項(xiàng)目計(jì)劃 267
13.2 使用qtp開展功能自動(dòng)化測試 268
13.2.1 qtp的安裝 268
13.2.2 使用qtp錄制腳本 269
13.2.3 使用關(guān)鍵字視圖和專家視圖編輯腳本 272
13.2.4 回放腳本 273
13.2.5 插入檢查點(diǎn) 273
13.3 構(gòu)建功能自動(dòng)化測試框架 276
13.3.1 模塊化框架 276
13.3.2 函數(shù)庫結(jié)構(gòu)框架 278
13.3.3 數(shù)據(jù)驅(qū)動(dòng)框架 279
13.4 其他資源 282
13.5 練習(xí)和實(shí)踐 282
第14章 性能測試工具loadrunner的應(yīng)用 284
14.1 如何開展性能測試 285
14.1.1 性能測試工程師的素質(zhì)要求 285
14.1.2 認(rèn)識(shí)性能測試 286
14.1.3 性能測試的類型 287
14.1.4 性能測試成熟度模型 288
14.1.5 分析和定義性能需求 289
14.1.6 “不成文的”性能需求定義 290
14.1.7 計(jì)劃性能測試 291
14.2 使用loadrunner開展性能測試 291
14.2.1 loadrunner簡介 291
14.2.2 loadrunner基本使用方法和步驟 293
14.2.3 選擇協(xié)議 295
14.2.4 錄制腳本 296
14.2.5 常見腳本回放問題解決 298
14.2.6 修改和完善腳本 299
14.2.7 腳本參數(shù)化 300
14.2.8 添加事務(wù) 300
14.2.9 添加內(nèi)容檢查點(diǎn) 301
14.2.10 性能參數(shù)的選擇和監(jiān)視 302
14.2.11 運(yùn)行場景 304
14.2.12 選擇需要監(jiān)控的性能參數(shù) 304
14.2.13 性能測試報(bào)告與性能瓶頸分析 304
14.3 其他資源 306
14.4 練習(xí)和實(shí)踐 306
第15章 安全測試 308
15.1 常見安全漏洞分析 309
15.1.1 緩沖區(qū)溢出 309
15.1.2 整數(shù)溢出 311
15.1.3 命令注入 312
15.1.4 sql注入 312
15.1.5 xss——跨站腳本攻擊 314
15.2 使用appscan進(jìn)行安全測試 316
15.2.1 appscan簡介 316
15.2.2 利用appscan進(jìn)行web安全測試 316
15.2.3 使用appscan測試altoroj項(xiàng)目 317
15.3 其他資源 320
15.4 練習(xí)和實(shí)踐 321
第16章 單元測試工具mstest的應(yīng)用 323
16.1 單元測試范圍管理 324
16.1.1 單元測試的分類 324
16.1.2 靜態(tài)單元測試 325
16.1.3 動(dòng)態(tài)單元測試 325
16.1.4 “廣專結(jié)合”、“動(dòng)靜相宜” 326
16.1.5 單元測試的效果 326
16.1.6 單元測試的范圍 326
16.2 單元測試的過程管理 327
16.2.1 單元測試的過程策劃 327
16.2.2 管理層對(duì)單元測試的重視 327
16.2.3 單元測試意識(shí)的改變 327
16.2.4 單元測試的組織 328
16.2.5 單元測試模式的選擇 328
16.2.6 單元測試的管理規(guī)范 328
16.2.7 單元測試的人員分工 329
16.2.8 單元測試的策略 329
16.2.9 單元測試用例的設(shè)計(jì) 329
16.2.10 代碼標(biāo)準(zhǔn)和規(guī)范 329
16.2.11 代碼審查制度 330
16.2.12 單元測試的流程 330
16.2.13 單元測試與每日構(gòu)建的結(jié)合 331
16.2.14 單元測試的自動(dòng)化方面 331
16.2.15 自動(dòng)化單元測試與每日構(gòu)建的結(jié)合 332
16.3 單元測試的質(zhì)量度量 333
16.3.1 單元測試覆蓋率 333
16.3.2 單元測試評(píng)審 334
16.4 單元測試工具mstest的應(yīng)用 334
16.4.1 建立單元測試項(xiàng)目 335
16.4.2 巧用nmock對(duì)象 337
16.4.3 對(duì)缺乏接口實(shí)現(xiàn)的類的方法進(jìn)行測試 337
16.4.4 使用nmock對(duì)象 337
16.4.5 使用nmock的場合 338
16.4.6 單元測試的執(zhí)行 338
16.4.7 測試管理 338
16.4.8 運(yùn)行測試代碼 339
16.4.9 查看測試結(jié)果 339
16.5 數(shù)據(jù)驅(qū)動(dòng)的單元測試 339
16.5.1 為什么要使用數(shù)據(jù)驅(qū)動(dòng)的方式 339
16.5.2 創(chuàng)建數(shù)據(jù)驅(qū)動(dòng)單元測試 339
16.5.3 使用數(shù)據(jù)源 341
16.5.4 使用配置文件定義數(shù)據(jù)源 342
16.5.5 編寫單元測試代碼使用配置文件定義的數(shù)據(jù)源 343
16.6 小結(jié) 343
16.7 新手入門須知 344
16.8 模擬面試問答 344
第17章 開源測試工具 346
17.1 開源測試工具簡介 347
17.1.1 開源的背景 347
17.1.2 開源測試工具的發(fā)展現(xiàn)狀 347
17.1.3 開源測試工具的分布 347
17.1.4 開源測試工具的來源 348
17.1.5 開源測試工具的優(yōu)勢 348
17.1.6 開源測試工具的不足 348
17.2 常用開源測試工具介紹——測試管理類 348
17.2.1 bugzilla 349
17.2.2 mantis 350
17.2.3 bugfree 351
17.2.4 綜合比較 352
17.3 常用開源測試工具介紹——單元測試類 352
17.3.1 nunit 352
17.3.2 nmock 353
17.3.3 nunitforms 354
17.4 常用開源測試工具介紹——性能測試類 355
17.4.1 jmeter 356
17.4.2 testmaker 357
17.4.3 dbmonster 358
17.5 常用開源測試工具介紹——自動(dòng)化功能測試類 360
17.5.1 abbot java gui test framework 360
17.5.2 white 361
17.5.3 watir 362
17.6 如何在測試組中引入開源測試工具 363
17.6.1 開源測試工具的成本考慮 364
17.6.2 引入開源測試工具的步驟 364
17.6.3 引入開源測試工具可能碰到的問題 365
17.7 小結(jié) 366
17.8 新手入門須知 366
17.9 模擬面試問答 367
第18章 測試工具的原理及制作 369
18.1 自制測試工具的優(yōu)勢 370
18.2 輔助工具的制作 371
18.2.1 測試工具的開發(fā)策劃 371
18.2.2 測試語言的選擇 371
18.2.3 測試工具開發(fā)的各種實(shí)現(xiàn)技術(shù) 372
18.2.4 接口驅(qū)動(dòng) 372
18.2.5 測試執(zhí)行器及遠(yuǎn)程代理 373
18.2.6 測試解釋器和測試生成器 374
18.3 利用windows腳本輔助測試 374
18.3.1 利用jscript進(jìn)行簡單的gui自動(dòng)化測試 375
18.3.2 利用jscript檢查注冊(cè)表 375
18.3.3 利用jscript的filesystemobject對(duì)象處理文件 376
18.3.4 讀取文件 376
18.3.5 創(chuàng)建文件 377
18.3.6 利用jscript操作excel 377
18.3.7 在jscript中運(yùn)行應(yīng)用程序 378
18.3.8 在jscript中使用wmi 379
18.3.9 在jscript中訪問網(wǎng)絡(luò) 380
18.3.10 在jscipt中使用正則表達(dá)式 381
18.3.11 使用jscript發(fā)送郵件 382
18.3.12 jscript腳本的調(diào)試方法 383
18.4 簡易自動(dòng)化測試 383
18.4.1 使用vbscript進(jìn)行web自動(dòng)化測試 384
18.4.2 利用uiautomation實(shí)現(xiàn)gui自動(dòng)化測試 384
18.5 設(shè)計(jì)一個(gè)性能測試框架 387
18.5.1 性能測試的基本原理 387
18.5.2 controller的簡單設(shè)計(jì) 388
18.5.3 agent的簡單設(shè)計(jì) 389
18.5.4 虛擬用戶的產(chǎn)生 392
18.6 正交表測試用例自動(dòng)生成工具的設(shè)計(jì) 393
18.6.1 正交表類的設(shè)計(jì) 394
18.6.2 加載正交表文件 396
18.6.3 解釋輸入 398
18.6.4 查找正交表 398
18.6.5 改進(jìn)方向 406
18.7 數(shù)據(jù)庫比較工具的制作 407
18.7.1 “三庫”的問題 407
18.7.2 sqlserver表結(jié)構(gòu)原理 407
18.7.3 數(shù)據(jù)庫比較工具的設(shè)計(jì) 408
18.8 oracle的sql語句跟蹤工具的制作 411
18.8.1 設(shè)置oracle的sql跟蹤參數(shù) 412
18.8.2 打開sql跟蹤 412
18.8.3 關(guān)閉sql跟蹤 413
18.8.4 改進(jìn)方向 414
18.9 一個(gè)簡單的猴子測試工具的制作 414
18.9.1 猴子測試工具應(yīng)該具備的功能 414
18.9.2 windows api的調(diào)用 415
18.9.3 截屏功能的實(shí)現(xiàn) 418
18.9.4 讓猴子動(dòng)起來 420
18.9.5 記錄猴子的足跡 421
18.9.6 給猴子一些知識(shí) 421
18.9.7 記錄被測試應(yīng)用程序的資源使用情況 423
18.9.8 完整的猴子測試工具 425
18.9.9 擴(kuò)展 432
18.10 測試覆蓋率輔助管理工具的制作 432
18.10.1 測試覆蓋率管理 432
18.10.2 需求覆蓋率管理 432
18.10.3 測試用例覆蓋率管理 433
18.10.4 功能模塊覆蓋率管理 434
18.10.5 代碼覆蓋率管理 435
18.10.6 數(shù)據(jù)覆蓋率管理 436
18.10.7 測試覆蓋率統(tǒng)計(jì)的自動(dòng)化 437
18.10.8 測試覆蓋率對(duì)測試管理的意義 438
18.10.9 測試覆蓋率輔助管理工具的設(shè)計(jì) 438
18.10.10 調(diào)用devpatner的代碼覆蓋率統(tǒng)計(jì)工具 439
18.10.11 用c#來調(diào)用dpanalysis執(zhí)行被測試應(yīng)用程序 439
18.10.12 測試覆蓋率輔助管理工具的使用 443
18.11 小結(jié) 444
18.12 新手入門須知 445
18.13 模擬面試問答 445
第19章 小工具的使用 447
19.1 巧用windows自帶的小工具 448
19.1.1 windows的任務(wù)管理器 448
19.1.2 利用windows任務(wù)管理器檢查進(jìn)程駐留 448
19.1.3 利用windows任務(wù)管理器檢查內(nèi)存問題 448
19.1.4 利用windows任務(wù)管理器檢查網(wǎng)絡(luò)使用情況 449
19.1.5 利用windows任務(wù)管理器檢查cpu使用情況 450
19.1.6 perfmon的性能監(jiān)控 450
19.1.7 netstat的網(wǎng)絡(luò)監(jiān)視 453
19.2 免費(fèi)小工具的妙用 454
19.2.1 sql server數(shù)據(jù)庫的sql事件探查器 454
19.2.2 visual studio開發(fā)工具的spy++ 456
19.2.3 visual sourcesafe的文件比較器 457
19.2.4 http協(xié)議包查看器——http watch 458
19.2.5 html do m查看器——ie developer toolbar 459
19.3 小結(jié) 460
19.4 新手入門須知 460
19.5 模擬面試問答 461
第20章 持續(xù)集成 462
20.1 持續(xù)集成簡介 463
20.1.1 持續(xù)集成的價(jià)值 463
20.1.2 持續(xù)集成包含的過程 463
20.2 利用windows腳本搭建一個(gè)每日構(gòu)建框架 463
20.2.1 每日構(gòu)建框架的基本要素 463
20.2.2 獲取源代碼 464
20.2.3 編譯源代碼 466
20.2.4 分析編譯結(jié)果 466
20.2.5 處理編譯結(jié)果 468
20.2.6 發(fā)送編譯報(bào)告 469
20.2.7 利用windows任務(wù)計(jì)劃來定時(shí)啟動(dòng)腳本 470
20.2.8 每日構(gòu)建框架的擴(kuò)展1——單元測試 471
20.2.9 每日構(gòu)建框架的擴(kuò)展2——自動(dòng)化功能測試 476
20.2.10 每日構(gòu)建框架的擴(kuò)展3——每日缺陷簡報(bào) 477
20.2.11 缺陷庫表結(jié)構(gòu)分析 477
20.2.12 缺陷統(tǒng)計(jì)程序的設(shè)計(jì) 479
20.2.13 每日構(gòu)建框架的擴(kuò)展4——每日配置管理簡報(bào) 483
20.2.14 配置管理的現(xiàn)狀 484
20.2.15 缺陷簡報(bào)程序的設(shè)計(jì) 484
20.2.16 每日構(gòu)建框架的擴(kuò)展5——每日里程碑預(yù)報(bào) 486
20.2.17 每日構(gòu)建框架的其他擴(kuò)展思路 488
20.2.18 每日缺陷統(tǒng)計(jì) 488
20.2.19 每日缺陷簡報(bào) 490
20.3 利用windows腳本整合一個(gè)自動(dòng)錯(cuò)誤預(yù)防系統(tǒng) 491
20.3.1 輕量級(jí)的aep框架 491
20.3.2 把a(bǔ)ep系統(tǒng)整合到每日構(gòu)建框架中 491
20.3.3 整合fxcop 491
20.3.4 整合sql bpa 493
20.3.5 測試結(jié)果檢查和發(fā)送 493
20.4 其他資源 494
第21章 代碼審查 495
21.1 代碼審查實(shí)踐 496
21.1.1 為什么需要代碼審查 496
21.1.2 代碼靜態(tài)分析的工作內(nèi)容 497
21.1.3 類型檢查 497
21.1.4 風(fēng)格檢查 497
21.1.5 程序理解 498
21.1.6 bug查找 499
21.2 自動(dòng)代碼審查 500
21.2.1 代碼分析工具pclint的應(yīng)用 501
21.2.2 pclint與vc6的整合 501
21.2.3 代碼風(fēng)格審查工具stylecop的應(yīng)用 502
21.2.4 stylecop的設(shè)置 503
21.3 其他資源 504
第22章 探索性測試管理 505
22.1 探索性測試的必要性 506
22.1.1 探索性測試的原理 506
22.1.2 探索性測試與即興測試的區(qū)別 506
22.1.3 探索性測試的意義 507
22.2 如何進(jìn)行探索性測試 507
22.2.1 優(yōu)秀探索性測試人員的基本素質(zhì) 507
22.2.2 測試就是向程序提問 508
22.3 探索性測試的過程管理和度量 509
22.3.1 測試組長是“教練” 509
22.3.2 基于探索任務(wù)的測試計(jì)劃 509
22.3.3 探索性測試的“碰頭會(huì)議” 510
22.4 小結(jié) 513
22.5 新手入門須知 513
22.6 模擬面試問答 513
第23章 用戶界面測試管理 515
23.1 用戶界面測試的必要性 516
23.2 如何進(jìn)行用戶界面測試 516
23.2.1 用戶界面測試的時(shí)機(jī) 516
23.2.2 后期修改界面的風(fēng)險(xiǎn) 517
23.2.3 界面測試遺漏 517
23.2.4 用戶界面測試的要點(diǎn) 517
23.2.5 “射箭”原理 518
23.2.6 減少用戶的工作量 518
23.2.7 “少就是多” 518
23.3 用戶界面測試原則 518
23.3.1 親和力 519
23.3.2 協(xié)助 520
23.3.3 有效 521
23.3.4 鼓勵(lì) 522
23.3.5 熟悉 522
23.3.6 明顯 523
23.3.7 個(gè)性化 523
23.3.8 安全 524
23.3.9 滿意 524
23.3.10 簡單 525
23.3.11 支持 525
23.3.12 多樣性 526
23.4 小結(jié) 526
23.5 新手入門須知 527
23.6 模擬面試問答 527
第四篇 軟件測試的學(xué)習(xí)和研究
第24章 軟件測試的學(xué)習(xí)環(huán)境 529
24.1 學(xué)習(xí)氛圍的建立 530
24.1.1 培訓(xùn)導(dǎo)師制度 530
24.1.2 把測試人員的學(xué)習(xí)內(nèi)容作為工作考核的一部分 531
24.1.3 把測試人員的學(xué)習(xí)計(jì)劃納入到項(xiàng)目計(jì)劃 531
24.1.4 把測試人員的學(xué)習(xí)和技術(shù)研究任務(wù)化、專門化 531
24.1.5 建立一幫一的導(dǎo)師制度 532
24.1.6 建立一個(gè)持續(xù)的培訓(xùn)體系 533
24.1.7 讀書會(huì) 534
24.1.8 找個(gè)師傅學(xué)習(xí)軟件測試 534
24.2 軟件測試經(jīng)驗(yàn)的總結(jié) 535
24.2.1 測試知識(shí)庫的建立 535
24.2.2 知識(shí)庫的“進(jìn)” 536
24.2.3 知識(shí)庫的“出” 536
24.2.4 辦一份內(nèi)部期刊 537
24.2.5 測試管理經(jīng)驗(yàn)的總結(jié) 538
24.2.6 過程管理經(jīng)驗(yàn)總結(jié) 538
24.2.7 個(gè)人管理經(jīng)驗(yàn)總結(jié) 540
24.3 軟件測試的交流 541
24.3.1 日常的交流 541
24.3.2 專門的交流 542
24.3.3 與開發(fā)人員的交流 542
24.3.4 定義好自己的角色 543
24.3.5 解釋自己的工作 544
24.3.6 盡量減少會(huì)產(chǎn)生誤會(huì)和曲解的bug報(bào)告 544
24.3.7 與管理層的交流 545
24.3.8 宣傳測試 545
24.3.9 主動(dòng)報(bào)告測試 545
24.3.10 外部交流 545
24.4 小結(jié) 546
24.5 新手入門須知 546
24.6 模擬面試問答 547
第25章 軟件測試的研究方向與個(gè)人發(fā)展 549
25.1 軟件測試角色與其他項(xiàng)目角色的可轉(zhuǎn)換性 550
25.1.1 轉(zhuǎn)向售前 550
25.1.2 轉(zhuǎn)向售后 551
25.1.3 轉(zhuǎn)向開發(fā) 553
25.1.4 轉(zhuǎn)向qa 554
25.2 測試人員的發(fā)展路線 555
25.2.1 管理路線 555
25.2.2 技術(shù)路線 557
25.3 軟件測試的研究方向 558
25.3.1 軟件測試中的數(shù)學(xué) 558
25.3.2 軟件測試工具設(shè)計(jì) 559
25.3.3 其他研究方向 559
25.4 小結(jié) 560
25.5 新手入門須知 560
25.6 模擬面試問答 560
附錄 各章習(xí)題答案 561
本文關(guān)鍵詞:軟件測試技術(shù),,由筆耕文化傳播整理發(fā)布。
本文編號(hào):222656
本文鏈接:http://sikaile.net/wenshubaike/dxkc/222656.html