《软件测试自动化技术与实例详解》PDF下载

  • 购买积分:16 如何计算积分?
  • 作  者:(美)(M.菲斯特)(Mark Fewster),(美)(D.格雷厄姆)(Dorothy Graham)著;舒智勇等译
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2000
  • ISBN:7505357328
  • 页数:507 页
图书介绍:

第1章 测试自动化概念 1

1.1 引言 2

1.2 测试与测试自动化概念不同 2

1.2.1 测试 2

1.2.2 测试自动化 3

1.3 V模型 4

1.4 支持生命周期测试的工具 5

1.5 测试自动化的承诺 6

1.6 测试自动化普遍存在的问题 7

1.7 测试活动 9

1.7.2 设计测试事例 10

1.7.1 标识测试条件 10

1.7.3 建立测试事例 12

1.7.4 执行测试事例 12

1.7.5 将测试结果与期望输出比较 12

1.8 自动测试设计 13

1.8.1 适合自动化的活动 13

1.8.2 自动测试事例设计 14

1.9 软件测试自动化的限制 17

1.9.1 不能取代手工测试 17

1.9.6 工具本身并不具有想象力 18

1.9.4 测试自动化不能提高有效性 18

1.9.5 测试自动化可能会制约软件开发 18

1.9.3 对测试质量的依赖性极大 18

1.9.2 手工测试比自动测试发现的缺陷更多 18

小结 19

第2章 捕获回放并非测试自动化 21

2.1 应用举例:Scribble 22

2.1.1 测试事例举例:在Scribble中编辑一个列表 22

2.1.2 测试Scribble列表 22

2.1.3 测试输入 23

2.2 如何将手工测试过程自动化? 29

2.2.1 Ad hoc测试:非脚本化 30

2.2.2 模糊的手工脚本 31

2.2.3 详细的手工脚本 32

2.3 测试执行自动化:输入 34

2.3.1 测试输入自动化 35

2.3.2 回放录制脚本 35

2.3.3 自动脚本有别于手工脚本 35

2.3.4 使用自动化测试输入的益处 37

2.3.5 录制手工测试的缺点 38

2.3.6 建议:不要仅采用录制的方式进行自动化测试 39

2.3.7 需要手工验证的自动执行 39

2.4 自动测试结果比较 40

2.4.1 确定何时比较测试事例的输出 40

2.4.2 比较多大范围? 40

2.4.4 执行后比较 43

2.4.3 动态比较 43

2.4.5 自动比较信息必须手工检查 45

2.4.6 自动化测试比较十分重要 46

2.5 测试自动化的下一个步骤 46

2.5.1 为什么第二次测试失败 47

2.5.2 其他验证需求 50

2.5.3 验证修改文件或数据库的方法 51

2.5.4 所有的文件哪里去了? 51

2.6 不可自动实现自动化测试过程 52

小结 52

第3章 脚本技术 55

3.1.2 脚本的共性问题 56

3.1 引言 56

3.1.1 与编程的相同点 56

3.1.3 测试事例的设计和实现 60

3.1.4 有关脚本文档的建议 61

3.2 脚本技术 63

3.2.1 线性脚本 63

3.2.2 结构化脚本 65

3.2.3 共享脚本 66

3.2.4 数据驱动脚本 70

3.2.5 关键字驱动脚本 74

3.3.1 脚本预处理功能 77

3.3 脚本预处理 77

小结 81

第4章 自动比较 85

4.1 验证、比较及自动化 86

4.1.1 比较验证 86

4.1.2 计划比较和随意比较 86

4.1.3 预测输出及验证实际输出 87

4.1.4 自动比较的原因 87

4.1.5 比较的内容 88

4.1.6 自动比较的局限性 88

4.2.2 比较器告诉用户的内容 89

4.2.1 可比较的内容 89

4.2 比较器的用途 89

4.2.3 比较器不能告诉用户的内容 90

4.3 动态比较 90

4.3.1 定义 90

4.3.2 支持和实现工具 90

4.3.3 测试事例智能 91

4.3.4 复杂性与维护费用成正比 91

4.4 执行后比较 91

4.4.1 定义 91

4.4.2 支持工具 92

4.4.3 比较顺序和结构 92

4.4.4 主动与被动的执行后比较 93

4.4.5 实现执行后比较 94

4.5 简单比较 97

4.6 复杂比较 97

4.6.1 需要复杂比较的原因 97

4.6.2 简单屏蔽 98

4.6.3 屏蔽的搜索技术 99

4.6.4 使用正则表达式的搜索技术 100

4.6.5 实现复杂比较 100

4.7.1 敏感与健壮的测试 101

4.7.2 敏感测试与健壮测试之间的权衡 101

4.7 测试敏感性 101

4.7.3 冗余性 102

4.7.4 测试敏感性的策略 103

4.8 比较不同类型的输出 104

4.8.1 基于磁盘的输出 104

4.8.2 基于屏幕的输出 107

4.8.3 其他输出类型 110

4.9 比较过滤器 110

4.9.1建立执行后比较工具的实用方法:比较处理过程 110

4.9.2 过滤器的定义 111

4.9.3 实现比较处理过程 112

4.9.4 过滤器的优缺点 112

4.9.5 过滤器事例 114

4.9.6 连续用多个过滤器 115

4.9.7 标准化比较 119

4.9.8 产生预期输出 119

4.10 比较准则 120

4.10.1 保持简单 120

4.10.2 编制比较的文档 120

4.10.3 尽可能标准化 120

4.10.4 分割和驾御 120

4.10.5 记住效率 120

4.10.7 敏感和健壮测试间平衡的目标 121

小结 121

4.10.6 避免比较位图 121

第5章 测试件结构 123

5.1 测试件结构的定义 124

5.1.1 术语 124

5.2 要解决的关键问题 125

5.2.1 规模 125

5.2.2 重用 126

5.2.3 多版本 127

5.2.4 独立于平台和环境 128

5.3 方法 128

5.3.1 介绍 128

5.3.2 基本概念 129

5.3.3 测试件组 131

5.3.4 测试集 136

5.3.5 测试件库 137

5.3.6 测试结果 140

5.3.7 物理实现 141

5.3.8 测试工具的接口 150

5.4 是否过度 150

小结 151

第6章 自动化前后的处理 153

6.1.3 为什么使用这些术语? 154

6.1.2 后处理 154

6.1.1 前处理 154

6.1 什么是前处理和后处理? 154

6.1.4 为什么要自动化前处理和后处理? 155

6.1.5 每次存储和恢复时都要设置吗? 156

6.2 前处理和后处理 156

6.2.1 前处理任务 156

6.2.2 后处理任务 157

6.2.3 不同阶段的前处理和后处理 158

6.3 测试事例执行后应该发生什么? 160

6.3.1 正常结束之后 160

6.3.2 非正常终止之后 160

6.4.1 例子测试事例 161

6.4.2 脚本 161

6.4 执行中的问题 161

6.4.3 使用命令行文件 164

6.4.4 数据驱动的方法 164

6.4.5 关键字驱动的方法 164

6.4.6 怎样使用测试事例定义文件 165

小结 166

第7章 建立可维护的测试 167

7.1 维护过程中存在的问题 168

7.2 测试维护的属性 168

7.2.1 测试事例的数量 169

6.2.3 测试数据的格式 170

7.2.2 测试数据的数量 170

7.2.4 运行测试事例的时间 171

7.2.5 测试事例的调试能力 172

7.2.6 测试之间相互依赖的关系 172

7.2.7 命名习惯 173

7.2.8 测试复杂度 173

7.2.9 测试文档(管理) 173

7.2.10 其他属性 174

7.3 陷阱 174

7.3.1 工具容易令你出错 174

7.3.2 方法越简单就越容易造成维护的高成本 174

7.4.2 措施 175

7.4 策略和措施 175

7.4.1 策略 175

7.3.3 一时的心血来潮 175

7.3.4 投入所得的回报 175

小结 176

第8章 度量 179

8.1 为什么测量测试过程和测试自动化? 180

8.1.1 投入回报 180

8.1.2 评估选择、对比选择、监控改进 182

8.2 可测量什么? 183

8.2.1 Gilb的法律 183

8.1.4 基准与标准的对立或竞争 183

8.1.3 对问题的预警和预测 183

8.2.2 举例说明什么可以度量 184

8.2.3 有用的度量 184

8.3 测试和测试自动化的目的 185

8.3.1 测试的目的 185

8.3.2 测试自动化的目的 185

8.3.3 可达到的目的 187

8.4 软件测试的属性 187

8.4.1 测量测试效果 187

8.4.2 全面测量测试过程 193

8.5 测试自动化的属性 194

8.5.2 效率 195

8.5.1 可维护性 195

8.5.3 可靠性 197

8.5.4 兼容性 198

8.5.5 可用性 198

8.5.6 健壮性 198

8.5.7 可移植性 199

8.6 最好的测试自动化体制 199

8.7 应该度量所有这些否? 201

小结 202

第9章 其他问题 203

9.1.2 要执行测试的类型 204

9.1.1 它值得自动化否? 204

9.1 应首先被自动化的测试 204

9.1.3 应该首先自动化的测试 205

9.1.4 不要一口气自动化太多测试 206

9.2 选择何时运行的测试 206

9.2.1 怎样选择测试子集 206

9.2.2 实现一个“测试选择器” 207

9.3 测试执行的顺序 208

9.3.1 测试分析负担 208

9.3.2 建立逻辑层次使分析时间最短 209

9.4 测试状态 210

9.4.1 成功或失败 210

9.3.4 分布测试 210

9.3.3 运行测试的其他必要条件 210

9.4.2 工具不能判断成功或失败 211

9.4.3 已知的未修复错误 211

9.4.4 可能的解决方法 212

9.4.5 测试状态:预料之中的失败 213

9.4.6 测试状态:未知 213

9.4.7 测试状态小结 216

9.4.8 更详细的失败状态 216

9.5 为可(自动化)测试性设计软件 217

9.7 监视自动化测试的进展 218

9.6 同步 218

9.8 裁剪自己体制中的工具 220

小结 221

第10章 选择实现自动化测试的工具 223

10.1 第10章和第11章介绍 224

10.1.1 工具选择和执行过程 224

10.1.2 这是可适用于选择任何类型工具的方法否? 224

10.2 选择工具 225

10.3 工具选择工程 225

10.3.1 重要性和优先权 225

10.4 工具选择小组 226

10.4.1 工具选择小组的领导 226

10.5.1 要解决什么问题? 227

10.5 确定自己的需求 227

10.4.2 工具选择小组中的其他成员 227

10.5.2 研究不同的解决方案 228

10.5.3 选择工具的时间安排 231

10.5.4 工具应该有多大的帮助? 231

10.5.5 这种帮助有多大价值 232

10.6 明确限制 234

10.6.1 环境的限制(硬件和软件) 235

10.6.2 工具应该与被测试的软件存在于同一环境否? 235

10.6.3 商业厂商限制 235

10.6.4 成本限制 236

10.6.6 质量限制 237

10.6.5 行政上的限制 237

10.7 创建还是购买? 239

10.8 从市场中可得到的 240

10.8.1 特性评估 240

10.8.2 生成最初的长列表 242

10.8.3 构造较短的列表 242

10.9 评估最后的候选工具 243

10.9.1特性比较 243

10.9.2 内部演示 246

10.9.3 脚本维护的测试 248

10.9.4 竞争试验 249

10.10 做出决定 249

10.10.1 根据经济利益进行评价 249

10.10.2 何时停止评估 250

小结 251

10.10.3 完成评估和选择过程 251

第11章 在公司或机构中使用工具 253

11.1 可能的差错 254

11.2 管理贯彻使用过程的重要性 254

11.2.1 工具很容易被束之高阁 255

11.2.2 工具贯彻使用的过程 255

11.2.3 对变化的管理 256

11.3 贯彻使用/改变过程中的角色 256

11.3.1 工具“斗士” 256

11.3.4 工具管理员 257

11.3.2 变动代理人 257

11.3.5贯彻使用小组 258

11.4 管理承诺 258

11.4.1 成功的关键 258

11.4.2 现实的期望 259

11.5 准备 259

11.5.1 宣传 259

11.5.2 提高最初的兴趣 260

11.5.3 继续进行宣传 260

11.5.4 测试你的演示 260

11.6.1 为什么要进行初步实验 261

11.6 初步实验计划 261

11.5.5 用一个试用许可证号确定工具是否合适 261

11.5.6 内部市场调查 261

11.6.2 评估你的测试过程的变化 262

11.6.3 设置并实验你的自动化体制 263

11.6.4 评估初步实验的结果 263

11.7 计划阶段安装或大面积铺开 263

11.7.1 计划的重要性 263

11.7.2 提供工具使用方面的培训 264

11.7.3 监控测试自动化的效率 264

11.8.1 同其他工具和系统的接口 265

11.8.2 学习所需要的时间 265

11.8 贯彻使用中的特殊问题 265

11.8.3 在维护环境中 266

11.9 人为因素 266

11.9.1 对人们提出的问题不进行管理的危险 266

11.9.2 变化方程式 267

11.9.3 怎样说服人们改变他们工作的方式 267

11.9.4 成功的改变孕育着更进一步的变化 267

11.9.5 可变化性的分类 268

11.10 总结 269

11.10.1 贯彻使用过程的“冰山图” 269

11.10.2 评价工具的贯彻使用 269

11.10.3 何时结束? 269

小结 270

第12章 Racal-Redac事例 275

12.2 背景 276

12.2.1 公司及产品 276

12.2.2 初期测试活动 276

12.2.3 人工测试带来的问题 276

12.1 介绍 276

12.3 解决方案 277

12.3.1 多方案策略 277

12.3.2 自动测试工具 277

12.3.3 外界咨询 278

12.3.4 培训测试技术 278

12.3.5 优化配置测试人员 278

12.4.2 开发工作 279

12.4 综合测试自动化 279

12.4.1 工具性能 279

12.4.3 首次使用Autotest 280

12.5 系统测试自动化 280

12.5.1 新的目标 280

12.5.2 开发工作 280

12.5.3 技术问题 281

12.5.4 非技术问题 282

12.6 得到的结果 283

12.6.1 产品每一版本的测试工作 283

12.6.2 获得的教训 284

12.6.4 回报 286

12.6.3 获得的利益 286

12.7 1991年以来的历史 287

12.8 今后会发生什么 288

12.8.1 1991年以来的历史 288

12.8.2 自动测试的先进技术 288

12.8.3 技术问题 289

12.8.4 变化与利益 289

12.8.5 现时文化 290

第13章 一个软件自动测试系统的评估 293

13.3.1 特性 294

13.3 Grimlin 1 294

13.2 背景 294

13.1 介绍 294

13.3.2 Grimlin 1的优点 295

13.3.3 Grimlin 1的上升与跌落 295

13.3.4 Grimlin 1使用下降的原因 295

13.4 Grimlin 2.0:没有重新运行功能的产品 297

13.4.1 Grimlin 2.0的特性 297

13.4.2 提供新的培训 298

13.4.3 Grimlin 2.0 beta版测试结果 299

13.4.4 新的系统对使用者的吸引力不大 299

13.5 发现真正的问题所在 299

13.5.2 自动测试需要时间 301

13.5.1 错误的设想 301

13.5.3 人员变化带来的问题 302

13.5.4 测试工具不支持标准的方法和步骤 303

13.5.5 Gramlin 2.3:方法和工具相结合的产物 303

13.6 得到的教训 303

13.6.1 测试方法和步骤非常重要 303

13.6.2 测试工具的支持 304

13.6.3 组织上的问题 305

小结 307

第14章 自动测试的经历 309

14.1.2 测试的软件 310

14.1.3 选择工具和初次失败 310

14.1.1 公司 310

14.1 背景 310

14.2 计划、准备和最后的成功 311

14.2.1 新任务 311

14.2.2 重新使用测试工具 311

14.2.3 计划和准备工作的重要性 311

14.2.4 组织和动机 311

14.2.5 回报 312

14.2.6 从经济上衡量自动测试 312

14.2.7 平台支持 312

14.3.5 准确预测 313

14.3.4 精华部分 313

14.3.6 补充新的人员和士气 313

14.3.1 减少冒险 313

14.3.2 更快 313

14.3 自动测试的优点 313

14.3.3 覆盖更多的平台 313

14.4 得到的教训 314

14.4.2 脚本 314

14.4.1 培训和咨询 314

14.4.3 数据 314

14.3.9 2000年问题测试 314

14.3.8 强度测试 314

14.3.7 银行其他的部门颇感兴趣 314

14.4.4 万事开头难 315

14.4.5 曲折前进 315

14.4.6 合理性 315

14.4.7 持续性 315

14.4.8 处理各种变化 315

14.5 下一步的工作 315

小结 316

第15章 VMS环境下的自动测试 317

15.1.4 自动测试目标 318

15.1.2 测试实践 318

15.1.3 测试的软件 318

15.1.1 公司 318

15.1 背景 318

15.2 自动测试的第一次尝试 319

15.2.1 DTM工具 319

15.2.2 交互执行程序带来的问题 319

15.2.3 批量程序带来的问题 319

15.2.4 放弃使用测试工具 319

15.3 新测试工具的选择及其评价 320

15.3.1 在市场上找到V-Test 320

15.3.2 评估V-Test 320

15.4.1 相关问题 322

15.4 使用V-Test 322

15.4.2 计划的利益和V-Test的交易 323

15.4.3 自动执行了什么,如何执行的 323

15.4.4 技术问题 324

15.4.5 非技术问题 326

15.4.6 取得的好处 326

15.4.7 放弃自动测试 328

15.4.8 复兴计划 329

15.5 结论 329

15.5.1 得到的教训 329

15.5.2 得到的好处 331

第16章 一个电子股票交易系统的自动测试 333

16.1.3 有关的市场调节器 334

16.1.2 新技术带来的影响 334

16.1 背景 334

16.1.1 伦敦股票市场 334

16.2 系统及测试 335

16.2.1 早期系统开发及测试 335

16.2.2 正在进行的开发和测试需求 336

16.3 自动测试需求 336

16.3.1 目标 336

16.3.2 测试小组的组织:摒弃独立的组织形式 336

16.4 测试工具的选择 337

16.4.1 限制因素 337

16.4.2 忽略的事情 337

16.4.3 选择测试工具的步骤 338

16.5 执行测试 339

16.5.1 从哪里开始? 339

16.5.2 选择执行数据驱动的方法 339

16.5.3 脚本结构发展 340

16.6 成熟和维护 340

16.6.1 脚本维护 340

16.6.2 人工测试和自动测试的关系 341

16.7 结果 341

16.7.1 测试的规模 341

16.7.2 达到目标 341

16.7.3 自动测试的回报 342

第17章 每月自动测试保险报价系统 343

17.1 背景:UK保险业 344

17.2 摘要,如何身陷其中的? 345

17.3 为什么进行自动测试? 345

17.4 测试的策略 346

17.5 选择一个自动测试工具 347

17.6 有关自动测试计划的决策 348

17.6.1 测试者的工作 348

17.6.2 自动测试技师的工作 348

17.7 测试计划 349

17.8 遇到的一些其他问题 350

17.9 人工与自动测试者对比 351

小结 352

第18章 第三代ISS自动化测试系统 353

18.1 介绍 354

18.2 测试的软件 354

18.3 第一代 354

18.3.1 采用自动化测试的最初目标 354

18.3.2 辅助工具的选择 355

18.3.3 脚本的捕获重放 355

18.3.4 第一代系统的成本和优点。 356

18.3.5 第一代产品所遇到的问题 356

18.4.2 我们所做的工作 357

18.4.1 我们继续研究自动化测试的目的 357

18.4 第二代测试工具 357

18.3.6 第一代系统得到的教训 357

18.4.3 命名规定 358

18.4.4 新体制 359

18.4.5 第二代产品的成本和优点 360

18.4.6 第二代测试系统存在的缺陷 360

18.4.7 第二代系统得到的教训 361

18.5 第三代自动测试工具 361

18.5.1 设计一种新的基础构造 361

18.5.2 评价付出的努力 363

18.5.3 设计基础结构 363

18.5.4 第三代测试工具的价格与优点 364

18.5.5 第三代测试工具遇到的问题 365

18.5.6 第三代测试系统得到的教训 366

18.6 三代测试系统概要 366

18.6.1 三代测试工具的特性 366

18.6.2 长期策略 367

18.6.3 建议 368

18.6.4 成功的因素 368

第19章 自动化测试故障:吸取的教训 371

19.1 介绍 372

19.2 工程 372

19.2.1 工程A 372

19.3.1 测试工具问题 373

19.2.2 工程B 373

19.3 问题 373

19.3.2 测试者和他们遇到的问题 374

19.3.3 测试环境问题 374

19.3.4 自动测试的时间和工作量 375

19.4 建议 376

19.4.1 测试工具的建议 376

19.4.2 对测试者的建议 376

19.4.3 测试环境的建议 377

19.4.4 时间和工作量建议 377

19.5 Pilot工程 377

19.6 结束语 378

第20章 一个预料之外的自动测试事例 379

20.1 背景介绍 380

20.1.1 用户和顾问 380

20.1.2 工程 380

20.1.3 理解银行的目标 380

20.1.4 工程背景 381

20.2 帮助银行选择产品 382

20.2.1 第一阶段:ITT 382

20.2.2 对投标商的更多问题 382

20.2.3 第二阶段 通过测试对产品作出选择 383

20.2.4 制定测试策略 383

20.2.5 等待阶段 384

20.3.1 供应商的新做法 385

20.3.2 综合各节的内容 385

20.3 进行测试 385

20.4 自动测试 386

20.4.1 测试系统的发展 386

20.4.2 测试系统的使用 387

20.5 结果 388

20.5.1 测试阶段:情况总结 388

20.5.2 优点 389

第21章 在独立测试单元下执行自动测试 391

21.2 评估过程 392

21.2.1 我们的要求 392

21.1.1 公司 392

21.1.2 事例研究和测试工具 392

21.1 背景介绍 392

21.2.2 与工具销售商的关系 393

21.2.3 商业范例 394

21.2.4 评估过程中的关键点 394

21.3 执行阶段 394

21.3.1 第一步:三份副体 394

21.3.2 训练 394

21.4.1 标准和命名规定 395

21.4 工具的配置 395

21.3.4 在执行阶段的关键点 395

21.3.3 使用多种工具 395

21.4.2 工具专家和支持 396

21.4.3 效应扩展 396

21.4.4 工人配置过程中的关键点 397

21.5 QARun的运行情况 397

21.5.1 宽度测试 397

21.5.2 深度测试 398

21.5.3 其他的测试 399

21.5.4 工具使用的关键点论述 399

21.6.1 脚本的运行 400

21.6 遇到的问题 400

21.6.2 脚本和数据的维护 401

21.6.3 工具的维护 401

21.6.4 工具的缺陷 401

21.6.5 对测试脚本和数据的配置管理 401

21.6.6 不要急于进行自动化测试 402

21.6.7 我们遇到问题的关键点论述 402

21.7 两年中取得的成绩 402

21.7.1 节约了时间 402

21.7.8 小组中更高昂的士气 403

21.7.7 测试人员应是熟练的 403

21.7.5 性能测试 403

21.7.6 客户影响 403

21.7.4 我们的产品缺少回归 403

21.7.3 机器的使用方法 403

21.7.2 改善了测试 403

21.8 结论 404

第22章 用功能语句测试 405

22.1 介绍 406

22.1.1 产生该方法的原因 406

22.1.2 测试 406

22.1.3 功能语句方法 407

22.1.4 使用本方法的原因 408

22.2.1 应用举例:迷你银行 409

22.2 测试组件 409

22.2.2 测试迷你银行的数据表格 410

22.2.3 不可预知的关键数据:保持和参考 412

22.2.4 数据表格执行报表 413

22.3 导航器 414

22.3.1 导航器的实现 415

22.4 测试开发生命周期 415

22.4.1 测试计划 416

22.4.2 测试设计 417

22.5 其他测试类型的适用性 418

22.5.1 批量测试系统 418

22.5.2 性能和加载测试 418

22.6.2 举例:订单 419

22.6 模板:表格单元 419

22.6.1 利用功能语句生成功能语句 419

小结 421

第23章 在ABN AMRO Bank Development International的回归测试 423

23.1 背景 424

23.1.1 介绍 424

23.1.2 ABN AMRO Bank组织及其主要产品 424

23.1.3 ABN AMRO Bank测试周期 425

23.2.2 技术基础结构 426

23.2.4 可能的解决办法 426

23.2.3 大范围项目 426

23.2.1 新版本 426

23.2 常规测试的问题 426

23.3 使用TestFrame的自动方案 427

23.4 回归测试项目 428

23.4.1 项目小组 428

23.4.2 测试小组 428

23.5 副产品 429

23.6 前景 430

小结 430

第24章 事务对象方案:自动测试的第五代方法 431

24.2 开发测试软件的五代经历 432

24.2.1 第一代 432

24.1 简介 432

24.2.2 第二代 433

24.2.3 第三代 433

24.2.4 第四代 433

24.2.5 第五代 433

24.3 RadSTAR 433

24.4 窗口中央化方案库 434

24.5 事务对象方案 435

24.6 事务对象方案与现有系统综合 436

24.7 重用与可重复性 436

24.7.1 重用 436

24.8 结论 437

24.7.2 可重复性 437

第25章 一个自动测试过程 439

25.1 介绍 440

25.2 第一步 440

25.2.1 早期尝试自动测试的经验 440

25.2.2 下一个尝试:新工具和来自工具专家的支持 440

25.2.3 AD HOC自动测试过程的经历(“坏的”) 441

25.2.4 我们真正需要什么 441

25.2.5 这样能行吗? 441

25.4.1 RadSTAR作为自动测试基础结构的核心 443

25.4 利用RadSTAR完成自动测试 443

25.3.2 它能满足我们的需要吗? 443

25.3.1 这个方法提供些什么? 443

25.3 受欢迎的自动测试基石:RadSTAR 443

25.4.2 报告举例(数据来自2000年项目) 444

25.5 回顾 447

25.5.1 小组成员 447

25.5.2 我们成功了吗? 448

第26章 自动测试手册摘要 449

26.1 本章简介 450

26.2 手册简介 450

26.2.1 测试为什么要自动化 450

26.2.2 什么时候不做自动测试 451

26.2.3 如何不能实现自动化 452

26.2.4 设定现实的期望值 452

26.2.5 获得和遵守领导的承诺 454

26.3 测试自动化的基本概念 455

26.3.1 前后关系 456

26.3.2 同步 457

26.3.3 文档 458

26.4 测试过程和人员 459

26.4.1 测试自动化过程 459

26.4.2 测试队伍 459

26.5.1 不准确的结果 461

26.5 测试执行:分析结果 461

26.5.2 缺陷跟踪 462

26.6 测试量度 462

26.6.1 向领导汇报 466

26.6.2 历史趋势 467

26.7 关于手册更多的信息 467

第27章 建立可维护的GUI测试 469

27.1 背景介绍 470

27.1.1 定义 470

27.1.2 为什么需要方法学 471

27.2 费用驱动 471

27.2.1 简述录制/回放 472

27.2.2 自动化的GUI测试要求 473

27.3 测试计划和设计 473

27.3.1 测试文档的双重用途 474

27.3.2 在测试设计过程中发现错误 476

27.4 工作良好的测试事例 477

27.4.1 测试事例是独立的 478

27.4.2 测试事例具有单一用途 478

27.4.3 一个失败的测试事例不应引起其他测试事例的失败 478

27.4.4 测试事例应具有完整的文档 479

27.5 封装测试设置 479

27.5.1 向设置程序传递参数 481

27.5.2 标准化的错误复原 481

27.5.3 GUI对象映射 483

27.6.1 测试项目计划 484

27.6 实施步骤 484

27.6.2 编写测试 485

小结 485

第28章 在微软的自动化测试经验 487

28.1 历史 488

28.1.1 经历简介 488

28.1.2 准备自动化测试 489

28.1.3 测试管理系统 490

28.2.1 操作原理 491

28.2.2 优点 491

28.2 批处理文件 491

28.2.3 缺点 492

28.2.4 结论 492

28.3 捕捉/回放工具 492

28.3.1 操作原理 492

28.3.2 优点 492

28.3.3 缺点 492

28.3.4 结论 493

28.4 脚本语言 493

28.4.1 操作原理 493

28.4.2 优点 493

28.5.1 操作原理 494

28.5 测试修饰用对话框 494

28.4.3 缺点 494

28.4.4 结论 494

28.5.2 优点 495

28.5.3 缺点 495

28.5.4 结论 495

28.6 帮助测试工具 495

28.6.1 操作原理 495

28.6.2 优点 496

28.6.3 缺点 496

28.7.2 缺点 497

28.7.1 优点 497

28.7 使测试执行随机化的工具 497

28.6.4 结论 497

28.7.3 结论 498

28.8 首先使什么实现自动化? 498

28.8.1 开发自动化测试的关键点 498

28.8.2 回归测试 499

28.8.3 冲击测试 499

28.8.4 错误管理 499

28.9 十点体会 500

附录 501

词汇 503