《软件测试原理与实践》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:(印)SrinivasanDesikan编
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2009
  • ISBN:9787111255062
  • 页数:287 页
图书介绍:

第一部分 写作线索 2

第1章 测试原理 2

1.1 生产软件中的测试背景 2

1.2 本章介绍 3

1.3 不完善的车 4

1.4 Dijkstra定律 4

1.5 及时测试 5

1.6 圣人和猫 6

1.7 首先测试测试用例 7

1.8 杀虫剂悖论 7

1.9 护航舰队与破布 8

1.10 桥上的警察 9

1.11 钟摆的终结 9

1.12 黑衣人 11

1.13 自动化综合症 12

1.14 小结 13

第2章 软件开发生存周期模型 15

2.1 软件项目的阶段 15

2.1.1 需求获取和分析 15

2.1.2 策划 15

2.1.3 设计 15

2.1.4 开发或编码 15

2.1.5 测试 16

2.1.6 部署和维护 16

2.2 质量、质量保证和质量控制 16

2.3 测试、验证和确认 17

2.4 表示不同阶段的过程模型 18

2.5 生存周期模型 19

2.5.1 瀑布模型 19

2.5.2 原型和快速应用开发模型 20

2.5.3 螺旋或迭代模型 22

2.5.4 V字模型 22

2.5.5 改进型V字模型 24

2.5.6 各种生存周期模型的比较 26

第二部 分测试类型 30

第3章 白盒测试 30

3.1 白盒测试的定义 30

3.2 静态测试 30

3.2.1 人工静态测试 31

3.2.2 静态分析工具 33

3.3 结构测试 35

3.3.1 单元/代码功能测试 35

3.3.2 代码覆盖测试 36

3.3.3 代码复杂度测试 40

3.4 白盒测试中的挑战 43

第4章 黑盒测试 47

4.1 黑盒测试的定义 47

4.2 黑盒测试的意义 48

4.3 黑盒测试的时机 48

4.4 黑盒测试的方法 48

4.4.1 基于需求的测试 49

4.4.2 正面和负面测试 52

4.4.3 边界值分析 53

4.4.4 决策表 56

4.4.5 等价划分 57

4.4.6 基于状态或基于图的测试 59

4.4.7 兼容性测试 61

4.4.8 用户文档测试 63

4.4.9 领域测试 64

4.5 小结 66

第5章 集成测试 68

5.1 集成测试的定义 68

5.2 集成测试作为一种测试类型 68

5.2.1 自顶向下集成 70

5.2.2 自底向上集成 71

5.2.3 双向集成 72

5.2.4 系统集成 73

5.2.5 选择集成方法 73

5.3 集成测试作为一个测试阶段 74

5.4 场景测试 74

5.4.1 系统场景 74

5.4.2 用例场景 75

5.5 缺陷围歼 77

5.5.1 选择缺陷围歼的频度和持续时间 77

5.5.2 选择合适的产品版本 77

5.5.3 对缺陷围歼的目标进行沟通 78

5.5.4 建立和监视实验室 78

5.5.5 采取行动解决问题 78

5.5.6 优化缺陷围歼所涉及的工作 78

5.6 小结 79

第6章 系统测试和确认测试 80

6.1 系统测试概述 80

6.2 实施系统测试的原因 81

6.3 功能测试与非功能测试 82

6.4 功能系统测试 83

6.4.1 设计/体系结构验证 84

6.4.2 业务垂直测试 84

6.4.3 部署测试 85

6.4.4 贝塔测试 86

6.4.5 符合性的认证、标准和测试 87

6.5 非功能系统测试 88

6.5.1 设置配置 88

6.5.2 提出进入与退出准则 89

6.5.3 平衡关键资源 89

6.5.4 可伸缩性测试 90

6.5.5 可靠性测试 92

6.5.6 压力测试 95

6.5.7 互操作性测试 97

6.6 确认测试 98

6.6.1 确认准则 99

6.6.2 选择确认测试的测试用例 99

6.6.3 执行确认测试 100

6.7 测试阶段小结 101

6.7.1 多阶段测试模型 101

6.7.2 多个发布版本的处理 103

6.7.3 谁负责实施与何时实施 103

第7章 性能测试 106

7.1 引论 106

7.2 决定性能测试的要素 106

7.3 性能测试的方法论 108

7.3.1 收集需求 108

7.3.2 编写测试用例 110

7.3.3 自动化性能测试用例 110

7.3.4 执行性能测试用例 111

7.3.5 分析性能测试结果 112

7.3.6 性能调谐 113

7.3.7 性能基准测试 115

7.3.8 能力策划 116

7.4 性能测试工具 116

7.5 性能测试的过程 117

7.6 挑战 118

第8章 回归测试 120

8.1 回归测试的定义 120

8.2 回归测试的类型 120

8.3 回归测试的时机 121

8.4 回归测试的方法 122

8.4.1 实施第一次“冒烟”或“摸底”测试 123

8.4.2 理解选择测试用例的准则 123

8.4.3 测试用例分类 124

8.4.4 选择测试用例的方法论 125

8.4.5 重新设置测试用例以进行回归测试 126

8.4.6 总结回归测试的结果 128

8.5 回归测试的最佳实践 128

第9章 国际化〔I18n〕测试 131

9.1 引言 131

9.2 国际化介绍 131

9.2.1 语言的定义 131

9.2.2 字符集 131

9.2.3 属地 132

9.2.4 本章使用的术语 132

9.3 国际化测试的测试阶段 133

9.4 有效化测试 134

9.5 属地测试 135

9.6 国际化确认 136

9.7 假语言测试 137

9.8 语言测试 138

9.9 本地化测试 138

9.10 国际化使用的工具 140

9.11 挑战与问题 140

第10章 即兴测试 142

10.1 即兴测试概述 142

10.2 伙伴测试 144

10.3 结对测试 145

10.4 探索式测试 146

10.5 迭代式测试 148

10.6 敏捷与极限测试 149

10.6.1 XP工作流 150

10.6.2 通过例子进行小结 152

10.7 缺陷播种 153

10.8 小结 153

第三部分 特殊测试专题 156

第11章 面向对象系统的测试 156

11.1 引言 156

11.2 面向对象软件入门 156

11.3 面向对象测试的差别 161

11.3.1 一组类的单元测试 161

11.3.2 将类组合在一起—集成测试 164

11.3.3 面向对象系统的系统测试与互操作 165

11.3.4 面向对象系统的回归测试 165

11.3.5 面向对象系统的测试工具 165

11.3.6 小结 167

第12章 可使用性与易获得性测试 169

12.1 可使用性测试的定义 169

12.2 可使用性测试的途径 170

12.3 可使用性测试的时机 171

12.4 实现可使用性的方法 173

12.5 可使用性的质量因素 174

12.6 美感测试 175

12.7 易获得性测试 175

12.7.1 基本易获得性 176

12.7.2 产品易获得性 177

12.8 可使用性工具 179

12.9 可使用性实验室的建立 180

12.10 可使用性的测试角色 181

12.11 小结 182

第四部分 测试中的人员和组织问题 184

第13章 常见人员问题 184

13.1 关于测试的感觉和错误概念 184

13.1.1 “测试没有什么技术挑战” 184

13.1.2 “测试没有为我提供职业成长道路” 185

13.1.3 “我被派来测试—我到底怎么了?!” 186

13.1.4 “这些人是我的对手” 186

13.1.5 “测试是如果我有时间最终会做的工作” 186

13.1.6 “测试的拥有者毫无意义” 187

13.1.7 “测试只是破坏” 187

13.2 测试与开发工作的比较 188

13.3 为测试人员提供职业发展道路 188

13.4 生态系统的角色与行动要求 192

13.4.1 教育系统的角色 192

13.4.2 高级管理层的角色 193

13.4.3 测试界的角色 194

第14章 测试团队的组织结构 196

14.1 组织结构的要素 196

14.2 单产品公司的结构 196

14.2.1 单产品公司的测试团队结构 197

14.2.2 按组件组织的测试团队 199

14.3 多产品公司的结构 199

14.3.1 测试团队作为“首席技术官办公室”的一部分 200

14.3.2 针对所有产品的单一测试团队 201

14.3.3 按产品组织的测试团队 201

14.3.4 针对不同测试阶段的独立测试团队 201

14.3.5 混合模型 202

14.4 全球化与地域分散的团队对产品测试的影响 202

14.4.1 全球化的业务影响 202

14.4.2 全时区开发/测试团队模型 203

14.4.3 测试能力中心模型 204

14.4.4 全球团队面临的挑战 205

14.5 测试服务公司 206

14.5.1 测试服务的业务需求 206

14.5.2 测试作为一种服务与产品测试公司之间的差别 207

14.5.3 测试服务公司的典型角色和责任 208

14.5.4 测试服务公司面临的挑战与问题 209

14.6 测试公司的成功因素 211

第五部分 测试管理与自动化 214

第15章 测试策划、管理、执行与报告 214

15.1 引言 214

15.2 测试策划 214

15.2.1 准备测试计划 214

15.2.2 范围管理:决定要测试和不测试的特性 214

15.2.3 确定测试方法和策略 215

15.2.4 确定测试准则 216

15.2.5 确定责任、人员和培训计划 216

15.2.6 确定资源需求 216

15.2.7 确定测试的可交付产品 217

15.2.8 测试任务:规模与工作量估计 217

15.2.9 活动分解与进度估计 219

15.2.10 沟通管理 220

15.2.11 风险管理 220

15.3 测试管理 223

15.3.1 标准的选择 223

15.3.2 测试基础设施管理 225

15.3.3 测试人员管理 227

15.3.4 与产品发布集成 227

15.4 测试过程 228

15.4.1 把各种要素放在一起并确定测试计划基线 228

15.4.2 测试用例规格说明 228

15.4.3 可跟踪性矩阵的更新 229

15.4.4 确定有可能实现自动化的测试用例 229

15.4.5 测试用例的开发和基线确立 229

15.4.6 测试用例的执行与可跟踪性矩阵的更新 229

15.4.7 指标的采集与分析 230

15.4.8 准备测试总结报告 230

15.4.9 推荐产品发布准则 230

15.5 测试报告 230

15.6 最佳实践 231

15.6.1 与过程相关的最佳实践 232

15.6.2 与人员相关的最佳实践 232

15.6.3 与技术相关的最佳实践 232

附录A:测试策划检查单 233

附录B:测试计划模板 234

第16章 软件测试自动化 237

16.1 测试自动化的定义 237

16.2 自动化使用的术语 238

16.3 自动化所需的技能 239

16.4 自动化的对象与范围 240

16.4.1 确定自动化负责的测试类型 241

16.4.2 自动化不太可能变更的部分 241

16.4.3 自动化测试符合标准 241

16.4.4 自动化的管理问题 242

16.5 自动化的设计和体系结构 242

16.5.1 外部模块 243

16.5.2 场景与配置文件模块 243

16.5.3 测试用例与测试框架模块 243

16.5.4 工具与结果模块 244

16.5.5 报告生成器与报告/指标模块 244

16.6 测试工具/框架的一般需求 244

16.7 自动化的过程模型 250

16.8 测试工具的选择 252

16.8.1 选择测试工具的准则 253

16.8.2 工具选择与部署步骤 254

16.9 极限编程模型的自动化 255

16.10 自动化中的挑战 255

16.11 小结 255

第17章 测试指标和度量 258

17.1 指标和度量的定义 258

17.2 测试中指标的意义 260

17.3 指标类型 262

17.4 项目指标 262

17.4.1 投入偏差(计划投入与实际投入) 263

17.4.2 计划偏差(计划与实际) 264

17.4.3 不同阶段内的投入分布 265

17.5 进度指标 266

17.5.1 测试缺陷指标 267

17.5.2 开发缺陷指标 273

17.6 生产力指标 277

17.6.1 每100小时测试发现的缺陷数 277

17.6.2 每100小时的测试用例执行数 278

17.6.3 每100小时的测试开发测试用例数 278

17.6.4 每100个测试用例发现的缺陷数 279

17.6.5 每100个失败的测试用例缺陷数 279

17.6.6 测试阶段有效性 280

17.6.7 已关闭缺陷的分布 280

17.7 发布指标 281

17.8 小结 282

参考文献 284