《全国计算机等级考试三级教程 软件测试技术 2015年版》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:教育部考试中心编
  • 出 版 社:北京:高等教育出版社
  • 出版年份:2014
  • ISBN:9787040413830
  • 页数:388 页
图书介绍:本书根据教育部考试中心颁布的考试大纲编写,是教育部考试中心组织编写的全国计算机等级考试系列教程之一。本书内容精练、实用性强、叙述通俗、简易可读,每章之后都附有一定数量的习题,是参加三级软件测试考试者必备的教材。本书也可以作为大专院校非计算机专业的计算机入门参考书。

第1章 软件测试的基本概念 1

1.1 软件质量的概念 1

1.1.1 软件质量的定义 1

1.1.2 软件质量的属性 1

1.1.3 软件质量模型 2

1.1.4 软件质量的度量 5

1.1.5 影响软件质量的主要因素 6

1.2 软件测试的概念 6

1.2.1 软件测试的定义与目的 6

1.2.2 软件测试的原则 7

1.3 软件的缺陷与错误 9

1.3.1 软件缺陷的定义和类型 9

1.3.2 软件缺陷的级别 10

1.3.3 软件缺陷产生的原因 10

1.3.4 软件缺陷的构成 11

1.3.5 修复软件缺陷的代价 13

1.4 软件测试的经济学与心理学 13

1.4.1 软件测试的心理学 14

1.4.2 软件测试的经济学 15

1.5 软件质量保证 18

1.5.1 软件质量保证概要 18

1.5.2 软件质量保证活动的实施 19

1.5.3 软件的验证与确认 20

1.5.4 验证和确认任务分析 21

本章小结 23

第2章 软件生存周期中测试的实施 24

2.1 软件开发阶段 24

2.1.1 软件生存周期 24

2.1.2 软件测试的生存周期模型 25

2.1.3 软件测试过程模型 26

2.1.4 测试信息流 27

2.2 需求获取与分析阶段的测试 28

2.2.1 需求评审的实施 28

2.2.2 需求规格说明的评审 28

2.2.3 Wiegers用例与需求评审表 29

2.2.4 基于原型的测试 30

2.2.5 基于需求的测试覆盖率评估 31

2.3 设计阶段的测试 31

2.3.1 设计的测试因素 32

2.3.2 设计评审的实施 33

2.3.3 设计规格说明的评审 33

2.3.4 设计元素的覆盖原则 36

2.4 编程阶段的测试 38

2.4.1 白盒测试与黑盒测试 38

2.4.2 源代码的控制流覆盖原则 39

2.4.3 源代码的数据流覆盖原则 39

2.4.4 源代码的静态分析与动态测试 40

2.5 运行和维护阶段的测试 42

2.6 回归测试 43

2.6.1 回归测试的概念 43

2.6.2 回归测试的类型 43

2.6.3 回归测试的时机 43

2.6.4 回归测试的实施 44

本章小结 47

第3章 代码检查、走查与评审 48

3.1 桌上检查 48

3.1.1 桌上检查的实施 48

3.1.2 桌上检查的检查表 48

3.2 代码检查 49

3.2.1 特定的角色和职责 49

3.2.2 代码检查的实施 51

3.2.3 用于代码检查的检查表 51

3.3 走查 54

3.3.1 特定的角色和职责 54

3.3.2 走查的实施 55

3.3.3 走查中的静态分析技术 56

3.4 同行评审 57

3.4.1 同行评审的角色和职责 57

3.4.2 同行评审的内容 58

3.4.3 评审的方法和技术 60

3.4.4 评审工作 62

本章小结 63

第4章 白盒测试 64

4.1 覆盖率的概念 64

4.2 逻辑覆盖 64

4.2.1 语句覆盖与块覆盖 65

4.2.2 判定覆盖(分支覆盖) 65

4.2.3 条件覆盖 67

4.2.4 条件/判定覆盖 67

4.2.5 条件组合覆盖 69

4.2.6 路径覆盖 70

4.2.7 ESTCA覆盖 70

4.2.8 LCSAJ覆盖 71

4.3 路径测试 72

4.3.1 分支结构的路径测试 72

4.3.2 循环结构的路径测试 73

4.3.3 圈复杂度与基本路径测试 76

4.4 数据流测试 78

4.4.1 定义/使用测试的几个定义 78

4.4.2 定义/使用测试举例 78

4.4.3 定义/使用路径测试覆盖指标 81

4.5 基于覆盖的测试用例选择 83

4.5.1 覆盖率的使用 83

4.5.2 使用最少的测试用例来达到覆盖 84

4.6 程序插桩技术 85

4.6.1 程序插桩 85

4.6.2 用于测试覆盖率的程序插桩 86

4.6.3 用于断言检测的程序插桩 87

4.6.4 用于数据流异常检测的程序插桩 88

本章小结 90

第5章 黑盒测试 91

5.1 等价类测试 91

5.1.1 等价类的概念 91

5.1.2 等价类测试的原则 92

5.1.3 等价类方法测试用例设计举例 93

5.2 边界值分析 95

5.2.1 边界值分析的概念 95

5.2.2 选择测试用例的原则 95

5.2.3 边界值方法测试用例设计举例 96

5.3 基于判定表的测试 97

5.3.1 判定表的概念 97

5.3.2 基于判定表的测试用例设计举例 98

5.4 基于因果图的测试 99

5.4.1 因果图的适用范围 99

5.4.2 用因果图生成测试用例 100

5.4.3 因果图法测试用例设计举例 101

5.5 基于状态图的测试 103

5.5.1 状态图 103

5.5.2 利用状态转换树生成测试用例 105

5.5.3 利用状态转换表生成测试用例 107

5.6 基于功能图的测试 108

5.6.1 功能图 109

5.6.2 功能图法设计测试用例举例 109

5.7 基于用例和场景的测试 111

5.7.1 基本流和备选流 111

5.7.2 利用用例和场景设计测试用例的实例 112

5.8 基于有向图的测试用例设计 116

5.8.1 使用基于有向图的测试的场合 117

5.8.2 基于事务流建模设计测试用例 117

5.8.3 基于控制流建模设计测试用例 120

5.8.4 基于有向图设计测试用例的过程 122

5.9 基于正交实验设计法的测试 123

5.9.1 提取功能说明,构造因子/状态表 123

5.9.2 加权筛选,生成因素分析表 124

5.9.3 利用正交表构造测试数据集 125

5.10 其他黑盒测试用例设计技术 127

本章小结 129

第6章 单元测试和集成测试 131

6.1 单元测试的基本概念 131

6.1.1 单元测试的定义 131

6.1.2 单元测试与集成测试、系统测试的区别 132

6.1.3 单元测试环境 133

6.2 单元测试策略 134

6.2.1 自顶向下的单元测试策略 134

6.2.2 自底向上的单元测试策略 135

6.2.3 孤立测试 135

6.2.4 综合测试 135

6.3 单元测试分析 136

6.3.1 模块接口 136

6.3.2 局部数据结构 137

6.3.3 独立路径 137

6.3.4 出错处理 137

6.3.5 边界条件 138

6.4 单元测试的测试用例设计原则 138

6.4.1 单元测试的测试用例设计步骤 138

6.4.2 单元测试中的白盒测试与黑盒测试 140

6.5 集成测试的基本概念 141

6.6 集成测试策略 143

6.6.1 基于分解的集成策略 143

6.6.2 基于功能的集成 146

6.6.3 基于路径的集成 147

6.6.4 基于调用图的集成 148

6.7 集成测试分析 150

6.7.1 体系结构分析 150

6.7.2 模块单元分析 151

6.7.3 接口分析 152

6.7.4 风险分析 153

6.7.5 可测试性分析 155

6.7.6 集成测试策略分析 155

6.7.7 常见的集成测试故障 155

6.8 集成测试的测试用例设计原则 156

6.8.1 集成测试的测试用例设计步骤 156

6.8.2 场景测试 157

本章小结 159

第7章 系统测试 160

7.1 系统测试概念 160

7.2 系统测试的方法 162

7.2.1 功能测试 162

7.2.2 协议一致性测试 163

7.2.3 性能测试 164

7.2.4 压力测试 165

7.2.5 容量测试 165

7.2.6 安全性测试 166

7.2.7 失效恢复测试 167

7.2.8 备份测试 168

7.2.9 GUI测试 168

7.2.10 健壮性测试 169

7.2.11 兼容性测试 170

7.2.12 可使用性测试 170

7.2.13 安装测试 171

7.2.14 文档测试 172

7.2.15 在线帮助测试 173

7.2.16 数据转换测试 173

7.3 系统测试的实施 174

7.3.1 确认测试 174

7.3.2 α测试和β测试 175

7.3.3 验收测试 175

7.3.4 系统测试问题总结、分析 176

7.4 做好系统测试的原则 176

本章小结 177

第8章 软件性能测试和可靠性测试 178

8.1 软件性能测试的基本概念 178

8.1.1 软件性能 178

8.1.2 软件性能测试 181

8.2 软件性能测试的执行 183

8.2.1 性能测试的过程与组织 183

8.2.2 性能分析 186

8.2.3 性能测试的自动化 187

8.3 软件可靠性的概念 188

8.4 软件可靠性测试的执行 190

8.4.1 软件可靠性测试的过程 190

8.4.2 软件可靠性预测 192

8.5 软件故障数目的预测 193

8.6 软件可靠性分析 193

本章小结 194

第9章 面向对象软件的测试 196

9.1 面向对象软件测试的问题 196

9.1.1 面向对象的基本特点引起的测试问题 196

9.1.2 面向对象程序的测试组织问题 199

9.2 面向对象软件的测试模型及策略 199

9.3 面向对象程序的单元测试 202

9.3.1 方法层次的测试 202

9.3.2 类层次的测试 204

9.3.3 类树层次的测试 205

9.4 面向对象软件的集成测试 205

9.4.1 面向对象软件的集成测试策略 205

9.4.2 针对类间连接的测试 211

9.4.3 面向对象软件集成测试的UML支持 212

9.5 面向对象软件的系统测试 212

本章小结 213

第10章 Web应用软件测试 215

10.1 Web应用软件的特点 215

10.1.1 Web应用软件的概念 215

10.1.2 Web应用软件的特点 215

10.1.3 Web应用软件的基本结构 216

10.1.4 Web应用软件的常用开发技术 217

10.2 应用服务器的分类和特征 218

10.2.1 三层和多层体系结构 218

10.2.2 应用服务器的分类 219

10.2.3 应用服务器对Web应用软件测试的影响 219

10.3 Web应用软件的测试策略 220

10.3.1 表示层的测试 220

10.3.2 业务层的测试 221

10.3.3 数据层的测试 221

10.3.4 层间的集成测试 222

10.4 Web应用软件的系统测试技术 222

10.4.1 功能测试 223

10.4.2 性能测试 223

10.4.3 易用性测试 224

10.4.4 内容测试 224

10.4.5 安全性测试 225

10.4.6 接口测试 226

10.5 基于数据库的Web应用软件的性能测试 226

10.6 Web应用软件的系统安全检测与防护 227

10.6.1 入侵检测 227

10.6.2 漏洞扫描 228

10.6.3 安全策略 229

本章小结 231

第11章 其他测试 232

11.1 兼容性测试 232

11.1.1 硬件兼容性测试 232

11.1.2 软件兼容性测试 233

11.1.3 数据兼容性测试 235

11.2 易用性测试 235

11.2.1 易安装性测试 235

11.2.2 功能易用性测试 236

11.2.3 用户界面测试 238

11.3 极限测试 240

11.3.1 极限编程基础 240

11.3.2 极限测试 241

11.3.3 JUnit简介 243

11.4 文档测试 244

11.4.1 文档测试的范围 244

11.4.2 用户文档的内容 244

11.4.3 用户文档的测试 245

本章小结 247

第12章 软件测试过程和管理 248

12.1 软件测试过程 248

12.1.1 测试过程的概念 248

12.1.2 测试过程的抽象模型 248

12.1.3 测试阶段中的测试活动 250

12.2 测试过程组织与管理 251

12.2.1 软件测试过程管理的特点 251

12.2.2 软件测试过程的人员组织 252

12.3 测试策划管理 253

12.3.1 测试策划的目标 253

12.3.2 测试需求分析 254

12.3.3 测试策略与测试方法 254

12.3.4 测试策划工作流程 255

12.3.5 测试计划的要点 255

12.4 测试设计与实现管理 256

12.4.1 软件测试设计与实现主要内容 256

12.4.2 软件测试设计与实现要点 256

12.4.3 测试用例的设计方法 257

12.4.4 测试用例的管理 257

12.4.5 测试开发 258

12.5 测试环境管理 258

12.5.1 测试环境的定义 258

12.5.2 测试环境是测试的基础 259

12.5.3 测试环境的各要素 259

12.5.4 测试环境准备 261

12.6 测试执行管理 262

12.6.1 基于测试环境的测试用例执行 262

12.6.2 测试用例执行的记录与跟踪 262

12.6.3 软件缺陷的跟踪和管理 263

12.6.4 测试执行活动结束 263

12.7 测试质量分析 264

12.7.1 评估系统测试的覆盖程度 264

12.7.2 软件缺陷分析方法 266

12.8 测试总结管理 267

12.9 测试过程改进 268

12.9.1 软件测试过程改进的概念 268

12.9.2 软件测试过程改进的具体方法 269

本章小结 270

第13章 软件自动化测试 271

13.1 自动化测试的原理与方法 271

13.2 自动化测试的限制 273

13.3 自动化测试用例的生成 275

13.3.1 脚本的作用、质量和编写原则 275

13.3.2 脚本的基本结构 275

13.4 测试执行自动化 278

13.5 测试结果比较自动化 280

13.5.1 自动比较的基本概念 280

13.5.2 动态比较 281

13.5.3 执行后比较 281

13.6 基于STAF/STAX的自动化测试框架 283

13.7 测试工具的分类与选择 285

13.7.1 测试工具的分类 285

13.7.2 测试工具的选择 289

13.8 主流测试工具 292

13.8.1 主流单元测试工具 292

13.8.2 主流功能测试工具 295

13.8.3 主流负载测试工具 298

13.8.4 主流软件测试管理工具 301

本章小结 305

第14章 软件测试的标准和文档 307

14.1 软件测试的标准 307

14.1.1 软件测试规范 307

14.1.2 软件测试文档编制规范 315

14.2 软件测试文档格式和模板 320

14.2.1 软件测试文档格式 320

14.2.2 软件测试部分模板 327

本章小结 330

第15章 软件测试实践 331

15.1 软件测试过程管理实践 331

15.1.1 测试实践中的测试过程类型 331

15.1.2 测试策划实践 332

15.1.3 测试设计与实现的实践 337

15.1.4 测试执行实践 339

15.1.5 测试总结实践 345

15.1.6 QESuiteWeb1.0软件测试过程管理平台实践 345

15.2 白盒测试实践 357

15.2.1 QESAT/C简介 358

15.2.2 被测程序link.c说明 359

15.2.3 测试准备 363

15.2.4 静态分析 367

15.2.5 动态测试 370

本章小结 378

附录1 全国计算机等级考试三级软件测试技术考试大纲(2013年版) 379

附录2 全国计算机等级考试三级软件测试技术样题及参考答案 384