軟體測試理論與技術

軟體測試理論與技術

《軟體測試理論與技術》是2015年9月清華大學出版社出版的圖書,作者是李千目。

基本介紹

  • 中文名:軟體測試理論與技術
  • 作者:李千目
  • ISBN:9787302399827
  • 定價:30元
  • 出版社:清華大學出版社
  • 出版時間:2015年9月
內容簡介,圖書目錄,

內容簡介

全書共17章,第1~第8章圍繞軟體測試基礎理論進行闡述,從第9章開始引入性能測試,在後續章節中描述了性能測試原理、套用領域、團隊建設、測試工具、需求分析、Web性能測試等內容,第9、第10、第11章分別闡述了軟體性能測試的基礎理論、套用領域和團隊建設,第12章針對性能測試工具原理進行介紹,第13、第14、第15、第16章以性能測試流程為主線,對性能測試需求分析、測試腳本編寫、測試場景設計與執行以及測試結果分析的技術要點分別做出了詳細介紹,第17章針對性地介紹了Web前端性能。
軟體測試是發現軟體缺陷最有效的手段,而完備的性能測試是最關鍵的。通過負載測試、壓力測試、配置測試、並發測試、可靠性測試以及失效恢複測試等一系列方法,性能測試在能力驗證、能力規劃、性能調優和缺陷發現等領域大顯身手。從軟體行業本身的需求而言,高級性能測試人員的市場需求十分巨大,性能測試行業是十分有發展前景的。
本書以介紹軟體測試基本理論為引子,圍繞性能測試原理、方法與實踐展開探討。
本書可以作為高等學校計算機科學與技術、軟體工程、網路工程和通信工程等專業的本科生或研究生教材,也可以作為相關領域工程技術人員的參考書。

圖書目錄

第1章軟體測試的基本概念/1
1.1軟體質量/1
1.1.1軟體質量的概念/1
1.1.2軟體質量的屬性/1
1.1.3軟體質量的模型/3
1.1.4軟體質量的量度/4
1.2軟體測試的概念/5
1.2.1軟體測試的定義與目的/5
1.2.2軟體測試的原則/5
1.3軟體的缺陷與錯誤/6
1.3.1軟體缺陷的定義和類型/6
1.3.2軟體缺陷的級別/6
1.3.3軟體缺陷產生的原因/7
1.3.4軟體缺陷的分類/7
1.3.5修復軟體缺陷的代價/8
1.4軟體測試的經濟學與心理學/8
1.4.1軟體測試的心理學/8
1.4.2軟體測試的經濟學/8
1.5軟體質量保證/9
1.5.1軟體質量保證概要/9
1.5.2軟體質量保證活動的實施/9
1.5.3SQA與軟體測試的關係/10
1.6本章小結/10第2章軟體測試類型及其在軟體開發過程中的地位/11
2.1軟體開發階段/11
2.1.1軟體生存周期/11
2.1.2軟體測試的生存周期模型/11
2.1.3測試信息流/12
2.2規劃階段的測試/12
2.2.1目標闡述/12
2.2.2需求分析/122.2.3功能定義/13
2.2.4規劃階段進行的測試/13
2.3設計階段的測試/13
2.3.1外部設計/13
2.3.2內部設計/13
2.3.3設計階段的測試/13
2.3.4偽代碼分析/14
2.4編程階段的測試/14
2.4.1白盒測試與黑盒測試/14
2.4.2結構測試與功能測試/14
2.4.3路徑測試: 覆蓋準則/14
2.4.4增量測試與大突擊測試/14
2.4.5自頂向下測試與自底向上測試/15
2.4.6靜態測試與動態測試/15
2.4.7性能測試/15
2.5回歸測試/15
2.6運行和維護階段的測試/15
2.7本章小結/15第3章代碼檢查、走查與評審/16
3.1桌上檢查/16
3.1.1桌上檢查的檢查項目/16
3.1.2對程式代碼做靜態錯誤分析/16
3.2代碼檢查/16
3.2.1特定的角色和職責/16
3.2.2代碼檢查過程/17
3.2.3用於代碼檢查的錯誤列表/17
3.3走查/18
3.3.1特定的角色和職責/18
3.3.2走查的過程/18
3.3.3走查中的靜態分析技術/19
3.4同行評審/19
3.4.1為什麼需要評審/19
3.4.2同行評審的角色和職能/19
3.4.3同行評審的內容/20
3.4.4評審的方法和技術/20
3.5本章小結/21第4章覆蓋率測試/22
4.1覆蓋率概念/22
4.2邏輯覆蓋/22
4.2.1語句覆蓋/22
4.2.2判定覆蓋/22
4.2.3條件覆蓋/23
4.2.4條件/判定覆蓋/23
4.2.5條件組合覆蓋/23
4.2.6路徑覆蓋/23
4.2.7ESTCA覆蓋/23
4.2.8LCSAJ覆蓋/24
4.3路徑測試/24
4.3.1分支結構的路徑測試/24
4.3.2循環結構的路徑測試/24
4.3.3Z路徑覆蓋與基本路徑測試/26
4.4數據流測試/28
4.4.1定義/使用測試的幾個定義/28
4.4.2定義/使用路徑測試覆蓋指標/29
4.5基於覆蓋的測試用例選擇/29
4.5.1如何使用覆蓋率/29
4.5.2使用最少測試用例來達到覆蓋/29
4.6本章小結/30第5章功能測試/31
5.1等價類測試/31
5.1.1等價類的概念/31
5.1.2等價類測試的類型/31
5.1.3等價類測試的原則/31
5.1.4等價類方法測試用例設計舉例/32
5.2邊界值分析/34
5.2.1邊界值分析的概念/34
5.2.2選擇測試用例的原則/34
5.2.3邊界值方法測試用例設計舉例/34
5.3基於判定表的測試/35
5.3.1判定表的概念/35
5.3.2基於判定表的測試用例設計舉例/35
5.4基於因果圖的測試/36
5.4.1因果圖的適用範圍/36
5.4.2用因果圖生成測試用例/36
5.4.3因果圖法測試用例設計舉例/36
5.5基於狀態圖的測試/37
5.5.1功能圖及其符號/37
5.5.2功能圖法設計測試用例舉例/37
5.6基於場景的測試/38
5.6.1基本流和備選流/38
5.6.2場景法設計測試用例舉例/39
5.7其他黑盒測試用例設計技術/39
5.7.1規範導出法/39
5.7.2內部邊界值測試法/40
5.7.3錯誤猜測法/40
5.7.4基於接口的測試/40
5.7.5基於故障的測試/40
5.7.6基於風險的測試/40
5.7.7比較測試/41
5.8本章小結/41第6章單元測試和集成測試/42
6.1單元測試的基本概念/42
6.1.1單元測試的定義和目標/42
6.1.2單元測試與集成測試、系統測試的
區別/42
6.1.3單元測試環境/43
6.2單元測試策略/43
6.2.1自頂向下的單元測試策略/43
6.2.2自底向上的單元測試策略/43
6.2.3孤立測試/44
6.2.4綜合測試/44
6.3單元測試分析/44
6.3.1模組接口/44
6.3.2局部數據結構/44
6.3.3獨立路徑/44
6.3.4出錯處理/45
6.3.5邊界條件/45
6.3.6其他測試分析的指導原則/45
6.4單元測試的測試用例設計原則/45
6.4.1單元測試的測試用例設計步驟/45
6.4.2單元測試中的白盒測試與黑盒測試/45
6.5集成測試的基本概念/46
6.5.1集成測試的定義/46
6.5.2集成測試與系統測試的區別/46
6.5.3集成測試與開發的關係/46
6.5.4集成測試重點/47
6.5.5集成測試層次/47
6.5.6集成測試環境/47
6.6集成測試的策略/48
6.6.1基於分解的集成策略/48
6.6.2基於功能的集成/48
6.6.3基於調用圖的集成/48
6.6.4基於路徑的集成/49
6.6.5基於進度的集成/49
6.6.6基於風險的集成/49
6.7集成測試分析/49
6.7.1體系結構分析/49
6.7.2模組分析/49
6.7.3接口分析/49
6.7.4可測試性分析/50
6.7.5集成測試策略的分析/50
6.7.6常見的集成測試故障/50
6.8集成測試的測試用例設計/51
6.9本章小結/51第7章系統測試/52
7.1系統測試概念/52
7.1.1什麼是系統測試/52
7.1.2系統測試與單元測試、集成測試的
區別/52
7.1.3集成測試的組織和分工/52
7.1.4系統測試分析/53
7.1.5系統測試環境/53
7.2系統測試的方法/53
7.2.1功能測試/53
7.2.2協定一致性測試/54
7.2.3性能測試/54
7.2.4壓力測試/54
7.2.5容量測試/54
7.2.6安全性測試/55
7.2.7失效恢複測試/55
7.2.8備份測試/55
7.2.9GUI測試/55
7.2.10健壯性測試/56
7.2.11兼容性測試/56
7.2.12易用性測試/56
7.2.13安裝測試/56
7.2.14文檔測試/56
7.2.15線上幫助測試/56
7.2.16數據轉換測試/57
7.3系統測試的實施/57
7.3.1確認測試/57
7.3.2α測試和β測試/57
7.3.3驗收測試/57
7.3.4回歸測試/57
7.3.5系統測試問題總結、分析/58
7.4如何做好系統測試/58
7.5本章小結/58第8章面向對象軟體的測試/59
8.1面向對象軟體測試的問題/59
8.1.1面向對象的基本特點引起的測試
問題/59
8.1.2面向對象程式的測試組織問題/60
8.2面向對象軟體的測試模型及策略/60
8.2.1面向對象軟體的測試模型/60
8.2.2面向對象分析的測試/60
8.2.3面向對象設計的測試/60
8.2.4面向對象編程的測試/61
8.2.5面向對象程式的單元測試/61
8.2.6面向對象程式的集成測試/61
8.2.7面向對象軟體的系統測試/61
8.3面向對象程式的單元測試/62
8.3.1方法層次的測試/62
8.3.2類層次的測試/62
8.3.3類樹層次的測試/62
8.4面向對象程式的集成測試/63
8.4.1面向對象程式的集成測試策略/63
8.4.2針對類間連線的測試/64
8.5面向對象軟體的系統測試/64
8.5.1功能測試/65
8.5.2其他系統測試/65
8.6本章小結/65第9章軟體性能測試基礎理論/66
9.1軟體性能定義/66
9.1.1用戶眼中的軟體性能/66
9.1.2運維人員眼中的軟體性能/66
9.1.3開發人員眼中的軟體性能/67
9.1.4Web前端性能/67
9.2性能測試/67
9.2.1性能測試的定義/67
9.2.2性能測試的目標/67
9.3性能測試術語/68
9.3.1回響時間/68
9.3.2並發用戶數/68
9.3.3吞吐量/69
9.3.4吞吐率/70
9.3.5TPS/70
9.3.6點擊率/70
9.3.7資源利用率/70
9.3.8性能計數器/70
9.3.9思考時間/71
9.4軟體性能測試方法論/71
9.4.1SEI負載測試計畫過程/71
9.4.2RBI方法/72
9.4.3性能下降曲線分析法/72
9.4.4LoadRunner的性能測試過程/73
9.4.5Segue提供的性能測試過程/73
9.4.6敏捷性能測試/74
9.5性能測試過程中的常見風險/75
9.5.1識別風險/75
9.5.2規避風險/75
9.6本章小結/75第10章性能測試的套用領域/76
10.1性能測試的方法分類/76
10.1.1驗收性能測試/76
10.1.2負載測試/77
10.1.3壓力測試/77
10.1.4配置測試/78
10.1.5可靠性測試/78
10.1.6負載壓力測試/79
10.2性能測試套用領域分析/79
10.2.1能力驗證/79
10.2.2規劃能力/80
10.2.3性能調優/80
10.2.4缺陷發現/80
10.2.5性能基準比較/80
10.3本章小結/81第11章性能測試團隊建設/82
11.1性能測試人員構成/82
11.2性能測試過程模型/83
11.2.1測試前期準備/84
11.2.2測試工具引入/85
11.2.3測試計畫/86
11.2.4測試設計與開發/88
11.2.5測試執行與管理/91
11.2.6測試分析/93
11.3敏捷性能測試模型/93
11.3.1APTM的檢查表/94
11.3.2APTM中的活動/95
11.3.3環境與工具/96
11.4本章小結/98第12章性能測試工具原理/99
12.1伺服器端性能測試工具架構/99
12.2性能測試腳本錄製時的協定類型/102
12.3性能測試工具的選擇與評估/104
12.3.1創建還是購買/104
12.3.2測試工具的評估和選擇過程/104
12.4本章小結/107第13章性能測試需求分析/108
13.1制定負載測試的目標/108
13.2收集系統信息/109
13.3制訂測試計畫/109
13.3.1性能測試需求/110
13.3.2測試環境/112
13.3.3數據準備/113
13.3.4測試策略/114
13.3.5人力與時間安排/115
13.4業務流程/115
13.4.1業務流程介紹與案例/115
13.4.2業務流程分析/116
13.5步驟測量/117
13.6本章小結/118第14章測試腳本編寫/119
14.1參數化腳本/119
14.1.1參數化的目的/119
14.1.2什麼時候進行參數化/121
14.1.3怎樣參數化輸入數據/122
14.2手工關聯和自動關聯/124
14.3日誌高級套用/128
14.4高級腳本技術/130
14.4.1如何將編寫的動態程式庫嵌入LR中
運行/130
14.4.2如何利用LR編寫FTP腳本/131
14.4.3web_custom_request使用技巧/132
14.4.4特殊的錄製腳本方法/137
14.5本章小結/142第15章測試場景設計與執行/143
15.1場景設計介紹/143
15.1.1新建場景/143
15.1.2負載生成器管理/152
15.2場景執行/154
15.2.1場景運行的準備工作/154
15.2.2有效的場景運行技術要點/156
15.3性能監控/157
15.3.1性能參數監控方法/157
15.3.2根據測試目標添加性能監控
參數/158
15.4本章小結/159第16章測試分析技術/160
16.1分析性能測試結果/160
16.2挖掘LR中的錯誤信息/163
16.3通過LR圖表組合挖掘系統缺陷根源/181
16.4本章小結/187第17章Web前端性能/188
17.1HTTP協定基礎理論/188
17.1.1HTTP協定結構/188
17.1.2典型的HTTP請求與回響分析/190
17.1.3與前端性能相關的頭信息/191
17.2瀏覽器訪問URL原理/194
17.2.1連線到URL伺服器/194
17.2.2獲取頁面對應的HTML文檔/194
17.2.3解析文檔並獲取所需要的資源/194
17.2.4onload事件/195
17.3如何提高Web前端的性能/195
17.3.1減少網路時間/196
17.3.2減少傳送請求的數量/196
17.3.3提高瀏覽器下載的並發度/197
17.3.4讓頁面儘早開始顯示/198
17.3.5其他/199
17.4單機前端性能工具介紹/199
17.4.1Firebug工具/199
17.4.2HttpWatch工具/201
17.4.3Chrome自帶的開發工具/202
17.4.4Page Speed工具/203
17.4.5DynaTrace AJAX Edition工具/204
17.5雅虎團隊經驗: 網站頁面性能最佳化的34條黃金
守則/205
17.5.1儘量減少HTTP請求次數/205
17.5.2減少DNS查找次數/206
17.5.3避免跳轉/207
17.5.4可快取的Ajax/208
17.5.5推遲載入內容/208
17.5.6預載入/209
17.5.7減少DOM元素數量/209
17.5.8根據域名劃分頁面內容/210
17.5.9使iframe的數量最小/210
17.5.10不要出現404錯誤/210
17.5.11使用內容分發網路/211
17.5.12為檔案頭指定Expires或Cache
Control/211
17.5.13Gzip壓縮檔案內容/212
17.5.14配置ETag/213
17.5.15儘早刷新輸出緩衝/214
17.5.16使用GET來完成Ajax請求/214
17.5.17把樣式表置於頂部/215
17.5.18避免使用CSS表達式/215
17.5.19使用外部JavaScript和CSS/216
17.5.20削減JavaScript和CSS/216
17.5.21用<link>代替@import/217
17.5.22避免使用濾鏡/217
17.5.23把腳本置於頁面底部/217
17.5.24剔除重複腳本/217
17.5.25減少DOM訪問/218
17.5.26開發智慧型事件處理程式/218
17.5.27減小cookie體積/219
17.5.28對於頁面內容使用無cookie
域名/219
17.5.29最佳化圖像/219
17.5.30最佳化CSS Spirite/220
17.5.31不要在HTML中縮放圖像/220
17.5.32favicon.ico要小而且可快取/220
17.5.33保持單個內容小於25KB/221
17.5.34打包組件成複合文本/221
17.6本章小結/221參考文獻/222

熱門詞條

聯絡我們