《软件测试技术与应用》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:何月顺著
  • 出 版 社:北京:中国水利水电出版社
  • 出版年份:2012
  • ISBN:9787508498317
  • 页数:304 页
图书介绍:本书主要介绍软件测试技术,分四大部分:理论篇、设计篇、技术篇和扩展篇。理论篇主要介绍软件测试基础知识,目的是让读者对软件测试有一个初步的了解,了解软件测试的重要性;设计篇主要介绍如何编写测试计划、测试方案、设计黑盒和白盒测试用例,重点阐述在编写测试计划和测试方案时需要注意的问题,以及如何设计测试用例;技术篇主要介绍系统测试过程中其他相关测试技术,包括Web测试技术、本地化与国际化测试、兼容性测试和易用性测试。扩展篇主要介绍当前流行的性能测试和自动化测试,通过实例介绍测试的过程。

第一部分 理论篇 2

第1章 软件测试概述 2

1.1 软件测试发展历史 2

1.2 历史教训 5

1.2.1 1962年,“水手1号”火箭爆炸 5

1.2.2 1978年,哈特福德体育场倒塌 5

1.2.3 “5·19”南方六省断网事件 5

1.2.4 2003年,美加停电事故 6

1.3 缺陷的引入 6

1.4 修复缺陷的成本 7

1.5 测试付出的成本 9

1.6 小结 10

第2章 系统生命周期中的测试策略 11

2.1 测试在质量体系中的位置 11

2.1.1 能力成熟度模型集成 11

2.1.2 基于过程中的质量 13

2.2 软件测试模型 15

2.2.1 瀑布模型 15

2.2.2 V模型 17

2.2.3 W模型 18

2.2.4 H模型 19

2.2.5 X模型 19

2.3 系统生命周期中的测试策略 20

2.3.1 开发阶段的测试策略 21

2.3.2 产品阶段的测试策略 22

2.4 小结 23

第3章 软件测试组织 24

3.1 测试部在企业的位置 24

3.2 项目团队模型 25

3.3 测试组织的演变 26

3.4 测试工程师晋升通道 27

3.5 测试工程师职业发展 28

3.6 小结 29

第二部分 设计篇 31

第4章 测试计划设计 31

4.1 制定测试计划的目的 31

4.2 制定测试计划 31

4.2.1 测试计划标识符 31

4.2.2 项目介绍 32

4.2.3 测试项 32

4.2.4 需要测试的特性 32

4.2.5 不被测试的特性 32

4.2.6 测试方法 33

4.2.7 测试项通过/失败准则 33

4.2.8 测试交付物 33

4.2.9 测试任务 34

4.2.10 测试环境 34

4.2.11 职责和人力资源 34

4.2.12 培训需求 34

4.2.13 计划时间表 34

4.2.14 风险及应急办法 34

4.3 小结 35

第5章 测试方案设计 36

5.1 制定测试方案的目的 36

5.2 测试方案设计 36

5.2.1 概述 36

5.2.2 被测试对象 36

5.2.3 应测试的特性 37

5.2.4 不被测试的特性 37

5.2.5 测试环境 37

5.2.6 关键技术分析 37

5.2.7 系统测试策略 38

5.2.8 Alpha测试策略 38

5.2.9 Beta测试策略 38

5.2.10 Build版本划分与测试策略 38

5.2.11 测试工具分析 39

5.3 小结 39

第6章 测试用例设计及管理 40

6.1 测试用例概述 40

6.1.1 为什么需要写测试用例 40

6.1.2 测试用例项 40

6.2 黑盒测试用例设计方法 43

6.2.1 等价类测试用例设计方法 43

6.2.2 边界值测试用例设计方法 48

6.2.3 场景法测试用例设计方法 51

6.2.4 因果图测试用例设计方法 57

6.2.5 判定表测试用例设计方法 60

6.2.6 正交试验测试用例设计方法 63

6.2.7 状态迁移图测试用例设计方法 67

6.2.8 输入域测试用例设计方法 69

6.2.9 输出域测试用例设计方法 70

6.2.10 异常分析测试用例设计方法 70

6.2.11 错误猜测测试用例设计方法 70

6.3 测试用例评审 70

6.4 测试用例变更 73

6.5 小结 74

第7章 缺陷管理与分析 75

7.1 缺陷报告的发展 75

7.1.1 Bug的由来 75

7.1.2 一份简单的缺陷报告 75

7.1.3 一份好的缺陷报告 76

7.2 相关术语 77

7.3 缺陷管理 78

7.3.1 缺陷的严重等级 78

7.3.2 缺陷的管理流程 79

7.3.3 缺陷的生命周期 80

7.3.4 缺陷的状态转变 81

7.3.5 缺陷的收敛性 81

7.4 缺陷分析方法 84

7.4.1 根本原因缺陷分析法 84

7.4.2 四象限缺陷分析法 87

7.4.3 ODC缺陷分析法 89

7.4.4 Rayleigh缺陷分析法 93

7.4.5 Gompertz缺陷分析法 96

7.5 常用的缺陷管理系统 97

7.5.1 开源缺陷管理系统 97

7.5.2 商业化缺陷管理系统 99

7.6 小结 100

第8章 单元测试 101

8.1 单元测试介绍 101

8.1.1 单元测试定义 101

8.1.2 单元测试的重点 101

8.1.3 单元测试环境 104

8.1.4 单元测试策略 107

8.2 静态测试技术 109

8.2.1 代码走查 109

8.2.2 控制流分析 109

8.2.3 数据流分析 111

8.2.4 信息流分析 112

8.3 动态测试技术 113

8.3.1 语句覆盖 113

8.3.2 判定覆盖 114

8.3.3 条件覆盖 114

8.3.4 判定/条件覆盖 115

8.3.5 路径覆盖 116

8.3.6 基本路径覆盖 117

8.4 CppUnit自动化单元测试框架 121

8.5 小结 128

第三部分 技术篇 130

第9章 系统测试 130

9.1 系统测试概述 130

9.2 功能测试 131

9.3 易用性测试 132

9.4 可安装性测试 133

9.4.1 安装过程测试 133

9.4.2 不同环境下的安装 134

9.4.3 系统升级测试 134

9.4.4 安装的文件存放 135

9.4.5 卸载测试 135

9.5 异常测试 136

9.6 压力测试 138

9.7 GUI测试 138

9.8 兼容性测试 140

9.9 性能测试 141

9.10 安全性测试 141

9.11 配置测试 142

9.12 可靠性测试 143

9.13 健壮性测试 143

9.14 系统测试过程 144

9.15 小结 146

第10章 Web系统测试 147

10.1 功能测试 147

10.1.1 链接测试 147

10.1.2 表单测试 150

10.1.3 Cookies测试 150

10.1.4 设计语言测试 152

10.1.5 数据库测试 153

10.1.6 文件上传测试 154

10.2 性能测试 154

10.2.1 链接速度测试 154

10.2.2 负载测试 154

10.2.3 压力测试 154

10.3 GUI测试 155

10.3.1 格式验证 155

10.3.2 导航条测试 155

10.3.3 页面排版测试 156

10.3.4 拼写和语法测试 157

10.3.5 标签属性测试 158

10.3.6 页面源文件测试 158

10.3.7 Tab键测试 158

10.4 兼容性测试 159

10.5 安全性测试 159

10.5.1 Web漏洞扫描 159

10.5.2 服务器端信息测试 160

10.5.3 文件和目录测试 167

10.5.4 认证测试 171

10.5.5 会话管理测试 176

10.5.6 权限管理测试 177

10.5.7 文件上传下载测试 181

10.5.8 消息泄漏测试 183

10.5.9 输入数据测试 184

10.5.10 跨站脚本攻击测试 186

10.5.11 Web Service测试 188

10.6 小结 191

第11章 本地化与国际化测试 192

11.1 本地化与国际化测试概述 192

11.2 国际化测试 193

11.2.1 国际化测试常用术语 193

11.2.2 软件国际化要求 195

11.2.3 软件国际化测试方法 197

11.3 本地化测试 198

11.3.1 同步本地化工程模型 199

11.3.2 多语言测试 200

11.3.3 区域文化 200

11.3.4 数据格式 201

11.3.5 热键 203

11.4 小结 204

第12章 兼容性测试 205

12.1 兼容性测试概述 205

12.1.1 向上兼容 205

12.1.2 向下兼容 206

12.1.3 交叉兼容 206

12.2 硬件兼容 206

12.3 软件兼容 207

12.3.1 浏览器兼容 207

12.3.2 分辨率兼容 207

12.3.3 打印机兼容 208

12.4 数据库兼容 208

12.5 操作系统兼容 209

12.6 数据共享兼容 209

12.7 小结 210

第13章 易用性测试 211

13.1 易用性测试概述 211

13.1.1 易用性的定义 211

13.1.2 UI的七大特征 213

13.2 安装易用性测试 216

13.3 GUI易用性测试 220

13.3.1 GUI的组成部分 220

13.3.2 GUI测试内容 221

13.4 UI易用性测试 230

13.5 易用性测试的自动化实现 230

13.6 小结 233

第四部分 扩展篇 235

第14章 性能测试 235

14.1 性能测试概述 235

14.1.1 什么是性能测试 235

14.1.2 性能测试自动化 235

14.2 主流性能测试工具 237

14.3 性能测试常见术语 238

14.3.1 响应时间 238

14.3.2 并发用户数 239

14.3.3 吞吐量 239

14.3.4 吞吐率 240

14.3.5 点击率 241

14.3.6 资源使用率 241

14.3.7 性能计数器 241

14.3.8 思考时间 242

14.4 性能测试过程 242

14.5 性能测试实例 245

14.5.1 系统介绍 245

14.5.2 设计 246

14.5.3 构建 248

14.5.4 执行 254

14.5.5 分析、诊断和调节 254

14.5.6 测试结论 256

14.6 小结 257

第15章 自动化测试 258

15.1 什么是自动化测试 258

15.1.1 自动化测试目的和范围 258

15.1.2 自动化测试需要达到的程度 259

15.1.3 适合自动化测试的对象 259

15.2 自动化测试优点 260

15.3 自动化测试缺点 261

15.4 自动化测试普遍存在的问题 261

15.5 当前主流自动化测试工具 262

15.6 自动化测试框架 263

15.6.1 自动化测试框架的发展 263

15.6.2 自动化测试框架的开发 265

15.7 自动化测试过程 266

15.8 自动化测试实例 267

15.8.1 系统介绍 267

15.8.2 测试方案及计划 268

15.8.3 测试用例 270

15.8.4 脚本开发 272

15.8.5 执行测试 282

15.8.6 提交测试报告 282

15.9 小结 282

第16章 验收测试 283

16.1 验收测试的内容 283

16.1.1 制定验收测试的标准 283

16.1.2 复审配置项 284

16.1.3 执行验收测试 284

16.2 验收测试的策略 284

16.2.1 式验收测试 284

16.2.2 非正式验收测试 285

16.2.3 Beta测试 286

16.3 验收测试过程 286

16.4 实施验收测试 288

16.5 提交验收测试报告 288

16.6 小结 289

第17章 文档测试 290

17.1 文档的类型 290

17.2 文档测试的现状 292

17.3 文档测试的要点 293

17.4 文档测试的策略 294

17.5 小结 295

第18章 软件测试工程师的职业规划 296

18.1 如何进入软件测试行业 296

18.2 软件测试工程师的职责 297

18.3 软件测试工程师的心态 298

18.4 当前你的工作情况 299

18.5 未来你如何选择 299

18.5.1 性能测试 299

18.5.2 自动化测试 300

18.5.3 单元测试 300

18.5.4 云测试 300

18.6 如何提高自身的技能 301

18.6.1 给自己制定一个目标 301

18.6.2 正规培训 302

18.6.3 自学 302

18.7 小结 303

参考文献 304