軟件質量保證與測試(微課版)

黃艷 朱會東 李朝陽

  • 軟件質量保證與測試(微課版)-preview-1
  • 軟件質量保證與測試(微課版)-preview-2
  • 軟件質量保證與測試(微課版)-preview-3
軟件質量保證與測試(微課版)-preview-1

商品描述

本書在全面介紹軟件質量、軟件質量保證、軟件測試、測試用例、測試階段以及軟件缺陷等基本知識的基礎上,著重介紹等價類劃分、邊界值分析、因果圖、判定表等黑盒測試方法和邏輯覆蓋、基本路徑測試等白盒測試方法,並分別通過綜合實例的測試用例設計來說明如何應用常用的測試方法進行測試設計。 全書分10章: 第1~4章主要介紹基礎知識;第5章和第6章分別討論常用黑盒測試方法、白盒測試方法的本質和應用;第7章闡述不同測試階段的測試內容和測試策略;第8~10章內容圍繞軟件缺陷管理流程、自動化測試和單元測試工具JUnit的使用進行介紹。 本書適合作為高等院校電腦、軟件工程專業高年級本科生的教材,也可供對軟件工程比較熟悉的軟件開發人員、廣大科技工作者和研究人員參考。

目錄大綱

目錄

第1章概述1

1.1軟件和軟件工程1

1.1.1軟件的定義及特徵1

1.1.2軟件危機2

1.1.3軟件工程的定義及目標2

1.1.4軟件的生存周期3

1.1.5軟件過程4

1.2軟件質量4

1.3軟件失效5

1.4軟件質量保證和軟件測試6

1.5新時代人才特點7

習題9

第2章軟件質量保證10

2.1軟件質量的決定性因素10

2.1.1質量和質量大師10

2.1.2軟件質量的決定因素15

2.2軟件質量模型17

2.2.1McCall模型17

2.2.2ISO9126模型18

2.2.3ISO/IEC25010模型20

2.3軟件質量管理體系25

2.3.1ISO9000管理體系25

2.3.2CMM認證體系25

2.3.36σ管理體系27

2.4軟件質量保證29

2.4.1SQA任務30

2.4.2SQA活動30

2.4.3SQA措施30〖3〗軟件質量保證與測試(微課版)目錄〖3〗2.4.4SQA實施步驟32

習題32

第3章軟件測試基礎34

3.1認識軟件測試34

3.1.1軟件測試的辯證觀點35

3.1.2軟件測試的風險觀點35

3.1.3軟件測試的經濟學觀點36

3.2軟件測試模型36

3.2.1V模型36

3.2.2W模型38

3.2.3H模型38

3.2.4X模型39

3.3軟件測試過程40

3.4軟件測試方法42

3.4.1黑盒測試42

3.4.2白盒測試42

3.4.3基於風險的測試43

3.4.4基於模型的測試43

3.5軟件測試用例43

3.6軟件測試的現狀45

習題47

第4章軟件缺陷49

4.1軟件缺陷概述49

4.1.1軟件缺陷相關術語49

4.1.2軟件缺陷定義50

4.2軟件缺陷類型51

4.3軟件缺陷產生原因53

4.4軟件缺陷分類54

4.4.1按照開發階段分類54

4.4.2按照嚴重程度分類55

4.4.3按照優先級分類56

4.5典型的軟件缺陷57

習題58

第5章黑盒測試60

5.1黑盒測試基本概念60

5.2等價類劃分61

5.2.1等價類劃分原則62

5.2.2多變量的等價類劃分組合63

5.2.3等價類劃分測試64

5.3邊界值分析69

5.3.1邊界值分析測試分類70

5.3.2邊界值分析和等價類劃分的綜合運用75

5.4因果圖78

5.4.1因果圖符號78

5.4.2因果圖應用79

5.4.3因果圖的優缺點81

5.5判定表82

5.5.1判定表的建立步驟和示例82

5.5.2因果圖與判定表88

5.6場景法91

5.7錯誤推測法94

5.8黑盒測試的綜合應用95

5.9黑盒測試小結100

習題100

第6章白盒測試102

6.1什麽是白盒測試102

6.2語句覆蓋103

6.3判定覆蓋105

6.4條件覆蓋106

6.5判定/條件覆蓋108

6.6條件組合覆蓋109

6.7修正判定/條件覆蓋111

6.8基本路徑測試114

6.8.1程序的控制流圖115

6.8.2圈復雜度118

6.8.3獨立路徑集118

6.8.4圖形矩陣119

6.9白盒測試綜合示例120

6.10靜態白盒測試126

6.10.1代碼檢查127

6.10.2靜態結構分析128

6.10.3靜態測試工具128

6.11白盒測試小結129

習題129

第7章軟件測試階段132

7.1單元測試132

7.1.1單元測試定義132

7.1.2單元測試目標133

7.1.3單元測試內容133

7.1.4單元測試環境133

7.1.5單元測試策略134

7.2集成測試136

7.2.1集成測試定義136

7.2.2集成測試目標136

7.2.3集成測試內容137

7.2.4集成測試環境138

7.2.5集成測試策略138

7.3系統測試143

7.3.1系統測試定義143

7.3.2系統測試目標144

7.3.3系統測試內容144

7.3.4系統測試環境144

7.3.5系統測試過程145

7.3.6系統測試人員145

7.4驗收測試145

7.4.1驗收測試定義145

7.4.2驗收測試內容146

7.4.3驗收測試的實施過程147

7.4.4驗收測試策略147

7.4.5驗收測試人員148

習題148

第8章軟件缺陷管理150

8.1軟件缺陷管理目標150

8.2軟件缺陷管理等級151

8.2.1個體級缺陷管理151

8.2.2項目級缺陷管理151

8.2.3組織級缺陷管理152

8.2.4缺陷度量152

8.2.5缺陷預防152

8.3軟件缺陷狀態154

8.4軟件缺陷管理156

8.4.1缺陷處理流程156

8.4.2缺陷的跟蹤記錄160

8.5軟件缺陷報告162

8.5.1缺陷報告規範163

8.5.2缺陷報告示例166

習題169

第9章自動化測試170

9.1自動化測試概述170

9.1.1手工測試和自動化測試170

9.1.2適合自動化測試的項目171

9.1.3自動化測試所需技能171

9.2自動化測試腳本開發172

9.2.1自動化測試腳本編寫原則172

9.2.2自動化測試腳本的開發方法173

9.3自動化測試工具174

9.3.1自動化測試工具分類174

9.3.2主流的自動化測試框架175

9.3.3UI自動化測試工具Airtest176

9.3.4單元測試工具180

第10章單元測試工具JUnit181

10.1單元測試工具JUnit簡介181

10.2手工測試與JUnit測試比較182

10.2.1在main函數中編寫測試腳本實現測試183

10.2.2在Test類中編寫測試腳本實現測試183

10.3單元測試工具JUnit 的使用185

10.3.1使用JUnit工具進行簡單測試185

10.3.2@Before和@After註解的應用187

10.3.3參數化運行器的應用190

10.3.4測試集的應用193

10.3.5分類測試的應用195

參考文獻197