《全程软件测试》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:朱少民编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2007
  • ISBN:7121048787
  • 页数:450 页
图书介绍:本书基于国际一流软件企业的软件测试流程和实践,以两个典型项目为背景,按实际测试项目运转方式,逐步向前推进,最终贯穿整个软件测试全过程。从软件测试项目启动、测试计划开始,然后深入到测试用例设计、测试工具选择、脚本开发、功能测试和系统测试等各项测试活动,清楚地演绎测试的方法和实践。在完全掌握测试的技术和方法的基础上,对测试管理的各个层次和环节做了系统的介绍,包括测试策略制定、风险控制、缺陷跟踪和分析、测试管理系统的应用等。最后,随着软件测试的总结和思考,逐渐理解所面对的现实和应坚持的原则,领会软件测试方法的应用之道和品味测试的最佳实践,并在软件测试成熟度模型前停住脚步,久久不想离去。

第1章 测试项目启动 1

1.1 了解软件的质量需求 2

1.1.1 软件产品的质量需求 2

1.1.2 软件质量的对立面——软件缺陷 6

1.1.3 软件缺陷产生的原因 8

1.1.4 究竟什么是软件测试 10

1.1.5 软件测试的目标 14

1.2 选定测试组长 17

1.2.1 测试过程和开发过程的关系 17

1.2.2 测试组长的人选 20

1.2.3 测试团队在项目中的位置 21

1.3 掌控项目背景 23

1.3.1 软件测试的项目要素 23

1.3.2 两个典型项目的介绍 25

1.3.3 Google Talk客户端功能简介 26

1.3.4 Web应用——雅虎日历功能介绍 27

1.4 制定测试规范 29

1.5 小结 36

第2章 测试计划 39

2.1 产品需求文档审查和评审 40

2.1.1 需求评审的重要性 40

2.1.2 测试人员在需求评审中的角色 43

2.1.3 需求评审的标准 45

2.2 项目的测试需求和任务 47

2.2.1 确定软件功能测试需求 47

2.2.2 非功能性的系统测试需求 49

2.2.3 软件即服务的测试需求 51

2.2.4 各个阶段的测试任务 53

2.3 测试范围分析和工作量估计 55

2.3.1 功能测试范围的分析 55

2.3.2 系统测试范围的分析 59

2.3.3 工作量的估计 61

2.3.4 工作分解结构表方法 63

2.3.5 工作量估计的实例 65

2.4 测试资源需求和团队组建 68

2.4.1 测试资源需求 68

2.4.2 团队组建 69

2.4.3 培训 70

2.5 测试里程碑和进度安排 71

2.6 测试风险分析 73

2.7 制定有效的测试策略 78

2.8 完整生成测试计划书 82

2.9 小结 83

第3章 设计验证 85

3.1 系统架构的审查 86

3.1.1 系统架构选型的确认 86

3.1.2 软件设计评审标准 88

3.1.3 系统组件设计的审查 91

3.2 产品设计规格说明书的复审 94

3.2.1 重视设计规格说明书的审查 94

3.2.2 设计规格说明书的多层次审查 95

3.2.3 界面设计的评审 96

3.2.4 验证过程与确认过程 97

3.3 系统部署设计的审查 98

3.3.1 系统部署逻辑设计的审查 99

3.3.2 软件部署物理设计的审查 101

3.3.3 系统部署可用性设计的审查 102

3.3.4 系统部署可伸缩性设计的验证 106

3.3.5 系统部署安全性设计的验证 108

3.4 小结 109

第4章 测试设计 111

4.1 测试用例框架的设计 112

4.1.1 为什么需要测试用例 112

4.1.2 测试用例设计考虑因素 114

4.1.3 测试用例框架的构成 115

4.1.4 测试用例的元素 117

4.2 功能测试用例的设计 118

4.2.1 功能测试用例的内容 120

4.2.2 功能测试用例的设计方法 121

4.2.3 等价类划分法 122

4.2.4 边界值分析法 124

4.2.5 因果图法 128

4.2.6 功能图法 130

4.2.7 错误推测法 131

4.2.8 正交实验设计方法 132

4.3 系统测试用例的设计 134

4.3.1 故障转移的测试用例设计 134

4.3.2 系统安全性的测试用例设计 136

4.4 测试用例的审查 139

4.4.1 测试用例书写标准 139

4.4.2 测试用例评审要点 140

4.5 测试套件的创建 143

4.6 小结 146

第5章 测试工具选择和脚本开发 147

5.1 测试工具的需求分析 148

5.1.1 测试工具的优势 148

5.1.2 测试工具的实现原理 149

5.2 测试工具的选择 153

5.2.1 测试工具选择的标准 153

5.2.2 测试工具评估报告实例 156

5.2.3 测试工具选择的误区 158

5.3 测试工具完整方案之商业版 159

5.3.1 GUI功能测试工具的比较 161

5.3.2 负载和性能测试工具 163

5.3.3 基于Web应用的测试工具 166

5.4 测试工具完整方案之开源版 167

5.4.1 开源测试工具总览 167

5.4.2 Web功能测试工具——Selenium 169

5.4.3 强大的性能测试工具——JMeter 176

5.5 测试脚本录制和回放 179

5.5.1 创建自动化脚本项目 179

5.5.2 录制Selenium脚本 183

5.5.3 用Robot录制客户端测试的脚本 186

5.6 测试脚本的开发 188

5.6.1 适应测试脚本开发的测试用例 188

5.6.2 测试脚本的重构和优化 190

5.6.3 测试脚本开发的框架 191

5.7 小结 193

第6章 测试和编程的交互 195

6.1 程序代码的审查 196

6.1.1 代码审查的方法和范围 196

6.1.2 代码风格的审查 198

6.1.3 编程规则的审查 201

6.2 单元测试 204

6.2.1 什么是单元测试 204

6.2.2 单元测试的现状和作用 206

6.2.3 单元测试的方法 207

6.3 单元测试用例的设计 209

6.3.1 语句覆盖法 210

6.3.2 判定和条件覆盖法 211

6.3.3 基本路径测试法 214

6.3.4 多种白盒测试方法的比较和总结 215

6.3.5 循环结构的测试用例 216

6.3.6 单元测试的典型实例 218

6.4 单元测试工具 220

6.4.1 静态代码分析 221

6.4.2 测试覆盖率工具EMMA 222

6.5小结 225

第7章 功能测试的执行 227

7.1 测试执行概述 228

7.2 测试执行的准备 230

7.2.1 培训和知识传递 230

7.2.2 测试任务安排 231

7.2.3 测试环境的建立 232

7.2.4 测试环境的设置 234

7.2.5 测试自动化运行平台 237

7.3 如何有效地创建测试套件 238

7.3.1 功能测试套件的创建 239

7.3.2 测试环境的爆炸性组合 240

7.3.3 环境组合优化 242

7.4 功能测试自动化的执行 246

7.5 用户界面和适用性测试 249

7.6 回归测试 253

7.7 软件缺陷的报告 255

7.7.1 缺陷的属性 256

7.7.2 缺陷描述的详细描述 259

7.7.3 如何报告缺陷 261

7.8小结 262

第8章 国际化和本地化测试的执行 263

8.1 国际化测试 264

8.1.1 软件国际化的基本要求 265

8.1.2 国际化测试 269

8.1.3 I18N测试实例 271

8.2 本地化测试 273

8.2.1 软件本地化的质量需求 274

8.2.2 本地化测试的基本内容 276

8.2.3 L10N的功能测试 278

8.2.4 L10N的数据格式验证 280

8.2.5 L10N的UI验证 284

8.2.6 L10N的配置和兼容性验证 284

8.2.7 L10N的翻译验证 286

8.3 I18N和L10N测试工具 288

8.4小结 289

第9章 系统测试的执行 291

9.1 如何进行系统测试 292

9.1.1 进一步了解系统测试 292

9.1.2 系统测试的实施策略 295

9.2 Web应用服务器的负载测试 297

9.2.1 负载测试的加载方式 297

9.2.2 负载测试的准备工作 298

9.2.3 负载测试的执行 302

9.2.4 负载测试的结果分析 304

9.3 Web应用服务器的性能测试 305

9.4 Web安全性测试 307

9.5 容错性测试 309

9.6 数据库的性能测试 311

9.7 兼容性测试 315

9.8 安装测试 318

9.8.1 客户端软件安装测试 319

9.8.2 软件服务模式下的安装测试 320

9.9 小结 321

第10章 后续测试 323

10.1 验收测试 324

10.2 文档测试 326

10.3 α测试和β测试 328

10.4 产品后继版本的测试 330

10.5 小结 331

第11章 测试的跟踪和管理 333

11.1 测试管理 334

11.1.1 测试管理的全局性 334

11.1.2 测试策略的执行 336

11.1.3 测试管理系统的应用 337

11.1.4 测试管理工具 339

11.2 测试用例的管理 342

11.2.1 测试用例创建的管理 342

11.2.2 测试用例执行的管理 343

11.2.3 测试用例的维护 344

11.3 测试自动化的管理 346

11.3.1 测试自动化的框架 346

11.3.2 测试自动化的流程 348

11.4 缺陷跟踪和分析 349

11.4.1 缺陷生命周期 350

11.4.2 缺陷状态的跟踪 352

11.4.3 缺陷的分析 352

11.4.4 累计缺陷趋势分析 356

11.5 测试进度和风险的控制 358

11.5.1 测试进度管理 358

11.5.2 测试风险的控制 361

11.6 测试覆盖度和结果分析 364

11.6.1 测试覆盖评估 364

11.6.2 基于软件缺陷的质量评估 366

11.6.3 软件缺陷清除率 368

11.6.4 测试报告的模板、实例 370

11.7 小结 374

第12章 总结和思考 377

12.1 软件测试的现实和原则 378

12.1.1 测试的现实 378

12.1.2 测试的原则 379

12.2 软件测试的多维空间 383

12.3 软件测试方法的应用之道 385

12.3.1 白盒测试方法和黑盒测试方法 385

12.3.2 静态测试和动态测试 386

12.3.3 手工测试和自动化测试 387

12.3.4 有计划测试和随机测试 388

12.3.5 新功能测试和回归测试 389

12.3.6 测试方法综合应用的总结 390

12.3.7 测试方法的有效性和风险性 391

12.4 软件测试的最佳实践 392

12.4.1 测试计划的最佳实践 393

12.4.2 测试用例设计中的最佳实践 394

12.4.3 测试自动化中的最佳实践 396

12.4.4 测试执行中的最佳实践 400

12.4.5 测试团队建设中的最佳实践 402

12.5 软件测试成熟度模型 404

12.5.1 从CMM/CMMI得到的启发 405

12.5.2 目前TMM存在的问题 407

12.5.3 实用测试成熟度模型的建立 409

附录A 软件测试全景图 417

附录B 完整的项目检查表 421

附录C 测试计划(GB8567-88) 425

附录D 完整的测试工具列表 429

附录E 代码审查的示范性列表 439

附录F 软件测试术语中英文对照 443

附录G 参考书目和资源 449