当前位置:首页 > 工业技术
软件测试技术大全  测试基础  流行工具  项目实战
软件测试技术大全  测试基础  流行工具  项目实战

软件测试技术大全 测试基础 流行工具 项目实战PDF电子书下载

工业技术

  • 电子书积分:15 积分如何计算积分?
  • 作 者:陈能技编著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2008
  • ISBN:7115178917
  • 页数:500 页
图书介绍:本书在编写过程中考虑到测试人员的需求,尤其是测试新手对各种知识的了解的需求,提供了丰富的测试理论知识和各种最佳实践。介绍了国内外先进的测试技术和测试理念,例如微软的测试方法、RUP中的测试过程、AEP的理念等;详细讲述了几个主要的测试工具的使用,例如LoadRunner、QTP、TestDirector等;还介绍了各种常用的开源测试工具,为期待引入开源测试工具的团队提供参考;另外,还结合项目实践,介绍了各种测试辅助工具的开发,例如:每日构建框架的开发、AEP系统的搭建、性能测试框架的搭建、正交表测试用例自动生成工具的设计、数据库比较工具的制作等。本书结合丰富的例子来讲解各种测试技术以及测试工具的使用,提供了完整的测试工具开发代码示例。在随书附送的光盘上收录了各章节讲到的各种免费测试工具、测试代码、源程序等,方便测试人员使用。读者也可访问笔者的博客(http://blog.csdn.net/Testing_is_believing)获取最新版本的程序。
《软件测试技术大全 测试基础 流行工具 项目实战》目录

第一篇 软件测试的基础 1

第1章 软件测试概述 1

1.1 软件测试的起源 2

1.2 软件测试的发展 3

1.3 软件测试行业的现状和前景 6

1.4 小结 8

1.5 新手入门须知 8

1.6 模拟面试问答 8

第2章 软件测试的组织 10

2.1 测试的组织形式 11

2.2 融入测试组织 14

2.2.1 根据开发模式定位自己的测试角色 14

2.2.2 如何融入一个项目团队 16

2.3 软件测试团队的建设 17

2.3.1 学习型团队的组建 17

2.3.2 测试规范 19

2.3.3 部门制度 20

2.4 小结 20

2.5 新手入门须知 21

2.6 模拟面试问答 21

第3章 软件测试人员应具备的条件 23

3.1 测试人员的素质要求 24

3.2 测试人员的技能要求 28

3.3 小结 36

3.4 新手入门须知 36

3.5 模拟面试问答 37

第二篇 软件测试基本理论 38

第4章 软件工程与软件测试 38

4.1 软件工程简介 39

4.2 软件开发模式 41

4.2.1 常见的软件开发模式 41

4.2.2 软件开发模式的发展 42

4.3 不同软件开发模式下的软件测试 43

4.3.1 CMM和ISO中的软件测试 44

4.3.2 敏捷开发中的软件测试 45

4.3.3 QA与QC的区别 46

4.4 配置管理与软件测试 47

4.4.1 什么是配置管理 47

4.4.2 软件配置管理的目的 47

4.4.3 软件配置管理的基本任务 47

4.4.4 配置管理自动化 49

4.5 小结 50

4.6 新手入门须知 50

4.7 模拟面试问答 51

第5章 软件测试的目的与原则 53

5.1 软件测试的目的 54

5.1.1 软件测试与建立软件信心的关系 54

5.1.2 软件测试的两面性 54

5.1.3 软件测试的验证与确认 55

5.1.4 测试是一种服务 56

5.2 软件测试应该遵循的原则 56

5.2.1 Good enough原则 57

5.2.2 Pareto原则 57

5.2.3 尽早开展测试 58

5.2.4 在发现较多错误的地方投入更多的测试 58

5.2.5 同化效应 58

5.3 小结 59

5.4 新手入门须知 59

5.5 模拟面试问答 59

第6章 软件测试的方法论 61

6.1 软件测试的不同学派 62

6.2 软件测试的方法应用 64

6.3 IBM公司的软件测试方法 66

6.3.1 回归测试 66

6.3.2 测试的度量 66

6.3.3 用例驱动 67

6.3.4 RUP对软件测试的分类 68

6.3.5 RUP对测试阶段的划分 69

6.4 自动错误预防方法 69

6.4.1 AEP的基本概念 70

6.4.2 实现软件自动错误预防的方法 70

6.5 小结 72

6.6 新手入门须知 72

6.7 模拟面试问答 74

第7章 软件测试的过程管理 75

7.1 软件测试的各个阶段 76

7.2 测试需求 77

7.2.1 需求规格说明书的检查要点 77

7.2.2 需求规格说明书的检查步骤 77

7.2.3 通过编写测试用例来检查需求 80

7.3 测试计划 82

7.3.1 制定测试计划的必要性 82

7.3.2 测试计划与测试过程的关系 82

7.4 测试设计及测试用例 85

7.4.1 等价类划分法 85

7.4.2 边界值分析法 86

7.4.3 基本路径分析法 88

7.4.4 因果图法 89

7.4.5 场景设计法 90

7.4.6 错误猜测法 91

7.4.7 使用正交试验法设计测试用例 91

7.4.8 使用均匀试验法设计测试用例 93

7.4.9 使用组合覆盖法设计测试用例 93

7.4.10 使用分类树方法设计测试用例 95

7.4.11 测试用例设计的自动化 97

7.5 测试的执行 100

7.5.1 测试用例的合理选择 100

7.5.2 测试的分工与资源利用 100

7.5.3 测试环境的搭建 101

7.5.4 BVT测试与冒烟测试 102

7.5.5 每日构建的基本流程 102

7.6 测试记录与跟踪 103

7.6.1 Bug的质量衡量 104

7.6.2 如何记录一个合格的Bug 104

7.6.3 Bug报告应该注意的问题 106

7.6.4 跟踪一个Bug的生命周期 106

7.6.5 Bug评审应注意的问题 107

7.6.6 基于TestDirector的缺陷管理 108

7.7 回归测试 108

7.7.1 为什么会回归 109

7.7.2 回归测试的难度 109

7.7.3 基于风险的回归测试 109

7.8 测试总结和报告 111

7.8.1 缺陷分类报告 111

7.8.2 缺陷趋势报告 113

7.8.3 典型缺陷与Bug模式 114

7.8.4 测试中的PDCA循环 115

7.8.5 客观全面的测试报告 116

7.8.6 实用测试经验的总结 116

7.9 小结 116

7.10 新手入门须知 117

7.11 模拟面试问答 117

第8章 软件测试的度量 120

8.1 软件测试度量的目的 121

8.1.1 度量的目的 121

8.1.2 测试度量的难度 122

8.1.3 测试人员工作质量的衡量 123

8.2 软件测试的度量方法及其应用 124

8.2.1 度量Bug的数量 124

8.2.2 加权法度量缺陷 125

8.2.3 Bug的定性评估 126

8.2.4 Bug综合评价模型 127

8.2.5 测试覆盖率统计 127

8.2.6 考核测试人员的硬指标和软指标 130

8.3 小结 132

8.4 新手入门须知 132

8.5 模拟面试问答 133

第三篇 实用软件测试技术与工具第9章 实用软件测试技术 135

9.1 软件测试技术的发展 136

9.2 软件测试技术 137

9.2.1 黑盒测试与白盒测试 137

9.2.2 手工测试与自动化测试 138

9.2.3 探索性测试 140

9.2.4 单元测试 142

9.2.5 单元级别的性能测试 143

9.2.6 数据库性能检查 146

9.2.7 软件的“极限考验”——压力测试 146

9.2.8 软件的容量测试 147

9.2.9 安全性测试 151

9.2.10 安装测试 152

9.2.11 环境测试 154

9.3 实用软件测试技术的综合应用 155

9.3.1 跟踪法测试 155

9.3.2 C/S结构软件系统的测试 158

9.3.3 B/S结构软件系统的测试 159

9.3.4 手机应用软件的测试 160

9.3.5 游戏软件系统的测试 161

9.3.6 界面交互及用户体验测试 163

9.3.7 数据库测试 164

9.3.8 Web Services的测试 168

9.3.9 内存泄漏测试 169

9.3.10 报表测试 172

9.3.11 联机帮助和用户手册的测试 173

9.3.12 缺乏工具支持的性能测试 175

9.3.13 本地化测试与国际化测试 179

9.3.14 可访问性测试 180

9.4 小结 181

9.5 新手入门须知 182

9.6 模拟面试问答 182

第10章 实用软件测试工具 185

10.1 软件测试工具的作用 186

10.2 软件测试工具的分类 186

10.2.1 按测试工具的用途分类 186

10.2.2 按测试工具的收费方式分类 187

10.3 如何在测试组中引入测试工具 188

10.3.1 测试工具的选型 188

10.3.2 测试工具的试用 188

10.3.3 测试工具的使用培训 189

10.3.4 测试工具的使用 190

10.4 测试管理工具TestDirector 190

10.4.1 测试管理工具与缺陷管理工具的区别 191

10.4.2 测试管理功能之间的关联 197

10.4.3 利用TestDirector生成测试报告 199

10.4.4 TestDirector数据库的备份和恢复 200

10.4.5 TestDirector的个性化定制 203

10.4.6 TestDirector的使用技巧 208

10.5 自动化功能测试工具TestComplete 210

10.5.1 脚本语言的选择 210

10.5.2 编写脚本的基本步骤 211

10.5.3 命令行运行方式 215

10.5.4 TestComplete如何模拟用户动作 216

10.5.5 TestComplete的Stores对象的使用 219

10.5.6 TestComplete的数据驱动测试方法 223

10.5.7 TestComplete的对象驱动测试方法 225

10.5.8 使用TestComplete测试Open的应用程序 227

10.5.9 使用TestComplete测试分布式应用程序 228

10.5.10 TestComplete的一些常用技巧 231

10.5.11 TestComplete的一些常用内建函数 233

10.6 自动化功能测试工具QTP 235

10.6.1 插件管理 235

10.6.2 基本测试过程 235

10.6.3 创建测试 236

10.6.4 运行测试 238

10.6.5 分析结果 239

10.6.6 关键字驱动测试方法 240

10.6.7 什么时候使用关键字驱动测试方法 240

10.7 性能测试工具LoadRunner 241

10.7.1 协议的选择与录制 242

10.7.2 脚本参数化和添加事务 246

10.7.3 性能参数的选择和监视 251

10.7.4 性能测试报告与性能瓶颈分析 253

10.8 内存问题测试工具BoundsChecker 255

10.8.1 在Delphi项目中设置编译选项 255

10.8.2 BoundsChecker使用简介 256

10.8.3 如何判断内存问题 257

10.9 微软的单元测试工具MSTest 259

10.9.1 建立单元测试项目 259

10.9.2 巧用NMock对象 261

10.9.3 执行单元测试 262

10.10 测试用例设计工具CTE XL 263

10.10.1 分类树设计 263

10.10.2 选择组合测试用例 264

10.10.3 测试用例的自动生成 265

10.10.4 统计分析和报告 266

10.11 小结 268

10.12 新手入门须知 268

10.13 模拟面试问答 268

第11章 开源测试工具 271

11.1 开源测试工具简介 272

11.1.1 开源的背景 272

11.1.2 开源测试工具的发展现状 272

11.2 常用开源测试工具简介——测试管理类 273

11.2.1 BugzillaBug管理系统 273

11.2.2 Mantis缺陷跟踪系统 274

11.2.3 BugFree测试管理工具 276

11.2.4 综合比较 276

11.3 常用开源测试工具简介——单元测试类 277

11.3.1 NUnit-针对.NET开发的单元测试框架 277

11.3.2 NMock单元测试方法 278

11.3.3 NunitForms——界面层代码测试 279

11.4 常用开源测试工具简介——性能测试类 280

11.4.1 OpenSTA——Web性能测试工具 280

11.4.2 TestMaker——性能测试工具 281

11.4.3 DBMonster——生成大批量数据库数据的工具 282

11.5 常用开源测试工具简介——自动化功能测试类 284

11.5.1 Abbot Java GUI Test Framework——自动化测试框架 284

11.5.2 SharpRobo——功能测试工具和录制工具 285

11.5.3 Samie——IE自动化测试 287

11.6 如何在测试组中引入开源测试工具 288

11.6.1 开源测试工具的成本考虑 288

11.6.2 引入开源测试工具的步骤 289

11.6.3 引入开源测试工具可能碰到的问题 290

11.7 小结 291

11.8 新手入门须知 291

11.9 模拟面试问答 291

第12章 测试工具的原理及制作 294

12.1 自制测试工具的优势 295

12.2 辅助工具的制作 296

12.2.1 测试工具的开发策划 296

12.2.2 测试语言的选择 296

12.2.3 测试工具开发的各种实现技术 297

12.3 使用Windows脚本辅助测试 299

12.3.1 使用JScript进行简单的GUI自动化测试 299

12.3.2 使用JScript检查注册表 300

12.3.3 使用JScript的FileSystem Object对象处理文件 300

12.3.4 使用JScript操作Excel 301

12.3.5 在JScript中运行应用程序 302

12.3.6 在JScript中使用WMI 303

12.3.7 在JScript中访问网络 304

12.3.8 在JScipt中使用正则表达式 305

12.3.9 使用JScript发送邮件 306

12.3.10 JScript脚本的调试方法 306

12.4 利用Windows脚本搭建一个每日构建框架 307

12.4.1 每日构建框架的基本要素 307

12.4.2 使用Windows任务计划来定时启动脚本 313

12.4.3 每日构建框架的扩展1——单元测试 314

12.4.4 每日构建框架的扩展2——自动化功能测试 319

12.4.5 每日构建框架的扩展3——每日缺陷简报 321

12.4.6 每日构建框架的扩展4——每日配置管理简报 327

12.4.7 每日构建框架的扩展5——每日里程碑预报 330

12.4.8 每日构建框架的其他扩展思路 332

12.5 利用Windows脚本整合一个自动错误预防系统 335

12.5.1 轻量级的AEP框架 336

12.5.2 整合FxCop 336

12.5.3 整合SQL BPA 337

12.6 设计一个性能测试框架 338

12.6.1 性能测试的基本原理 338

12.6.2 Controller的简单设计 339

12.6.3 Agent的简单设计 340

12.6.4 虚拟用户的产生 343

12.7 正交表测试用例自动生成工具的设计 344

12.7.1 正交表类的设计 345

12.7.2 加载正交表文件 346

12.7.3 解释输入 348

12.7.4 查找正交表 349

12.7.5 改进方向 356

12.8 数据库比较工具的制作 356

12.8.1 “三库”问题 356

12.8.2 数据库比较工具的设计 357

12.9 Oracle的SQL语句跟踪工具的制作 361

12.9.1 设置Oracle的SQL跟踪参数 361

12.9.2 打开SQL跟踪 361

12.9.3 关闭SQL跟踪 362

12.9.4 改进方向 363

12.10 一个简单的猴子测试工具的制作 363

12.10.1 猴子测试工具应该具备的功能 364

12.10.2 完整的猴子测试工具 373

12.10.3 猴子测试工具的扩展 379

12.11 测试覆盖率辅助管理工具的制作 380

12.11.1 测试覆盖率管理 380

12.11.2 数据覆盖率管理 383

12.11.3 测试覆盖率统计的自动化 384

12.11.4 测试覆盖率对测试管理的意义 385

12.11.5 测试覆盖率辅助管理工具的设计 385

12.11.6 测试覆盖率辅助管理工具的使用 389

12.12 小结 391

12.13 新手入门须知 391

12.14 模拟面试问答 391

第13章 实用小工具的应用技巧 393

13.1 巧用Windows自带的小工具 394

13.1.1 Windows的任务管理器 394

13.1.2 Perfmon的性能监控 396

13.1.3 NetStat的网络监视 398

13.2 一些免费小工具的妙用 400

13.2.1 SQL Server数据库的SQL事件探查器 400

13.2.2 Visual Studio开发工具的Spy++ 401

13.2.3 Visual SourceSafe的文件比较器 402

13.3 小结 403

13.4 新手入门须知 403

13.5 模拟面试问答 404

第14章 单元测试管理 405

14.1 单元测试范围管理 406

14.1.1 单元测试的分类 406

14.1.2 单元测试的效果 408

14.1.3 单元测试的范围 408

14.2 单元测试的过程管理 408

14.2.1 单元测试过程策划 408

14.2.2 单元测试管理规范 410

14.2.3 单元测试与每日构建的结合 412

14.3 单元测试的质量度量 414

14.3.1 单元测试覆盖率 414

14.3.2 单元测试评审 415

14.4 小结 416

14.5 新手入门须知 416

14.6 模拟面试问答 416

第15章 自动化功能测试管理 418

15.1 是否应该进行自动化功能测试 419

15.1.1 “猴子”测试技术 419

15.1.2 自动化功能测试的原则 420

15.2 自动化功能测试的过程策划 421

15.2.1 自动化测试的时机 421

15.2.2 自动化功能测试的设计 422

15.2.3 自动化功能测试的编码 424

15.2.4 自动化功能测试的验证 426

15.2.5 自动化功能测试的管理规范 426

15.2.6 自动化功能测试与每日构建的结合 428

15.3 自动化功能测试的质量度量 429

15.3.1 自动化功能测试的局限性 429

15.3.2 自动化功能测试的覆盖率 429

15.3.3 增强软件可测试性 430

15.3.4 可测性设计 430

15.3.5 敏捷的自动化测试 433

15.4 小结 435

15.5 新手入门须知 436

15.6 模拟面试问答 436

第16章 性能测试管理 438

16.1 性能测试的需求管理 439

16.1.1 性能测试的成本 439

16.1.2 性能指标的确定 439

16.2 性能测试的过程管理 440

16.2.1 性能测试的方案选择 440

16.2.2 性能测试的资源安排 441

16.2.3 性能参数的监控 443

16.2.4 性能测试报告与瓶颈分析 444

16.3 性能测试的质量度量 446

16.3.1 性能测试是否全面 446

16.3.2 性能测试的投入与回报 448

16.4 小结 448

16.5 新手入门须知 449

16.6 模拟面试问答 449

第17章 探索性测试管理 451

17.1 探索性测试的必要性 452

17.1.1 探索性测试的原理 452

17.1.2 探索性测试与即兴测试的区别 452

17.1.3 探索性测试的意义 453

17.2 如何进行探索性测试 453

17.2.1 优秀探索性测试人员的基本素质 453

17.2.2 测试就是向程序提问 454

17.3 探索性测试的过程管理和度量 455

17.3.1 测试组长是“教练” 455

17.3.2 基于探索任务的测试计划 455

17.3.3 探索性测试的“碰头会议” 456

17.4 小结 458

17.5 新手入门须知 459

17.6 模拟面试问答 459

第18章 用户界面测试管理 460

18.1 用户界面测试的必要性 461

18.2 如何进行用户界面测试 461

18.2.1 用户界面测试的时机 461

18.2.2 用户界面测试的要点 462

18.3 用户界面测试原则 463

18.3.1 亲和力 464

18.3.2 协助 465

18.3.3 有效 465

18.3.4 鼓励 466

18.3.5 熟悉 467

18.3.6 明显 468

18.3.7 个性化 468

18.3.8 安全 468

18.3.9 满意 469

18.3.10 简单 469

18.3.11 支持 470

18.3.12 多样性 470

18.4 小结 471

18.5 新手入门须知 471

18.6 模拟面试问答 471

第四篇 软件测试的学习和研究 473

第19章 软件测试的学习环境 473

19.1 学习氛围的建立 474

19.1.1 培训导师制度 474

19.1.2 读书会 477

19.1.3 找个师傅学习软件测试 478

19.2 软件测试经验的总结 479

19.2.1 测试知识库的建立 479

19.2.2 办一份内部期刊 480

19.2.3 测试管理经验的总结 481

19.3 软件测试的交流 484

19.3.1 日常的交流 485

19.3.2 专门的交流 485

19.3.3 与开发人员的交流 486

19.3.4 与管理层的交流 488

19.3.5 外部交流 488

19.4 小结 489

19.5 新手入门须知 489

19.6 模拟面试问答 489

第20章 软件测试的研究方向与个人发展 491

20.1 软件测试角色与其他项目角色的可转换性 492

20.1.1 转向售前 492

20.1.2 转向售后 493

20.1.3 转向开发 494

20.1.4 转向QA 495

20.2 测试人员的发展路线 496

20.2.1 管理路线 497

20.2.2 技术路线 498

20.3 软件测试的研究方向 499

20.3.1 软件测试中的数学 499

20.3.2 软件测试工具设计 500

20.4 小结 500

返回顶部