《软件自动化测试成功之道 典型工具、脚本开发、测试框架和项目实战》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:陈能技编著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2010
  • ISBN:9787115216038
  • 页数:412 页
图书介绍:本书分成3部分,第一部分是基础篇,主要介绍实施自动化测试前需要学习的基础知识;第二篇实战技术篇,主要介绍如何借助测试工具有效地开展功能自动化测试项目。第三部分案例篇,介绍了如何基于QTP设计测试框架,介绍了笔者设计的自动化测试框架项目。

第一篇 项目实践篇 1

第1章 自动化测试的前期准备工作 1

1.1 选择合适的项目实施自动化测试 2

1.2 选择合适的测试用例实现自动化 2

1.3 对控件的熟悉程度与自动化测试成功实施之间的关系 5

1.4 自动化测试计划 5

1.5 自动化测试脚本开发规范 9

1.6 自动化测试计划文档 18

第2章 自动化测试工具 21

2.1 自动化测试工具的基本原理 22

2.2 基于GUI对象识别的测试工具原理 22

2.3 “测试对象”与“运行时对象” 24

2.4 DOM与IE Developer ToolBar 25

2.5 基于浏览器和DOM对象模型的功能自动化测试工具 28

第3章 标准控件的特殊问题的处理方法 32

3.1 识别控件的技巧 33

3.2 带CheckBox的TreeView控件的处理方法 33

3.3 DataGridView控件的处理方法 36

3.4 CheckedListBox控件的处理方法 37

3.5 ToolStrip控件的问题 39

第4章 第三方控件的测试方法 42

4.1 第三方控件的选择 43

4.2 第三方控件的自动化测试与配置管理的关系 44

4.3 ClSchedule控件的测试方法 45

4.4 如何在ClTrueDBGrid控件中定位行 46

4.5 ClTrueDBGrid控件——分组显示 47

4.6 ClTrueDBGrid控件——输入数据 48

4.7 ClFlexGrid控件的测试方法 52

4.8 XtraNavBar控件的测试方法 54

第5章 自定义控件的测试方法 58

5.1 NavigateBar控件的测试方法 59

5.2 FlexGridTree控件的测试方法 60

5.3 ImageListBox控件的测试方法 66

5.4 TSSTrueDBGrid控件的测试方法 67

第6章 自动化代码框架的搭建 71

6.1 模块化框架 72

6.2 函数库结构框架 74

6.3 关键字驱动框架 77

6.4 数据驱动框架 78

6.5 混合型框架 81

6.6 编写框架范例 81

6.7 是否使用多个项目 82

第7章 典型公共用例 83

7.1 登录模块 84

7.2 菜单选择 85

7.3 读入测试数据 86

7.4 根据功能模块打开菜单 89

7.5 启动被测试应用程序 90

7.6 退出被测试应用程序 91

7.7 配置测试数据库的连接串(选择测试数据库) 91

7.8 “白+黑”——检查数据库的数据 97

第8章 自动化冒烟测试 105

8.1 最简单级别的冒烟测试 106

8.2 二级冒烟测试 107

8.3 Flight程序的二级冒烟测试 109

第9章 与每日构建结合 117

9.1 测试工具的命令行运行方式 118

9.2 通过COM访问和控制测试工具 121

9.3 与Automated Build Studio结合 124

9.4 与FinalBuilder的结合 128

9.5 导出测试脚本的运行日志 130

9.6 发送测试日志 132

第10章 对象驱动测试(ODT)方法 138

10.1 ODT编辑 139

10.2 关联测试脚本中的函数 139

10.3 类的方法 141

10.4 测试数据与类的关联 143

10.5 测试数据与类的方法关联 144

10.6 ODT小结 148

第11章 关键字驱动测试框架 149

11.1 什么是关键字驱动 150

11.2 在TestComplete中实现关键字驱动测试 150

11.3 第二种方法的尝试 153

第12章 非预期窗口的处理 160

12.1 非预期窗口的默认处理方法 161

12.2 非预期窗口的自定义处理方法 162

第13章 自动错误预防(AEP)机制的建立 167

13.1 AEP的概念 168

13.2 与手工测试、缺陷列表结合 168

13.3 与缺陷跟踪管理系统的整合 172

第14章 自动化测试模式 173

14.1 ToolBar按钮状态设置的检查 174

14.2 查找功能的测试 181

14.3 提示信息的检查 188

14.4 消息框的处理 199

14.5 关联数据的删除检查 201

14.6 文件上传下载过程的测试 206

第15章 手工测试用例的自动化实现 212

15.1 与测试用例库结合 213

15.2 手工测试用例自动化实现的技巧 213

第16章 UI自动化测试 219

16.1 自动化的用户体验测试 220

16.2 检查默认焦点位置 220

16.3 检查Tab顺序 223

16.4 对检查Tab顺序的脚本进行完善 224

16.5 第二种检查Tab顺序的方法 228

16.6 检查字体设置 231

16.7 检查界面元素的尺寸 234

16.8 窗口标题根据菜单名称改变的问题 236

16.9 界面性能检查 238

第17章 自动化测试项目实践技巧 245

17.1 数据库连接配置问题 246

17.2 录制脚本的修改 250

17.3 自动化测试脚本编写模式 250

17.4 测试脚本编写原则 253

17.5 CLR Bridge的问题 254

17.6 Keys还是wText 255

17.7 中文命名的控件问题 256

17.8 回放脚本失败,慎防AUT多进程问题 259

17.9 全局变量的问题 261

17.10 自动化测试脚本开发与数据库选择的问题 265

17.11 Log的问题 266

17.12 常用脚本函数的封装——字符串操作 272

17.13 文件操作 277

第18章 自动化测试的管理 282

18.1 测试脚本的源代码控制规范 283

18.2 自动化测试项目中的交流 285

18.3 自动化测试工具的版本升级问题 288

18.4 自动化测试脚本的维护 289

18.5 自动化测试团队管理 290

第二篇 实用技巧篇 291

第19章 基于QTP的扩展自动化测试框架 291

19.1 SAFFRON框架 292

19.1.1 如何使用SAFFRON 292

19.1.2 SAFFRON框架代码剖析 294

19.1.3 导航到指定URL 294

19.1.4 返回测试对象的描述 295

19.1.5 启动浏览器 295

19.1.6 给指定字符串前后加双引号 296

19.1.7 单击链接 297

19.1.8 一个小例子 299

19.1.9 检查对象是否存在 300

19.1.10 在文本框输入字符串 303

19.1.11 读取文本框的字符串 304

19.1.12 选择列表中的一项 306

19.1.13 关闭浏览器 307

19.1.14 对SAFFRON框架进行扩展 308

19.2 FrameworkManager框架 310

19.2.1 FrameworkManager简介 310

19.2.2 FrameworkManager的特点 311

19.2.3 下载FrameworkManager 312

19.2.4 FrameworkManager框架的组成 312

19.2.5 对象树Excel文件 312

19.2.6 clsTreeLevel类 314

19.2.7 输入子类和随机值子类 314

19.2.8 FrameworkManager的使用方法 315

19.3 QTP中的Process Guidance 315

19.3.1 什么是过程指南 316

19.3.2 过程指南的作用 318

19.3.3 自定义过程指南 320

19.3.4 过程指南深入探秘 323

19.4 业务流程测试框架 328

19.4.1 BPT框架简介 328

19.4.2 基于角色和工作流的BPT模型 328

19.4.3 QTP与QC的紧密整合 329

19.4.4 版本控制和基线 330

第20章 QTestWare框架的设计 332

20.1 QTestWare框架介绍 333

20.1.1 QTestWare支持的环境 333

20.1.2 QTestWare解决控件录制问题 334

20.1.3 QTestWare解决控件识别问题 334

20.1.4 QTestWare让脚本更简短 334

20.1.5 QTestWare封装了高可重用性的脚本 335

20.1.6 QTestWare采用的技术和原理 335

20.1.7 QTestWare专注解决的框架问题 337

20.2 用QTestWare解决.NET控件问题 338

20.2.1 CheckedListBox控件 338

20.2.2 ComponentOne之FlexGrid控件 339

20.2.3 ComponentOne之TrueDBGrid控件 341

20.2.4 ComponentOne之ToolBar控件 342

20.2.5 ComponentOne之MainMenu控件 348

20.2.6 ContextMenuStrip控件 357

20.2.7 DataGridView控件 358

20.2.8 DomainUpDown控件 361

20.2.9 ListView控件 362

20.2.10 MaskedTextBox控件 363

20.2.11 MenuStrip控件 364

20.2.12 PropertyGrid控件 365

20.2.13 StatusStrip控件 368

20.2.14 ToolStrip控件 368

20.2.15 TrackBar控件 370

20.2.16 TreeView控件 374

20.3 用QTestWare解决Web控件问题 376

20.3.1 Browser对象 376

20.3.2 Page对象 379

20.3.3 WebTable对象 381

20.3.4 WebList对象 382

20.3.5 YUI之Calendar控件 384

20.3.6 YUI之DataTable控件 388

20.3.7 YUI之Slider控件 390

20.3.8 YUI之TreeView控件 394

20.4 QTestWare框架通用函数 397

20.4.1 CaptureBitmapAndSaveToLog用于截屏并保存到日志 397

20.4.2 DeviceReplay用于控制鼠标和键盘 399

20.4.3 GetToolTip用于获取ToolTip上的文本 405

20.4.4 MousePosition用于获取鼠标光标坐标 406

20.4.5 EnterNode和ExitNode用于创建层次化的测试报告 407