《软件测试技术 第2版》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:曲朝阳,刘志颖,杨杰明,刘迪编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2015
  • ISBN:9787302382539
  • 页数:410 页
图书介绍:软件测试作为软件工程学科的一个分支,教材的设计仍然需要考虑这两门课程的衔接。同时,需要结合软件测试行业的人才培养需求和软件测试技术发展的趋势,补充测试充分性度量技术,加大软件测试自动化部分内容的比例,增加或更新原有教材中的实际案例,加强软件测试理论和实践的结合。

第1章 概述 1

1.1 软件测试的发展历程及现状 1

1.1.1 软件测试的发展历程 1

1.1.2 我国软件测试的现状 2

1.2 什么是软件测试 2

1.2.1 软件测试的定义 3

1.2.2 软件测试生命周期 4

1.2.3 软件开发与测试模型 4

1.2.4 与软件测试相关的术语 8

1.3 软件测试技术分类 9

1.4 软件测试的目的 14

1.5 软件测试的原则 16

1.5.1 尽早地和不断地进行软件测试 16

1.5.2 不可能完全的测试 16

1.5.3 增量测试,由小到大 19

1.5.4 避免测试自己的程序 20

1.5.5 设计周密的测试用例 20

1.5.6 注意错误集中的现象 23

1.5.7 确认bug的有效性 23

1.5.8 合理安排测试计划 24

1.5.9 回归测试 24

1.5.10 测试结果的统计和分析 25

1.5.11 及时更新测试 25

1.6 软件测试工作流程 26

1.7 软件测试中的误区 29

1.8 一个贯穿全文的例子——在线测评平台 30

1.8.1 系统概述 31

1.8.2 系统需求 32

1.8.3 系统分析 36

1.8.4 系统设计 40

1.8.5 系统实施 42

1.8.6 系统运行环境及配置 42

1.8.7 系统使用说明 43

本章小结 52

习题 53

第2章 离散数学和图论基础 55

2.1 集合论 55

2.2 函数 57

2.3 关系 58

2.4 命题逻辑 60

2.5 概率论 62

2.6 用于测试的图 63

2.6.1 图 63

2.6.2 程序图 65

2.6.3 有限状态机 66

2.6.4 状态图 67

本章小结 68

习题 68

第3章 白盒测试 69

3.1 白盒测试概述 69

3.1.1 白盒测试与调试的异同 71

3.1.2 白盒测试的分类 72

3.2 白盒测试用例设计技术 73

3.2.1 逻辑覆盖测试 73

3.2.2 边界值分析 77

3.2.3 基本路径测试 77

3.2.4 循环语句测试 80

3.2.5 程序插装 81

3.2.6 其他白盒测试方法 83

本章小结 84

习题 85

第4章 黑盒测试 88

4.1 黑盒测试概述 89

4.1.1 黑盒测试和白盒测试的异同 89

4.1.2 黑盒测试的原则和策略 90

4.2 黑盒测试用例设计技术 91

4.2.1 等价类划分法 91

4.2.2 边界值分析法 95

4.2.3 因果图法 98

4.2.4 决策表法 101

4.2.5 错误推测法 103

本章小结 103

习题 104

第5章 单元测试 105

5.1 单元测试概述 106

5.1.1 单元测试误区 108

5.1.2 单元测试与集成测试区别 110

5.1.3 单元测试与系统测试区别 111

5.2 单元测试环境 111

5.3 单元测试策略 113

5.3.1 自顶向下的单元测试策略 113

5.3.2 自底向上的单元测试 113

5.3.3 孤立测试 114

5.4 单元测试主要任务 114

5.5 单元测试步骤 118

5.6 单元测试用例设计 121

5.7 单元测试案例 131

5.8 单元测试经验总结 139

本章小结 139

习题 139

第6章 集成测试 141

6.1 集成测试概述 141

6.1.1 集成测试与系统测试的区别 142

6.1.2 集成测试与开发的关系 143

6.1.3 集成测试的重点 143

6.1.4 集成测试的层次 144

6.2 如何进行集成测试 144

6.2.1 集成测试分析 144

6.2.2 集成测试策略 149

6.2.3 集成测试环境 166

6.2.4 集成测试用例设计 167

6.2.5 集成测试过程 171

6.2.6 集成测试举例 173

6.3 集成测试经验总结 183

本章小结 184

习题 185

第7章 系统测试 186

7.1 系统测试概述 186

7.1.1 什么是系统测试 186

7.1.2 系统测试的组织和分工 187

7.2 如何进行系统测试 187

7.2.1 系统测试分析 188

7.2.2 系统测试环境 189

7.2.3 系统测试类型 191

7.2.4 系统测试用例设计 206

7.2.5 系统测试执行 207

7.2.6 系统测试案例研究 208

7.3 系统测试经验总结 226

本章小结 227

习题 227

第8章 软件测试自动化 229

8.1 进行自动化测试的适当时机 229

8.1.1 概述 230

8.1.2 自动化测试的成本 231

8.1.3 自动化测试的生命周期 232

8.1.4 自动化测试的价值 234

8.1.5 例子 237

8.1.6 另外一些需要考虑的问题 238

8.2 自动化测试和手工测试 240

8.2.1 自动化测试与手工测试的比较 240

8.2.2 短测试周期中手工测试面临的挑战 240

8.2.3 手工测试的问题 241

8.2.4 自动化测试的问题 242

8.2.5 自动化测试的优点 242

8.2.6 自动化测试的缺点 244

8.3 自动化测试工具的选择和使用 244

8.3.1 应用自动化测试工具的目的 245

8.3.2 自动化测试工具的概要介绍 245

8.3.3 自动化测试工具的选择 249

8.3.4 自动化测试工具在测试过程中的应用 250

8.4 自动化测试工具 251

8.4.1 JUnit 251

8.4.2 C++ Test 266

8.4.3 LoadRunner 275

8.4.4 IBM Rational Functional Tester 297

经验总结 302

本章小结 304

习题 305

第9章 软件bug和管理 306

9.1 软件bug概述 306

9.1.1 bug的影响 307

9.1.2 bug的产生 308

9.2 bug的种类 311

9.2.1 需求阶段的bug 311

9.2.2 分析设计阶段的bug 312

9.2.3 实现阶段的bug 312

9.2.4 配置阶段的bug 315

9.2.5 短视将来的bug 315

9.2.6 静态文档的bug 316

9.3 bug报告单的提交和管理 316

9.3.1 bug报告单的内容 316

9.3.2 bug报告的特点 322

9.3.3 重现bug的分析和方法 324

9.3.4 bug管理流程 331

本章小结 335

习题 335

附录A 软件测试常用术语表 336

附录B 软件常见错误 352

B1 用户界面错误 352

B1.1 功能性 352

B1.2 通信 353

B1.3 命令结构和录入 358

B1.4 遗漏的命令 362

B1.5 程序僵化 364

B1.6 性能 367

B1.7 输出 369

B2 错误处理 370

B3 边界相关错误 372

B4 计算错误 374

B5 初始状态和以后状态 377

B6 控制流错误 379

B6.1 程序失去控制 380

B6.2 程序停止 384

B6.3 循环 385

B6.4 IF、THEN、ELSE或者其他情况 386

B6.5 多种情况 388

B7 处理或解释数据的错误 389

B7.1 在例程之间传递数据时的问题 389

B7.2 数据边界 392

B7.3 超过消息缓冲区的极限读取数据 392

B7.4 消息问题 393

B7.5 数据存储损坏 394

B8 竞争条件 394

B9 负荷情况 397

B10 硬件 400

B11 来源、版本和ID控制 403

B12 测试错误 405

参考文献 409