《软件测试方法和技术》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:朱少民主编
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2005
  • ISBN:7302111332
  • 页数:431 页
图书介绍:本书介绍软件测试的流程和技术、方法、深入剖析和探讨了各种测试类型的不同阶段比较成熟的技术。

目录 2

第1部分 软件测试的原理 2

第1章 软件及其开发过程 2

1.1 软件的含义 2

1.2 软件开发过程的特性 3

1.2.1 软件开发的基本过程 4

1.2.2 软件开发过程模型 5

1.2.3 UML代表着软件建模的发展趋势 11

1.3 软件测试的重要性 13

1.3.1 软件所带来的悲剧 14

1.3.2 其他一些例子 15

1.3.3 测试是软件开发重要环节之一 17

小结 18

思考题 19

第2章 软件测试的基本概念和方法 20

2.1 软件质量就是客户的满意度 20

2.1.1 质量的概念 20

2.1.2 软件质量的内涵 21

2.2 软件缺陷(bug)是什么 24

2.2.1 软件缺陷的定义和种类 25

2.2.2 软件缺陷的产生 26

2.2.3 软件缺陷的构成 27

2.2.4 修复软件缺陷的代价 28

2.3 软件测试的基本方法 29

2.3.1 软件测试的原则 29

2.3.2 白盒测试和黑盒测试 31

2.3.3 静态的和动态的方法 32

2.3.4 验证和确认(Verification Validation) 33

2.3.5 ALAC测试 34

2.3.7 软件测试的误区 35

2.3.6 自动化测试和随机测试 35

2.4 软件测试的分类和阶段 37

2.4.1 测试的分类 37

2.4.2 测试的阶段 39

2.5 软件测试的工作范畴 43

2.5.1 测试计划制定 43

2.5.2 设计测试用例 46

2.5.3 执行测试 46

2.5.4 测试结果分析和质量报告 47

小结 48

思考题 49

3.1 软件质量保证 50

3.1.1 SQA概述 50

3.1.2 SQA活动 50

第3章 质量保证与测试策略 50

3.1.3 SQA与软件测试的关系 53

3.2 测试策略 53

3.2.1 测试策略的概念 53

3.2.2 影响测试策略的因素 54

3.2.3 测试策略的确定 55

3.3.1 制定有效的测试计划 56

3.3 测试计划 56

3.3.2 通用测试计划模板 58

3.4 软件质量的可靠性评估 60

3.4.1 软件可靠性评估概述 60

3.4.2 软件可靠性模型 61

3.4.3 可靠性评估过程 62

小结 63

思考题 63

4.1 软件质量标准 64

4.1.1 ISO质量体系标准简介 64

第4章 软件测试依据和规范 64

4.1.2 ISO/GB软件质量体系标准 65

4.1.3 ISO9000-3介绍 67

4.2 软件测试规范 70

4.2.1 概述 70

4.2.2 软件测试规范 70

4.3 CMM思想和结构体系 75

4.3.1 CMM的历史 75

4.3.2 CMM的五个等级及关键过程域 75

4.3.3 CMM与ISO9001思想及结构体系的关系 79

4.4 建立软件测试管理和评判体系 80

小结 82

思考题 83

第2部分 软件测试的技术 86

第5章 单元测试 86

5.1 什么是单元测试 86

5.1.1 单元测试的定义 86

5.1.2 为何要进行单元测试 86

5.2 单元测试的目标和任务 87

5.2.1 单元测试的目标 87

5.2.2 单元测试任务 88

5.3.1 编码的标准和规范 90

5.3 静态测试技术的运用 90

5.3.2 走查 93

5.3.3 审查 94

5.3.4 评审 97

5.4 动态测试技术的运用 97

5.4.1 白盒测试方法 98

5.4.2 黑盒测试方法 98

5.5 调试与评估 100

5.6 单元测试的过程与文档管理 101

5.7 单元测试的常用工具简介 103

小结 104

思考题 104

第6章 集成测试和系统测试 105

6.1 系统集成的模式与方法 105

6.1.1 集成测试前的准备 105

6.1.2 集成测试的模式 106

6.1.3 自顶向下和自底向上集成方法 107

6.1.4 大棒与三明治集成方法 109

6.1.5 持续集成 110

6.2.1 功能测试的目的和内容 111

6.2 功能测试 111

6.2.2 功能测试的方法 112

6.3 系统测试 115

6.3.1 系统测试的内容 116

6.3.2 回归测试 117

6.4 压力测试、容量测试和性能测试 119

6.4.1 压力测试 119

6.4.2 容量测试 120

6.4.3 性能测试 121

6.5 安全性、可靠性和容错性测试 122

6.5.1 安全性测试 123

6.5.2 可靠性测试 124

6.5.3 容错性测试 125

小结 127

思考题 128

第7章 验收测试 129

7.1 验收测试的过程和主要内容 129

7.2 产品规格说明书的验证 130

7.2.1 产品规格说明书的审核 130

7.2.2 产品说明书的验证 131

7.3 用户界面和可用性测试 131

7.4 兼容性测试 134

7.5 可安装性和可恢复性测试 135

7.6 文档测试 137

7.6.1 文档的种类 138

7.6.2 文档测试的重要性 139

7.6.3 怎样进行文档测试 139

7.7 验收测试报告和用户验收测试 140

小结 140

思考题 141

8.1 面向对象软件的特点 142

第8章 面向对象软件的测试 142

8.2 面向对象测试的层次与数据流 146

8.2.1 类与子类的测试 146

8.2.2 分层与增量 147

8.2.3 面向对象层次结构测试重点 147

8.3 面向对象的单元测试 149

8.3.1 面向对象软件测试与传统软件的不同 149

8.3.2 类测试 149

8.4 面向对象的集成测试 153

8.4.1 对象交互 153

8.4.2 面向对象集成测试的常用方法 154

8.4.3 分布式对象测试 155

小结 156

思考题 157

第9章 基于应用服务器的测试 158

9.1 应用服务器的分类和特征 158

9.1.1 应用服务器的分类 158

9.1.2 C/S和B/S结构描述 159

9.1.3 三层和多层结构 159

9.2 基于Web服务器应用的测试 161

9.2.1 常用的Web元素功能测试 161

9.2.2 Web安全性测试 163

9.3.1 数据库服务器性能测试 164

9.2.3 Web负载测试 164

9.3 基于数据库应用服务器的测试 164

9.3.2 数据库并发控制测试 166

9.4 基于J2EE平台的测试 168

9.4.1 J2EE概述 168

9.4.2 基于J2EE应用的单元测试技术 171

9.4.3 实用对象的单元测试 175

9.4.4 事务对象的单元测试 177

9.4.5 Servlet的单元测试 179

9.5 其他应用服务器应用的测试 181

9.4.6 JSP单元测试 181

9.4.7 数据库访问层的单元测试 181

小结 182

第10章 软件本地化测试 183

10.1 什么是软件本地化 183

10.1.1 软件本地化与国际化 184

10.1.2 软件本地化与翻译 184

10.1.3 软件本地化基本步骤 185

10.1.4 软件本地化测试 186

10.2 软件本地化的翻译问题 187

10.3.2 数据格式 189

10.3 软件本地化测试的技术问题 189

10.3.1 字符集问题 189

10.3.3 页面显示和布局 194

10.3.4 配置和兼容性问题 196

10.4 本地化测试的重点 197

10.4.1 翻译所产生的问题 197

10.4.2 功能的实现 198

10.4.3 对本地化测试人员的要求 199

小结 199

思考题 200

第11章 软件测试自动化 201

11.1 测试自动化的内涵 201

11.1.1 软件测试自动化的意义 201

11.1.2 自动化测试的引入和应用 203

11.1.3 测试自动化的基本结构 204

11.1.4 测试自动化的原理和方法 205

11.1.5 测试自动化普遍存在的问题 207

11.2 测试工具的分类和选择 209

11.2.1 测试工具的分类 209

11.2.2 测试工具的选择 210

11.3 测试工具的主流产品介绍 214

11.3.1 面向开发的单元测试工具 214

11.3.2 负载和性能测试工具 216

11.3.3 GUI功能测试工具 217

11.3.4 基于Web应用的测试工具 217

11.3.5 软件测试管理和其他工具 219

11.4 IBM-Rational产品的整体解决方案 221

11.4.1 Rational测试产品结构 221

11.4.2 Rational全套测试解决方案的特点 222

11.5.1 MI产品结构 224

11.5 Mercury Interactive产品的整体解决方案 224

11.5.2 MI3个重量级产品的介绍 225

11.6 Compuware产品的整体解决方案 228

11.6.1 Compuware产品结构 228

11.6.2 Compuware分阶段解决方案 229

小结 232

思考题 233

12.1 测试团队的地位和责任 236

12.1.1 软件测试团队的任务 236

第12章 组织和管理测试团队 236

第3部分 软件测试的实践 236

12.1.2 测试团队的规模 238

12.2 测试团队的构成 239

12.2.1 测试团队的基本构成 239

12.2.2 测试人员的责任 240

12.2.3 测试团队的组织模型 244

12.3 如何从零开始 245

12.3.1 建立测试团队的正确观念 245

12.3.2 测试人员的招聘 247

12.3.3 测试新人的培训 253

12.4.1 树立良好的测试团队意识 254

12.4 测试团队的管理和发展 254

12.4.2 测试团队的激励方法 256

12.4.3 从PSP到TSP 258

12.4.4 知识共享和在岗培训 260

12.5 优秀软件测试工程师的必备素质 262

小结 264

思考题 265

第13章 测试环境的建立 266

13.1 测试环境的重要性 266

13.2.1 产品的使用环境对测试环境的影响 267

13.2 测试环境的各要素 267

13.2.2 主测试环境与辅测试环境 268

13.2.3 测试环境的五要素 268

13.3 建立测试实验室 270

13.3.1 建立测试实验室的必要性 271

13.3.2 选择和规划实验室 272

13.3.3 集成和配置测试设备 273

13.4 测试环境的维护和管理 274

小结 275

思考题 275

14.1.1 测试用例的重要性 276

14.1 测试用例设计概述 276

第14章 软件测试用例的设计 276

14.1.2 测试用例设计书写标准 277

14.1.3 测试用例设计考虑因素 279

14.1.4 测试用例设计的基本原则 282

14.2 白盒测试用例设计方法 283

14.2.1 逻辑覆盖法 283

14.2.2 基本路径测试法 288

14.3.1 等价类划分法 289

14.3 黑盒测试用例设计方法 289

14.3.2 边界值分析法 291

14.3.3 因果图法 293

14.3.4 错误推测法 293

14.3.5 功能图法 294

14.4 测试用例的组织和跟踪 296

14.4.1 组织测试用例 296

14.4.2 跟踪测试用例 299

14.4.3 维护测试用例 301

小结 303

思考题 303

14.4.4 测试用例的覆盖率 303

第15章 报告所发现的软件缺陷 304

15.1 软件缺陷的描述 304

15.1.1 软件缺陷的基本描述 304

15.1.2 软件缺陷属性 305

15.2 软件缺陷相关的信息 308

15.2.1 软件缺陷的图片、记录信息 308

15.2.2 分离和再现软件缺陷 309

15.3 软件缺陷的处理和跟踪 311

15.3.1 软件缺陷生命周期 312

15.3.2 软件缺陷处理技巧 313

15.3.3 软件缺陷跟踪系统 313

15.3.4 缺陷跟踪的方法和图表 317

小结 319

思考题 319

第16章 软件测试和质量分析报告 321

16.1 软件产品的质量度量 321

16.1.1 软件度量的内容和分类 322

16.1.2 软件度量的分工和过程 324

16.1.3 软件质量模型 325

16.1.5 质量度量的统计方法 327

16.1.4 软件质量的度量 327

16.2 评估系统测试的覆盖程度 329

16.2.1 对软件需求的估算 330

16.2.2 基于需求的测试覆盖评估 330

16.2.3 基于代码的测试覆盖评估 331

16.3 软件缺陷分析方法 331

16.3.1 缺陷分布报告 332

16.3.2 缺陷趋势报告 333

16.4 基于缺陷分析的产品质量评估 334

16.4.1 经典的种子公式 335

16.4.2 基于缺陷清除率的估算方法 336

16.4.3 软件产品性能评估 337

16.4.4 借助工具的方法 337

16.5 测试报告的模板、实例 337

小结 340

思考题 341

第17章 软件测试项目管理 342

17.1 软件测试项目管理的概述 342

17.1.1 软件项目管理的共性 343

17.1.2 软件测试项目管理的特点 345

17.2 软件测试项目的组织 346

17.3 软件测试项目的过程管理 349

17.3.1 测试计划阶段 350

17.3.2 软件测试设计和开发 353

17.3.3 测试执行阶段 355

17.4 软件测试项目的资源管理 358

17.5 测试项目的进度管理 360

17.5.1 测试项目的里程碑和关键路径 360

17.5.2 测试项目进度的特性及外在关系 362

17.5.3 测试项目进度的管理方法和工具 364

17.6 测试项目的风险管理 368

17.7 测试项目的质量和配置管理 370

17.8 软件测试文档的管理 371

小结 373

思考题 374

附录A 软件测试的英文术语及中文解释 375

附录B 质量管理体系——要求(国家标准GB/T 19001-2000,Idt ISO9001∶2000) 391

附录C 信息技术——软件包质量要求和测试(国家标准GB/T 17544—1998,Idt ISO/IEC 12119∶1994) 402

附录D 测试计划模板 413

附录E C++Inspection Checklist 425

附录F Java Code Inspection Checklist 428

参考文献 431