《HI BUGS 全面软件测试》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:黄文高编著
  • 出 版 社:北京:中国水利水电出版社
  • 出版年份:2016
  • ISBN:9787517044116
  • 页数:430 页
图书介绍:本书主要介绍企业软件测试的流程、方法和技术。本书主要分四篇:理论篇、设计篇、技术篇和扩展篇。理论篇主要介绍软件测试的基础知识;设计篇主要介绍企业中真实的软件测试的流程,包括测试计划、设计、执行、结果报告等,尤其是如何对缺陷进行度量,是本篇内容的一大亮点;技术篇主要介绍系统测试过程中其他的相关测试技术,包括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”南方六省断网事件 6

1.2.4 2003年,美加停电事故 6

1.3 软件测试定义 7

1.4 软件测试分类 8

1.4.1 黑盒、白盒、灰盒测试的区别 9

1.4.2 动态与静态测试的区别 10

1.4.3 手工与自动化测试的区别 11

1.5 软件测试阶段 11

1.5.1 软件测试阶段划分 12

1.5.2 回归测试 12

1.6 小结 14

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

2.1 测试级别 15

2.1.1 组件测试 15

2.1.2 集成测试 16

2.1.3 系统测试 17

2.1.4 验收测试 18

2.2 测试在质量体系中的位置 18

2.2.1 能力成熟度模型集成 18

2.2.2 基于过程中的质量 20

2.3 软件测试模型 23

2.3.1 瀑布模型 23

2.3.2 V模型 25

2.3.3 W模型 26

2.3.4 H模型 27

2.3.5 X模型 28

2.4 系统生命周期中的测试策略 30

2.4.1 开发阶段的测试策略 31

2.4.2 产品阶段的测试策略 31

2.5 小结 33

第3章 软件测试组织 34

3.1 测试部在企业的位置 34

3.2 项目团队模型 35

3.3 测试组织的演变 37

3.4 测试工程师晋升通道 38

3.5 测试工程师职业发展 39

3.6 小结 40

第二部分 设计篇 42

第4章 软件测试过程 42

4.1 测试过程模型 42

4.2 计划与控制 43

4.2.1 关键过程域 43

4.2.2 阶段度量指标 58

4.2.3 能力评价 59

4.3 分析与设计 59

4.3.1 关键过程域 60

4.3.2 阶段度量指标 63

4.3.3 能力评价 64

4.4 实现与执行 64

4.4.1 关键过程域 64

4.4.2 阶段度量指标 66

4.4.3 能力评价 66

4.5 评估与报告 66

4.5.1 关键过程域 66

4.5.2 阶段度量指标 70

4.5.3 能力评价 70

4.6 结束活动 70

4.6.1 关键过程域 70

4.6.2 阶段度量目标 71

4.6.3 能力评价 71

4.7 小结 71

第5章 软件质量模型 72

5.1 软件质量框架 72

5.1.1 质量途径 72

5.1.2 产品质量和生存周期 73

5.2 外部和内部质量模型 74

5.2.1 功能性(Functionality) 75

5.2.2 可靠性(Reliability) 76

5.2.3 易用性(Usability) 78

5.2.4 效率(Efficiency) 79

5.2.5 可维护性(Maintainability) 80

5.2.6 可移植性(Portability) 81

5.3 使用质量的质量模型 83

5.4 小结 84

第6章 测试需求分析过程 85

6.1 测试需求分析相关概念 85

6.2 需求的特性 88

6.3 原始需求收集及整理 90

6.4 需求继承性分析 92

6.5 确定测试原始需求 100

6.6 测试需求分析 101

6.6.1 测试规格分析准备 101

6.6.2 测试类型分析 103

6.6.3 功能交互分析 104

6.7 生成最终产品规格 104

6.8 需求跟踪矩阵 105

6.9 小结 109

第7章 测试设计 110

7.1 MFQ测试设计模型概述 110

7.2 建模 111

7.2.1 建模的维度 111

7.2.2 PRDCS建模方法 114

7.3 设计用例覆盖模型 118

7.3.1 M(Mode) 118

7.3.2 F(Function) 119

7.3.3 Q(Quality) 119

7.4 确定测试数据 120

7.4.1 M(Mode) 120

7.4.2 F(Function) 120

7.4.3 Q(Quality) 120

7.5 非正式测试 121

7.6 小结 121

第8章 测试用例设计及管理 122

8.1 测试用例概述 122

8.1.1 写测试用例的优势 122

8.1.2 测试用例项 123

8.2 黑盒测试用例设计方法 126

8.2.1 等价类测试用例设计方法 126

8.2.2 边界值测试用例设计方法 132

8.2.3 场景法测试用例设计方法 134

8.2.4 因果图测试用例设计方法 141

8.2.5 判定表测试用例设计方法 144

8.2.6 正交试验测试用例设计方法 148

8.2.7 状态迁移图测试用例设计方法 152

8.2.8 输入域测试用例设计方法 155

8.2.9 输出域测试用例设计方法 155

8.2.10 异常分析测试用例设计方法 155

8.2.11 错误猜测测试用例设计方法 155

8.3 测试用例评审 156

8.4 测试用例变更 158

8.5 小结 159

第9章 缺陷管理与分析 160

9.1 缺陷报告的发展 160

9.1.1 Bug的由来 161

9.1.2 一份简单的缺陷报告 161

9.1.3 一份好的缺陷报告 161

9.2 相关术语 163

9.3 缺陷管理 163

9.3.1 缺陷的严重等级 163

9.3.2 缺陷的管理流程 164

9.3.3 缺陷的生命周期 166

9.3.4 缺陷的状态转变 167

9.4 缺陷特性 169

9.4.1 缺陷雪崩效应 169

9.4.2 缺陷成本放大效应 170

9.4.3 缺陷集群效应 170

9.4.4 缺陷的收敛性 170

9.5 缺陷修复成本 171

9.5.1 缺陷修复成本与研发阶段的关系 172

9.5.2 缺陷修复成本 173

9.6 缺陷分析方法 174

9.6.1 根本原因缺陷分析法 174

9.6.2 四象限缺陷分析法 177

9.6.3 ODC缺陷分析法 180

9.6.4 Rayleigh缺陷分析法 184

9.6.5 Gompertz缺陷分析法 187

9.7 缺陷遏制能力 189

9.7.1 缺陷引入与移除矩阵 189

9.7.2 缺陷预防的特性 190

9.7.3 缺陷预防的过程 191

9.8 缺陷监控 197

9.8.1 缺陷收敛趋势 197

9.8.2 缺陷分布 197

9.8.3 无效缺陷 198

9.8.4 缺陷修复 199

9.9 缺陷度量 199

9.9.1 缺陷密度度量 199

9.9.2 客户角度 201

9.9.3 功能点 202

9.10 常用的缺陷管理系统 203

9.10.1 开源缺陷管理系统 204

9.10.2 商业化缺陷管理系统 206

9.11 小结 206

第10章 单元测试 208

10.1 单元测试介绍 208

10.1.1 单元测试定义 208

10.1.2 单元测试的重点 209

10.1.3 单元测试环境 212

10.1.4 单元测试策略 215

10.2 静态测试技术 217

10.2.1 代码走查 217

10.2.2 控制流分析 218

10.2.3 数据流分析 219

10.2.4 信息流分析 220

10.3 动态测试技术 222

10.3.1 语句覆盖 222

10.3.2 判定覆盖 223

10.3.3 条件覆盖 224

10.3.4 判定/条件覆盖 224

10.3.5 路径覆盖 225

10.3.6 基本路径覆盖 226

10.4 CppUnit自动化单元测试框架 231

10.5 小结 238

第三部分 技术篇 240

第11章 系统测试 240

11.1 系统测试概述 241

11.2 功能测试 241

11.3 易用性测试 243

11.4 可安装性测试 244

11.4.1 安装过程测试 244

11.4.2 不同环境下的安装 244

11.4.3 系统升级测试 245

11.4.4 安装的文件存放 245

11.4.5 卸载测试 246

11.5 异常测试 246

11.6 压力测试 248

11.7 GUI测试 249

11.8 兼容性测试 252

11.9 性能测试 252

11.10 安全性测试 252

11.11 配置测试 254

11.12 可靠性测试 254

11.13 健壮性测试 254

11.14 系统测试过程 255

11.15 小结 258

第12章 Web系统测试 259

12.1 功能测试 259

12.1.1 链接测试 259

12.1.2 表单测试 262

12.1.3 Cookies测试 263

12.1.4 设计语言测试 265

12.1.5 数据库测试 266

12.1.6 文件上传测试 267

12.2 性能测试 267

12.2.1 链接速度测试 267

12.2.2 负载测试 267

12.2.3 压力测试 268

12.3 GUI测试 268

12.3.1 格式验证 268

12.3.2 导航条测试 268

12.3.3 页面排版测试 269

12.3.4 拼写和语法测试 270

12.3.5 标签属性测试 271

12.3.6 页面源文件测试 271

12.3.7 Tab键测试 272

12.4 兼容性测试 272

12.5 安全性测试 272

12.5.1 Web漏洞扫描 273

12.5.2 服务器端信息测试 273

12.5.3 文件和目录测试 281

12.5.4 认证测试 286

12.5.5 会话管理测试 290

12.5.6 权限管理测试 292

12.5.7 文件上传下载测试 296

12.5.8 消息泄漏测试 298

12.5.9 输入数据测试 300

12.5.10 跨站脚本攻击测试 301

12.5.11 Web Service测试 303

12.6 小结 307

第13章 本地化与国际化测试 308

13.1 本地化与国际化测试概述 308

13.2 国际化测试 310

13.2.1 国际化测试常用术语 310

13.2.2 软件国际化要求 311

13.2.3 软件国际化测试方法 314

13.3 本地化测试 315

13.3.1 同步本地化工程模型 315

13.3.2 多语言测试 316

13.3.3 区域文化 317

13.3.4 数据格式 318

13.3.5 热键 320

13.4 小结 321

第14章 兼容性测试 322

14.1 兼容性测试概述 322

14.1.1 向上兼容 323

14.1.2 向下兼容 323

14.1.3 交叉兼容 323

14.2 硬件兼容 324

14.3 软件兼容 324

14.3.1 浏览器兼容 324

14.3.2 分辨率兼容 325

14.3.3 打印机兼容 325

14.4 数据库兼容 326

14.5 操作系统兼容 326

14.6 数据共享兼容 327

14.7 小结 327

第15章 易用性测试 328

15.1 易用性测试概述 328

15.1.1 易用性的定义 328

15.1.2 UI的七大特征 330

15.2 安装易用性测试 334

15.3 GUI易用性测试 338

15.3.1 GUI的组成部分 338

15.3.2 GUI测试内容 340

15.4 UI易用性测试 349

15.5 易用性测试的自动化实现 349

15.6 小结 352

第四部分 扩展篇 354

第16章 性能测试 354

16.1 性能测试概述 354

16.1.1 性能测试的概念 354

16.1.2 性能测试自动化 355

16.2 主流性能测试工具 356

16.3 性能测试常见术语 358

16.3.1 响应时间 358

16.3.2 并发用户数 358

16.3.3 吞吐量 359

16.3.4 吞吐率 360

16.3.5 点击率 360

16.3.6 资源使用率 361

16.3.7 性能计数器 361

16.3.8 思考时间 361

16.4 性能测试过程 362

16.5 性能测试实例 365

16.5.1 系统介绍 365

16.5.2 设计 365

16.5.3 构建 368

16.5.4 执行 375

16.5.5 分析、诊断和调节 375

16.5.6 测试结论 378

16.6 小结 378

第17章 自动化测试 379

17.1 自动化测试的概念 379

17.1.1 自动化测试目的和范围 380

17.1.2 自动化测试需要达到的程度 380

17.1.3 适合自动化测试的对象 381

17.2 自动化测试优点 382

17.3 自动化测试缺点 382

17.4 自动化测试普遍存在的问题 383

17.5 主流自动化测试工具 384

17.6 自动化测试框架 385

17.6.1 自动化测试框架的发展 385

17.6.2 自动化测试框架的开发 387

17.7 自动化测试过程 388

17.8 自动化测试实例 389

17.8.1 系统介绍 390

17.8.2 测试方案及计划 390

17.8.3 测试用例 392

17.8.4 脚本开发 394

17.8.5 执行测试 406

17.8.6 提交测试报告 406

17.9 小结 406

第18章 验收测试 407

18.1 验收测试的内容 407

18.1.1 制定验收测试的标准 407

18.1.2 复审配置项 408

18.1.3 执行验收测试 409

18.2 验收测试的策略 409

18.2.1 正式验收测试 409

18.2.2 非正式验收测试 410

18.2.3 Beta测试 410

18.3 验收测试的过程 411

18.4 实施验收测试 412

18.5 提交验收测试报告 413

18.6 小结 414

第19章 文档测试 415

19.1 文档的类型 415

19.2 文档测试的现状 418

19.3 文档测试的要点 418

19.4 文档测试的策略 420

19.5 小结 420

第20章 软件测试工程师的职业规划 421

20.1 如何进入软件测试行业 421

20.2 软件测试工程师的职责 422

20.3 软件测试工程师的心态 423

20.4 当前你的工作情况 424

20.5 未来你如何选择 425

20.5.1 性能测试 425

20.5.2 自动化测试 425

20.5.3 单元测试 426

20.5.4 云测试 426

20.6 如何提高自身技能 427

20.6.1 给自己制定一个目标 427

20.6.2 正规培训 428

20.6.3 自学 428

20.7 小结 429

参考文献 430