《软件测试概念与实践》PDF下载

  • 购买积分:16 如何计算积分?
  • 作  者:(美)ALIMILI,FAIROUZTCHIER著;颜炯译
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2016
  • ISBN:9787302441496
  • 页数:520 页
图书介绍:全书分为5大部分,第1部分介绍软件测试的基本概念,探讨软件测试所要完成的目标、软件测试生命周期等;第2部分介绍开展软件测试工作所要掌握的一些数学知识,包括软件规范、程序纠错和验证、软件依赖等;第3部分介绍测试数据的生成、规范、标准;第4部分介绍测试驱动的设计、分析等;第5部分介绍测试的管理、测试工具等。

第Ⅰ部分 软件测试介绍 3

第1章 软件工程:一种与众不同的原则 3

1.1 年轻而动荡的原则 3

1.2 压力下的行业 6

1.3 规模庞大的复杂产品 7

1.4 昂贵的产品 10

1.5 缺乏重用实践 12

1.6 容易出错的设计 13

1.7 矛盾的经济学 14

1.7.1 劳动力密集的产业 15

1.7.2 缺少自动化 15

1.7.3 质量控制手段有限 16

1.7.4 不平衡的生命周期成本 16

1.7.5 不平衡的维护成本 17

1.8 本章小结 19

1.9 参考书目注释 19

第2章 软件质量属性 21

2.1 功能属性 22

2.1.1 布尔属性 22

2.1.2 统计属性 23

2.2 操作属性 25

2.3 可用性属性 27

2.4 业务属性 28

2.5 结构属性 30

2.6 本章小结 32

2.7 练习 32

2.8 参考书目注释 33

第3章 软件测试生命周期 35

3.1 软件工程生命周期 35

3.2 软件测试生命周期 41

3.3 软件测试的V模型 48

3.4 本章小结 51

3.5 参考书目注释 51

第Ⅱ部分 软件测试基础 55

第4章 软件规约 55

4.1 坚实可靠规约的原则 57

4.2 关系数学 58

4.2.1 集合与关系 58

4.2.2 关系操作 59

4.2.3 关系的属性 61

4.3 简单的输入输出程序 63

4.3.1 表达规约 63

4.3.2 对规约排序 67

4.3.3 规约生成 69

4.3.4 规约确认 75

4.4 可靠性和安全性 83

4.5 基于状态的系统 86

4.5.1 关系模型 86

4.5.2 公理表达 89

4.5.3 规约确认 98

4.6 本章小结 101

4.7 练习 101

4.8 问题 106

4.9 参考书目注释 109

第5章 程序正确性和验证 111

5.1 正确性的定义 113

5.2 正确性:命题 117

5.2.1 正确性和精化 118

5.2.2 集合论的特征 120

5.2.3 解释 121

5.3 验证 124

5.3.1 公式样例 126

5.3.2 推理系统 128

5.3.3 用于解释的示例 133

5.4 本章小结 138

5.5 练习 139

5.6 问题 141

5.7 参考书目注释 141

第6章 失效、错误和缺陷 143

6.1 失效、错误和缺陷 143

6.2 缺陷和相对正确性 146

6.2.1 缺陷,一个含糊的概念 146

6.2.2 相对正确性 148

6.3 视情况而定的缺陷和确定性缺陷 151

6.3.1 视情况而定的缺陷 151

6.3.2 单调的缺陷去除 155

6.3.3 一个单调缺陷去除的框架 161

6.3.4 确定性缺陷 162

6.4 缺陷管理 164

6.4.1 多道防线 164

6.4.2 混合确认 166

6.5 本章小结 171

6.6 练习 172

6.7 问题 174

6.8 参考书目注释 174

第7章 软件测试分类 175

7.1 联合测试存在的问题 175

7.2 分类方案 176

7.2.1 主要属性 178

7.2.2 次要属性 183

7.3 测试分类 190

7.3.1 单元级测试 190

7.3.2 系统级测试 192

7.4 练习 194

7.5 参考书目注释 195

第Ⅲ部分 测试数据生成 199

第8章 测试生成概念 199

8.1 测试生成和目标属性 199

8.2 测试输出 203

8.3 测试生成需求 206

8.4 测试生成准则 211

8.5 基于经验的充分性评价 216

8.6 本章小结 222

8.7 练习 223

8.8 参考书目注释 225

8.9 附录:变异程序 226

第9章 功能准则 229

9.1 域划分 229

9.2 使用表格表达式生成测试数据 237

9.3 基于状态的系统的测试生成 244

9.4 随机测试数据生成 255

9.5 将测试数据选择比喻为一次旅行 260

9.6 本章小结 263

9.7 练习 264

9.8 参考书目注释 267

第10章 结构化准则 269

10.1 路径和路径条件 270

10.1.1 执行路径 270

10.1.2 路径函数 273

10.1.3 路径条件 279

10.2 控制流覆盖 281

10.2.1 语句覆盖 281

10.2.2 分支覆盖 284

10.2.3 条件覆盖 286

10.2.4 路径覆盖 289

10.3 数据流覆盖 296

10.3.1 定义和使用 296

10.3.2 测试生成准则 300

10.3.3 测试准则的层次结构 304

10.4 基于缺陷的测试生成 305

10.4.1 感知缺陷 306

10.4.2 为感知缺陷选择输入数据 311

10.4.3 针对错误传播选择输入数据 313

10.5 本章小结 314

10.6 练习 315

10.7 参考书目注释 319

第Ⅳ部分 测试部署与分析 323

第11章 测试预言设计 323

11.1 测试预言设计的困境 323

11.2 从规约到预言 327

11.3 基于状态的软件产品的测试预言 332

11.3.1 从公理到测试预言 333

11.3.2 从规则到预言 335

11.4 本章小结 342

11.5 练习 343

第12章 测试驱动设计 347

12.1 选择一种规约 347

12.2 选择一种过程 350

12.3 选择一种规约模型 352

12.3.1 随机测试生成 353

12.3.2 预先生成的测试数据 360

12.3.3 缺陷和缺陷检测 365

12.4 使用符号执行进行测试 370

12.5 本章小结 376

12.6 练习 376

12.7 参考书目目注释 383

第13章 分析测试输出 385

13.1 逻辑解释 386

13.1.1 具体测试 386

13.1.2 符号测试 388

13.1.3 具体-符号测试 389

13.2 随机解释:缺陷密度 391

13.3 随机解释:失效概率 395

13.3.1 缺陷与缺陷并不相同 395

13.3.2 定义/量化可靠性 398

13.3.3 软件可靠性建模 400

13.3.4 认证测试 405

13.3.5 可靠性估计和可靠性增长 406

13.3.6 可靠性标准 411

13.3.7 作为经济函数的可靠性 412

13.4 本章小结 422

13.5 练习 423

13.6 问题 425

13.7 参考书目注释 426

第Ⅴ部分 软件测试管理 429

第14章 软件测试的度量 429

14.1 缺陷倾向性 431

14.1.1 圈复杂度 431

14.1.2 规模 433

14.2 缺陷可检测性 434

14.3 错误可检测性 439

14.4 错误可掩盖性 442

14.5 避免失效 445

14.6 容错 447

14.7 解释示例 449

14.7.1 圈复杂度 450

14.7.2 规模 450

14.7.3 状态冗余 450

14.7.4 函数冗余 451

14.7.5 非内射性 452

14.7.6 不确定性 452

14.7.7 小结 453

14.8 本章小结 454

14.9 练习 455

14.10 参考书目注释 456

第15章 软件测试工具 457

15.1 分类方案 457

15.2 脚本工具 459

15.2.1 CppTest 459

15.2.2 SilkTest 460

15.3 录制-回放工具 462

15.3.1 TestComplete 462

15.3.2 Selenium IDE 463

15.4 性能测试工具 465

15.4.1 LoadRunner 465

15.4.2 Grinder 466

15.4.3 QF-Test 467

15.4.4 Appvance PerformanceCloud 468

15.4.5 JMeter 469

15.5 预言设计工具 471

15.5.1 JUnit 471

15.5.2 TestNG 472

15.6 异常检测 473

15.6.1 Rational Purify 473

15.6.2 Astree 474

15.7 协同工具 475

15.8 本章小结 476

第16章 测试产品线 477

16.1 PLE:流水线重用模型 477

16.2 测试问题 482

16.3 测试方法 485

16.4 解释 486

16.4.1 领域分析 486

16.4.2 领域建模 490

16.4.3 参考架构 494

16.4.4 领域实现 496

16.4.5 在领域工程阶段进行测试 503

16.4.6 在应用程序工程阶段进行测试 508

16.5 本章小结 511

16.6 练习 512

16.7 问题 513

16.8 引用的参考书目 513

参考文献 515