《软件测试与维护基础教程》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:黄武,洪玫,杨秋辉等编著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2012
  • ISBN:9787111364023
  • 页数:314 页
图书介绍:该书主要讲解软件测试和维护的基础知识及应用,包括软件测试概念、原则,技术,软件测试的级别,软件测试的管理过程,软件测试工具、软件测试的应用及软件维护的基本知识。

第一部分 软件测试概述 2

第1章 软件测试的历史 2

1.1最早的计算机程序员和最早发现的计算机Bug 2

1.2软件测试的发展历程 3

1.2.1面向调试的测试(1956年前) 3

1.2.2面向证明的测试(1957~1978) 4

1.2.3面向查错的测试(1979~1982) 5

1.2.4面向评估的测试(1983~1987) 5

1.2.5面向预防的测试(1988~2000) 6

1.3小结 7

习题1 7

第2章 软件测试在软件工程中的地位 8

2.1为什么引入软件工程 8

2.2软件测试在软件工程中的位置 9

2.3软件测试在软件工程知识体系中的内容 10

2.3.1软件测试基础 11

2.3.2软件测试级别 11

2.3.3软件测试技术 12

2.3.4测试相关的度量 12

2.3.5测试过程 13

2.4小结 13

习题2 14

第3章 软件测试基础 15

3.1为什么要引入软件测试 15

3.1.1引发软件错误的原因 15

3.1.2软件故障造成的危害 19

3.1.3引入软件测试的真正原因 20

3.2什么是软件测试 21

3.2.1软件测试的概念 22

3.2.2软件测试的分类 23

3.2.3软件测试的成熟度 23

3.2.4软件测试活动及其目标 23

3.3软件测试相关的术语 24

3.4软件测试的基本原则 26

3.5软件测试的心理学 30

3.5.1确立正确的测试目标 30

3.5.2自行测试和独立测试之间的平衡 31

3.5.3测试员和程序员的不同心理 32

3.5.4良好的沟通在测试中起到积极的作用 32

3.6软件测试的经济学 32

3.6.1制定的测试工作量要恰当 32

3.6.2尽早的发现缺陷尽早地修复缺陷 33

3.7软件测试的基本模型 34

3.7.1软件测试的V模型 34

3.7.2软件测试的W模型 35

3.7.3软件测试的H模型 36

3.7.4软件测试的X模型 36

3.8软件测试与软件质量 37

3.8.1软件质量的定义和常见的软件质量模型 37

3.8.2软件测试和软件质量是不同层级的概念 38

3.8.3软件测试有利于提高软件质量 38

3.9软件测试员应该具备的基本素质 39

3.10小结 39

习题3 40

第二部分 开始软件测试 42

第4章 建立软件测试系统 42

4.1最简单的软件测试过程 42

4.2完整的软件测试系统 44

4.3完整的软件测试流程 46

4.3.1一种实用的软件测试流程 46

4.3.2 Perry的7步软件测试流程 47

4.4小结 50

习题4 51

第三部分软件测试基本技术 54

第5章 静态测试 54

5.1静态测试概述 54

5.1.1为什么需要静态测试 54

5.1.2静态测试的重要性 55

5.2评审 56

5.2.1评审成功的因素 57

5.2.2评审的基本术语 57

5.2.3评审的软件产品 57

5.2.4评审的分类 59

5.2.5非正式评审 59

5.3正式评审 60

5.3.1正式评审的最小可接受条件 60

5.3.2正式评审的脚色 61

5.3.3正式评审的基本过程 62

5.4管理评审 63

5.4.1管理评审的目的和内容 63

5.4.2管理评审的团队 63

5.4.3管理评审过程 63

5.4.4输出 64

5.4.5举例 65

5.5技术评审 66

5.5.1技术评审的目的和内容 66

5.5.2技术评审团队 66

5.5.3技术评审会议 66

5.6审查 67

5.6.1审查的目的和内容 67

5.6.2审查团队 67

5.6.3审查的前提条件 68

5.6.4审查会议过程 69

5.6.5审查输出 71

5.6.6数据收集 71

5.6.7审查的检查表 71

5.6.8审查的注意事项 72

5.7走查 72

5.7.1走查的目的和内容 72

5.7.2走查团队 73

5.7.3走查会议 73

5.7.4走查与审查 73

5.8审计 74

5.8.1审计的目的和内容 74

5.8.2审计团队 74

5.8.3审计会议过程 75

5.9 5种正式评审的比较 76

5.10小结 77

习题5 77

第6章 白盒测试(基于结构的测试) 78

6.1白盒测试概述 78

6.1.1白盒测试定义 78

6.1.2为什么要进行白盒测试 78

6.1.3白盒测试的分类 80

6.1.4白盒测试的适应范围 80

6.1.5白盒测试过程 81

6.1.6白盒测试的优缺点 82

6.2基于数据流的白盒测试 82

6.3基于控制流的白盒测试 85

6.3.1控制流图 85

6.3.2基于控制流的几种白盒测试方式 89

6.3.3几种基于控制流的白盒测试技术 91

6.3.4基本路径测试(McCabe圈覆盖) 98

6.3.5测试覆盖准则 103

6.4其他白盒测试技术 106

6.4.1程序插桩 106

6.4.2域测试 106

6.4.3符号测试 106

6.4.4 Z路径测试 106

6.4.5程序变异 107

6.5小结 107

习题6 107

第7章 黑盒测试(基于规格说明的测试) 109

7.1黑盒测试概述 109

7.1.1黑盒测试定义 109

7.1.2黑盒测试和白盒测试之间的关系 109

7.1.3黑盒测试方法的有效性及方法选择的指导方针 113

7.1.4黑盒测试的优缺点 113

7.2等价划分 114

7.2.1为什么要引入等价划分 114

7.2.2等价划分的概念 114

7.2.3等价划分的依据 115

7.3边界值测试 117

7.3.1边界值测试概述 117

7.3.2边界值测试的步骤 118

7.3.3数值型变量的边界测试 118

7.3.4字符串变量的边界测试 119

7.3.5特殊等价类的测试 120

7.4决策表测试 121

7.4.1决策表概述 121

7.4.2决策表测试方法 122

7.5因果图 124

7.5.1因果图概述 124

7.5.2因果图测试方法 125

7.6场景或用例测试 127

7.6.1采用场景或用例测试方法的原因 127

7.6.2按照场景来设计测试用例 128

7.7状态转换图测试 129

7.7.1状态转换图概述 129

7.7.2利用状态转换图进行测试案例的设计 130

7.8基于经验的测试技术 131

7.8.1基于经验测试技术概述 131

7.8.2错误推测 132

7.8.3探索性测试 133

7.8.4基于经验测试技术的总结 134

7.9小结 134

习题7 135

第四部分 软件测试级别 138

第8章 单元测试 138

8.1单元测试概述 138

8.2单元测试现状和作用 139

8.3单元测试的方法 140

8.3.1白盒方法的单元测试 140

8.3.2黑盒方法的单元测试 141

8.3.3测试驱动模块与桩模块 142

8.4单元测试工具JUnit简介 142

8.4.1 JUnit框架组成 143

8.4.2利用JUnit进行单元测试的步骤 146

8.4.3 Eclipse中JUnit的使用 148

8.5小结 149

习题8 149

第9章 集成测试 150

9.1集成测试概述 150

9.2结构化软件的集成测试 151

9.2.1自顶向下集成测试 152

9.2.2自底向上集成测试 153

9.2.3核心系统先行集成测试 154

9.2.4高频集成测试 154

9.3小结 155

习题9 155

第10章 系统测试 156

10.1系统测试概述 156

10.2功能性测试 158

10.2.1正常功能测试 158

10.2.2健壮性测试 158

10.3非功能性测试 159

10.3.1大数据量测试 159

10.3.2负荷测试 160

10.3.3可用性测试 160

10.3.4文档测试 162

10.4小结 163

习题10 163

第11章 确认测试 164

11.1确认测试概述 164

11.2α测试 165

11.3 β测试 166

11.4小结 166

习题11 167

第12章 回归测试 168

12.1回归测试概述 168

12.2回归测试的几种策略 168

12.2.1测试用例库的维护 169

12.2.2回归测试集的选择 169

12.2.3回归测试的基本过程 170

12.3回归测试与自动化 170

12.4小结 171

习题12 172

第五部分 软件测试管理 174

第13章 构建测试环境(测试准备) 174

13.1测试环境概述 174

13.2测试环境要素 174

13.3测试的组织结构 175

13.3.1测试组织的独立性 175

13.3.2测试组织的几种结构 175

13.3.3与测试工作相关的人员 177

13.4构建标准的测试流程 177

13.5构建标准的测试文档 179

13.6测试人员的培训 180

13.6.1测试员能力的评估 180

13.6.2 CSTE CBOK公共知识体系 181

13.7测试工具 182

13.8测试的其他管理 183

13.8.1配置管理 183

13.8.2风险管理 183

13.9小结 184

习题13 184

第14章 测试计划 185

14.1测试计划概述 185

14.1.1为什么要引入测试计划 185

14.1.2测试计划的目的 185

14.2测试计划的相关术语 185

14.3测试计划的多样性 186

14.4测试计划的注意事项 186

14.5测试计划的内容 186

14.5.1测试计划标识符 187

14.5.2简介 187

14.5.3测试项 187

14.5.4被测试的特征 188

14.5.5不被测试的特征 189

14.5.6测试策略(方法) 189

14.5.7测试出口准则 189

14.5.8挂起准则以及重启要求 189

14.5.9测试交付文档 190

14.5.10测试任务 190

14.5.11测试团队的责任 190

14.5.12环境需求 191

14.5.13进度 192

14.5.14风险和应变计划 192

14.5.15批准 192

14.6小结 192

习题14 193

第15章 测试设计 194

15.1测试设计概述 194

15.2测试设计与测试计划之间的关系 194

15.3测试设计的目标 196

15.4测试设计说明 196

15.4.1目的 196

15.4.2内容 196

15.5测试案例说明 197

15.5.1目的 197

15.5.2内容 198

15.6测试过程说明 199

15.6.1目的 199

15.6.2内容 199

15.7小结 200

习题15 201

第16章 测试执行 202

16.1测试执行概述 202

16.2测试日志 203

16.2.1目的 203

16.2.2内容 203

16.2.3状态 203

16.2.4批准 203

16.2.5举例 204

16.3软件缺陷 204

16.3.1软件缺陷属性 204

16.3.2软件缺陷的严重性和优先级 204

16.4测试事故报告 205

16.4.1目的 206

16.4.2内容 206

16.5软件缺陷的管理 206

16.5.1软件缺陷的生命周期 207

16.5.2软件缺陷的数据库跟踪管理 208

16.5.3并非所有的缺陷都可以修复 209

16.6小结 211

习题16 211

第17章 测试评估 212

17.1测试评估概述 212

17.2软件测试评估的分类 213

17.2.1覆盖评估 213

17.2.2质量评估 215

17.3软件测试总结报告 219

17.3.1目的 219

17.3.2内容 219

17.4小结 219

习题17 220

第六部分 软件测试工具 222

第18章 测试自动化及测试工具 222

18.1测试自动化基础 222

18.1.1测试自动化的引入 222

18.1.2测试自动化的基本概念 223

18.1.3测试自动化的方法和过程 224

18.1.4自动化测试框架 228

18.2常见的自动化测试工具介绍 230

18.2.1测试工具分类 230

18.2.2常用测试工具介绍 231

18.2.3功能测试工具简介 232

18.2.4性能测试工具简介 233

18.2.5测试管理工具简介 234

18.2.6单元测试工具简介 235

18.2.7自动化测试环境简介 237

18.3小结 238

习题18 239

第七部分 软件测试的应用 242

第19章 配置测试 242

19.1配置测试概述 242

19.2如何判定配置缺陷 242

19.3谁来修复配置缺陷 243

19.4计算工作量 243

19.5执行配置测试 243

19.6获得硬件 245

19.7小结 246

习题19 246

第20章 兼容性测试 247

20.1兼容性测试概述 247

20.2与操作系统的兼容性 247

20.3与浏览器的兼容性 248

20.4软件版本的兼容性 248

20.5数据共享时的兼容性问题 249

20.6兼容性测试的一个案例 250

20.7小结 250

习题20 250

第21章 本地化测试 251

21.1本地化测试概述 251

21.2本地化测试的内容 251

21.2.1用户界面问题 251

21.2.2翻译质量问题 252

21.2.3由于本地化出现的功能错误 252

21.2.4源语言国际化缺陷 253

21.2.5安装/卸载性能测试 253

21.3本地化测试的特点 254

21.4小结 254

习题21 255

第22章 网站测试 256

22.1网站测试的基本概念 256

22.2网站测试的步骤 257

22.3用户界面测试 257

22.4网站功能测试 258

22.5网站性能测试 259

22.6网站兼容性测试 260

22.7小结 260

习题22 260

第23章 安全性测试 261

23.1安全测试的概念 261

23.2安全测试分类 262

23.3安全性测试技术 262

23.3.1软件安全分析方法——故障树分析 263

23.3.2软件安全测试计划 264

23.4小结 266

习题23 266

第24章 面向对象测试 267

24.1面向对象软件测试概述 267

24.2面向对象测试模型 267

24.3面向对象的单元测试 268

24.3.1单元的定义 268

24.3.2单元测试方法 269

24.3.3面向对象单元测试的特殊性 270

24.4面向对象的集成测试 270

24.5面向对象的系统测试 271

24.6小结 272

习题24 272

第八部分 软件维护 274

第25章 软件维护 274

25.1软件维护概述 274

25.2软件维护定义 274

25.3软件维护分类 275

25.4软件维护的开销和挑战 276

25.5软件维护模型 277

25.5.1快速解决模型 277

25.5.2迭代增强模型 277

25.5.3完全重用模型 277

25.6软件维护过程 278

25.6.1 IEEE-1219 278

25.6.2 ISO-12207 279

25.7软件维护管理 280

25.8小结 282

习题25 282

附录 习题答案 283

参考文献 314