目录 1
第1章 影响Web使能软件的因素 1
1.1 软件开发的三个基本原理 1
1.2 新领域——Web使能应用程序 2
1.3 目前编写高质量的软件为什么非常困难 6
1.3.1 2.0版本可靠性的神话 6
1.3.2 对目标的管理请求 7
1.3.3 在异构规则的情况下使用同构规则 9
1.3.4 带有bug的语言 10
1.3.5 邪恶孪生副总统问题 10
1.4 软件开发简史 11
1.4.1 Web使能应用程序 12
1.4.2 测试图和生命周期过程 13
1.5 测试方法 15
1.5.1 点击流测试 15
1.5.2 单元测试 16
1.5.3 功能系统测试 17
1.5.4 可扩展性和性能测试 18
1.5.5 服务质量测试 18
1.6 定义测试代理 18
1.7 为单个用户进行的测试 21
1.8 创建智能测试代理 23
1.9 本章小结 24
第2章 应用程序的性能何时会带来问题 25
2.1 什么是标准 25
2.2 Web性能的标准 26
2.2.1 功能有效吗 27
2.2.2 性能可以接受吗 28
2.2.3 失效的频率是多少 28
2.3 Web使能应用程序的度量工具 28
2.4 优秀性能的四种测试 29
2.5 优秀测试代理的组成部分 30
2.6 Web使能应用程序的类型 31
2.7 Web使能应用程序点系统 32
2.8 Web使能应用程序的框架 35
2.8.1 饼体系结构 35
2.8.2 采用饼体系结构和智能测试代理 36
2.9 在饼环境下建立智能测试代理 39
2.9.1 脚本语言和测试代理 40
2.10 本章小结 47
2.9.2 产生有意义的数据 47
第3章 模拟测试 48
3.1 为有意义的测试结果模拟用户行为 48
3.2 生命周期、项目和人的本性 49
3.3 Mircomax生命周期 51
3.3.1 问题分类 51
3.3.2 问题排序 52
3.3.3 报告问题 53
3.3.4 评价问题的准则 53
3.4 Web使能应用程序的测试 54
3.4.1 功能和可扩展性测试 54
3.4.2 功能性测试 55
3.4.3 可扩展性测试 56
3.4.4 测试功能和可扩展性的模块 57
3.4.5 管理风格 61
3.5 服务级别约定 62
3.6 网格计算和智能测试代理 64
3.6.1 简单安装、使用和维护的方法 64
3.6.2 自维护系统 65
3.7 理解性能和可扩展性准则 67
3.7.1 定义SPC 67
3.7.2 运转中的SPC 68
3.8 模拟用户目标 71
3.8.1 测试状态 72
3.8.2 使用UML和代码注释对测试进行建模 72
3.8.3 整体考虑测试 73
3.9 本章小结 74
4.1.1 桌面应用程序的开发和测试自动化 75
第4章 Java开发和测试自动化工具 75
4.1 3次潮流 75
4.1.2 客户/服务器应用程序的开发和测试自动化 77
4.1.3 Web使能应用程序的开发和测试自动化 78
4.2 troika——第4次潮流 80
4.3 测试自动化生命周期 82
4.4 本章小结 84
第5章 从方法学到设计的途径 85
5.1 实现troika的工具 85
5.2 怎样获得TestMaker 88
5.3 五分钟学会TestMaker 89
5.4 运行TestMaker 90
5.4.1 熟悉TestMaker图形环境 90
5.4.2 打开并运行测试代理 91
5.4.3 通过新代理向导建立代理 94
5.5 喜欢Jython的原因 100
5.5.1 Jython 十分快速 101
5.5.2 可以免费获得数据结构和列表迭代 101
5.5.3 自动选择类型的动态变量 101
5.5.4 函数是一流的 102
5.5.5 Java集成 102
5.5.6 Bean属性内省 103
5.5.7 Sun公司正在采用Java中的脚本 103
5.6 使用Jython并入Junit 103
5.6.1 JUnit用于可重复测试 103
5.6.2 一个JUnit示例 104
5.6.3 JUnit和TestMaker 105
5.7 本章小结 107
第6章 HTTP/HTML环境中的设计与测试 108
6.1 HTTP/HTML环境 108
6.2 HTTP/HTML环境中的常见错误 110
6.2.1 兼容性和浏览器缓存 110
6.2.2 无效数据 111
6.2.3 会话问题 113
6.2.4 创建HTTP测试代理 113
6.3 现有的HTTP通信 115
6.3.1 理解cookie、会话和重定向 122
6.3.2 验证响应数据 128
6.4 本章小结 137
第7章 协调SOAP和XML Web服务 138
7.1 Web服务简介 138
7.2 用于Web互操作的XML-RPC 140
7.4 SOAP的全局互操作性 144
7.3 XML-RPC的缺点 144
7.5 Web服务可扩展性技术 145
7.6 Web服务互操作性问题 147
7.6.1 发现 147
7.6.2 定义 147
7.6.3 请求和响应 148
7.6.4 展望 150
7.7 利用TestMaker来理解WSDL 150
7.7.1 构造SOAP调用 154
7.7.2 不同类型的SOAP调用 156
7.8 验证响应数据 163
7.11 本章小结 164
7.9 使编写代理更容易 164
7.10 资源 164
第8章 状态、设计和测试 165
8.1 状态问题 165
8.2 测试有状态系统的生命周期 167
8.3 建立状态的技术 168
8.4 准备和安装代理 170
8.5 使用数据库配置测试 180
8.6 使用Lingo使测试内容更接近真实 184
8.7 本章小结 188
第9章 集成NET Web服务 189
9.1 互操作性和集成 190
9.2 NET的不同之处 192
9.2.1 文档样式的可扩展性 194
9.2.2 NET中的SOAP 195
9.2.3 WSDLNET样式 196
9.3 NET境的测试代理 198
9.4 近期需要考虑的事项 204
9.5 本章小结 205
第10章 创建与测试Intranet和安全环境 206
10.1 基础知识 206
10.1.1 路由安全 206
10.1.2 虚拟专用网 207
10.1.3 网络段和子网 208
10.1.4 传输安全 209
10.1.5 SSL上的SOAP 213
10.1.7 HTTP基本授权 214
10.1.6 NET护照授权 214
10.2 SOAP和安全 215
10.3 产生认证和密钥库 216
10.4 本章小结 219
第11章 从构造到测试Web应用程序框架 220
11.1 交易办公桌和智能测试代理 220
11.2 可扩展的测试目标 220
11.3 系统基础架构 221
11.4 用户原型 223
11.5 理解测试需求 224
11.6 构造测试 225
11.7 将用户原型实现为代码模块 228
11.8 实现主组件 235
11.8.1 安装 235
11.8.2 运行 237
11.8.3 清除 238
11.8.4 用于测试配置的属性文件 239
11.9 实现日志组件 239
11.10 避免测试可扩展性问题 240
11.11 本章小结 243
第12章 将测试代理结果转换为行为知识 244
12.1 分析测试结果得到的信息 244
12.1.1 目标:我们的新Web站点需要处理50个并发用户的峰值负载 245
12.1.2 目标:Web站点注册页需要万无一失 245
12.1.3 目标:顾客的月末报告请求不能减慢订购服务 246
12.1.4 目标总结 246
12.2 五大问题模式 246
12.2.1 资源问题 246
12.2.2 并发问题 247
12.2.3 组件问题 248
12.2.4 竞争问题 248
12.2.5 崩溃的恢复问题 249
12.3 结果分析中的主要因素 249
12.4 结果数据产生误导的几种情形 251
12.4.1 节点问题 251
12.4.2 隐藏的错误 251
12.4.3 Dileep的困惑 252
12.4.4 消除反复 252
12.5 再论股票交易示例 253
12.6 本章小结 257
第13章 高容量数据中心的并发性和可扩展性 258
13.1 简介 258
13.2 2Wire组件管理系统 259
13.2.1 了解在网络上发生的事情 260
13.2.2 复杂环境中的测试 262
13.3 测试方法 264
13.4 测试环境需要考虑的事项 266
13.5 测试环境的约束 267
13.6 本章小结 268
第14章 为SOAP的可扩展性进行正确选择 . 269
14.1 SOAP流行的原因 269
14.2 SOAP编码类型 270
14.3 简单对象访问需要简单的测试 272
14.4 是否让开发工具来决定编码类型 274
14.5 性能工具包 275
14.5.1 如何获得性能工具包 275
14.5.3 开始安装 276
14.5.2 安装性能工具包 276
14.6 其他事项 285
14.7 本章小结 286
第15章 电子邮件环境中的多协议测试 287
15.1 需要和益处 287
15.2 限定项目的范围 287
15.3 测试设计和方法学 289
15.4 安装和配置 291
15.4.1 从原型到测试代理脚本 292
15.4.2 创建Muriel 292
15.4.3 创建Marilyn 296
15.5 结果分析 306
15.6 本章小结 307