《软件自动化测试 入门、进阶与实战》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:杨莉,杨合生,陈昱旻等编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2012
  • ISBN:9787121184901
  • 页数:398 页
图书介绍:本书从多年的企业级软件自动化测试项目经验出发,全面介绍了自动化功能测试的基本知识和理论,结合当前流行的多种自动化测试工具的分析和比较,从企业实施自动化测试实际应用场景出发,以循序渐进的方式讲解了如何帮助企业选择合适的软件自动化测试工具和模型,深入剖析自动化开发中的一些先进技术,自动化测试框架的理论和设计实现,自动化测试项目如何应对敏捷开发所带来的挑战等内容, 从而为自动化测试实施的企业和个人提供实战指南。

第1章 自动化测试简介 1

1.1 自动化测试的发展 2

1.1.1 软件质量与软件测试 2

1.1.2 手工测试和自动化测试 4

1.1.3 自动化测试的优点和缺点 6

1.2 自动化测试决定 8

1.2.1 项目评估 8

1.2.2 测试工具调查 11

1.3 软件自动化测试的现状和发展 13

1.3.1 自动化测试职业化 13

1.3.2 自动化测试的维护成本 16

1.3.3 未来的发展方向 18

第2章 开始一个自动化测试项目 22

2.1 RFT的安装和准备 23

2.1.1 RFT的安装准备 23

2.1.2 安装步骤 26

2.2 开始自动化测试 36

2.2.1 RFT用户界面 36

2.2.2 创建工程项目 43

2.3 RFT的功能特点 55

2.4 小结 56

第3章 录制回放的问题和解决 57

3.1 录制回放脚本的弊端 58

3.1.1 录制回放脚本的缺点 58

3.1.2 不要只采用录制的方法 60

3.2 从录制到开发 60

3.2.1 测试框架 61

3.2.2 数据驱动测试 62

3.3 编写脚本 62

3.3.1 脚本开发的原则和技巧 62

3.3.2 编写脚本时需要注意的问题 64

3.4 小结 65

第4章 自动化测试框架的理论和设计 66

4.1 测试框架简介 67

4.1.1 什么是框架 67

4.1.2 框架的作用 68

4.2 测试框架的分类 68

4.2.1 测试框架设计思想的发展 69

4.2.2 数据驱动 70

4.2.3 关键字驱动 70

4.2.4 测试脚本自动生成框架 72

4.3 框架的实现 74

4.3.1 总体设计思想 74

4.3.2 分层与解耦 76

4.3.3 开始编写框架 80

4.3.4 基础控件层的封装 83

4.3.5 应用对象及功能层的实现 84

4.3.6 主控程序及用例基类 98

4.3.7 数据池与数据驱动 108

4.3.8 测试日志及结果显示 111

4.3.9 小结 118

4.4 框架开发规范 119

4.4.1 代码管理规范 119

4.4.2 命名规范 120

第5章 测试对象的识别 122

5.1 使用测试对象图 123

5.1.1 RFT中的测试对象 123

5.1.2 查看测试对象映射 125

5.1.3 映射对象的操作与维护 128

5.2 测试对象的查找 134

5.2.1 解析简单查找 134

5.2.2 动态识别 136

5.2.3 利用域查找 142

5.3 测试对象识别技巧及最佳经验 146

5.3.1 高速缓存机制 146

5.3.2 识别属性的选择技巧 150

第6章 测试对象的封装 152

6.1 对象的封装 153

6.1.1 封装的基本概念 153

6.1.2 测试对象的封装 155

6.2 如何封装 155

6.2.1 从测试用例中抽取测试对象 155

6.2.2 自底向上完成编码 161

第7章 数据驱动测试 170

7.1 什么是数据驱动测试 171

7.2 数据驱动测试的驱动方式 171

7.3 数据驱动测试对自动化测试的影响 172

7.4 测试数据设计 173

7.4.1 规划 173

7.4.2 生成 175

7.4.3 存储 176

7.4.4 维护 178

7.4.5 检验 178

7.5 数据驱动测试工具介绍 179

7.5.1 创建数据池 179

7.5.2 编辑数据池 181

7.5.3 将数据池与简化脚本中的组相关联 182

7.5.4 将字面值替换为数据池引用 182

7.5.5 数据池引用和验证点 184

7.5.6 更改数据池记录的选择顺序 186

7.5.7 使用应用程序可视化将数据驱动命令插入到脚本 187

第8章 编写测试脚本 188

8.1 从测试用例到测试脚本 189

8.2 脚本实例 192

8.3 测试环境的准备和恢复 199

8.4 测试数据 201

8.5 验证点 204

8.6 异常处理 208

8.7 高级脚本技巧 208

8.7.1 测试用模板 208

8.7.2 脚本自动生成 209

8.8 测试脚本的运行 209

8.8.1 基本运行 209

8.8.2 重运行 210

第9章 测试代码的重用、重构及管理 211

9.1 测试脚本中的代码重用 212

9.1.1 如何发现重用代码 212

9.1.2 如何提取重用代码 213

9.1.3 代码重用的规则 215

9.2 测试代码重构 215

9.2.1 如何重构测试代码 215

9.2.2 重构的注意事项 227

9.2.3 重构的策略 228

9.2.4 测试代码结构设计 230

9.3 测试代码管理 231

9.3.1 代码管理工具 231

9.3.2 测试代码的版本管理 237

9.3.3 测试对象的版本分支管理 239

第10章 国际化测试 241

10.1 什么是国际化测试 242

10.1.1 基本概念 242

10.1.2 软件的国际化能力及编码要求 243

10.1.3 国际化测试要点 244

10.2 国际化软件的开发测试模式 245

10.3 国际化测试自动化的重要意义 247

10.4 国际化测试自动化的分类 247

10.5 国际化测试对自动化的要求 248

10.6 国际化测试自动化的实现 249

10.6.1 测试环境准备 249

10.6.2 测试对象标识 252

10.6.3 测试数据准备 253

第11章 自动化测试日志 255

11.1 自动化测试日志简介 256

11.2 功能测试日志 258

11.2.1 日志类型 258

11.2.2 日志的位置 258

11.2.3 管理日志 259

11.2.4 查看日志中的结果 259

11.2.5 “日志记录”页面 263

11.2.6 受管日志和Rational TestManager 264

11.3 日志扩展 265

11.3.1 扩展日志 265

11.3.2 部署扩展的日志文件 270

11.3.3 示例:创建文本日志 272

11.4 丰富日志文件 275

11.5 Re-Run机制 279

11.6 小结 283

第12章 自动化测试的项目管理 284

12.1 企业项目管理概述 285

12.2 自动化测试项目管理的特点 287

12.2.1 需求管理和分析 290

12.2.2 资源管理和配置管理 291

12.2.3 制订项目计划和开发周期 299

12.2.4 跟踪项目进度 301

12.2.5 缺陷管理 305

12.2.6 应对项目变化 308

12.2.7 控制风险 310

12.3 自动化测试项目的交付管理 313

12.3.1 确定项目交付对象 313

12.3.2 整理项目交付内容 313

12.3.3 项目验收 314

12.3.4 提交验收报告 314

12.4 自动化测试项目的维护和升级管理 315

12.4.1 项目维护 315

12.4.2 版本管理 317

12.5 敏捷开发对自动化测试项目的影响 318

12.5.1 敏捷开发模型 318

12.5.2 敏捷开发中的自动化测试 321

第13章 开源测试工具和集成 324

13.1 Selenium自动化测试框架 325

13.1.1 概述 325

13.1.2 特性 326

13.1.3 Selenium IDE 327

13.1.4 Selenium RC 330

13.1.5 Selenium WebDriver 334

13.1.6 Selenium Grid 336

13.2 TestNG自动化测试框架 338

13.2.1 概述 338

13.2.2 特性 338

13.2.3 数据驱动模型 344

13.3 STAF介绍 348

13.3.1 概述 348

13.3.2 特性 349

13.3.3 STAF的基本配置 350

13.3.4 STAF的基本命令 352

13.3.5 STAF的返回信息 352

13.3.6 定制STAF服务 353

13.3.7 总结 357

13.4 开源测试工具的集成 358

13.4.1 Selenium和TestNG的集成 358

13.4.2 STAF、TestNG和Selenium的集成 362

13.5 小结 363

第14章 自动化测试实践技巧 365

14.1 RFT中文字显示为方框问题的解决 366

14.2 setProperty()和setText()方法的区别 368

14.3 文件操作 369

14.4 灵活设置识别属性权重值 371

14.5 使用TestObject.invoke()方法来操纵定制的Java控件 374

14.5.1 定制控件的问题 374

14.5.2 invoke()方法介绍 375

14.5.3 使用getMethods找到控件的所有方法 376

14.5.4 带参数函数的调用 377

14.5.5 小结 378

14.6 使用IBM Rational Team Concert管理自动化测试项目 378

14.7 如何运用每天的Scrum会议跟踪自动化测试项目的进度 381

附录A STAF基本命令列表 383

参考文献 397