《.NET测试实战技术大全》出版了:
http://www.ptpress.com.cn/Book.aspx?id=11139
.NET平台是目前流行的软件开发平台,.NET软件是很多软件测试人员需要面对的测试对象,.NET软件的测试有其特殊性,需要专门的测试技术、测试技巧和测试工具。
本书结合流行的软件测试工具QTP、LoadRunner等使用方法的介绍,专注于.NET平台软件测试技术的讲解,阐述各种类型的.NET软件的测试方法和实战技巧,使读者可以快速掌握各种软件测试技术,并且能直接应用于实际的软件测试项目中。
本书不拘泥于测试理论的讲解和测试工具使用方法的介绍,而是根据.NET软件测试对象的特点,分门别类地分析其相应的测试方法和测试技术,采用合适的测试工具结合典型案例进行测试讲解。本书是作者多年参与.NET平台软件测试的经验总结,对学习软件测试的初学者和从事.NET平台软件测试工作的工程师,尽快融入实战角色、提高实战技能都有很大的帮助。
目录:
第一篇 .NET测试基础篇
第1章 软件测试基础介绍 1
1.1 软件质量与软件测试 2
1.1.1 软件产品与硬件产品的区别 2
1.1.2 软件测试能保证软件质量吗 2
1.1.3 全面质量管理 3
1.2 软件开发与软件测试 3
1.2.1 缺乏软件测试的开发过程 3
1.2.2 软件测试中的开发技术 3
1.3 测试工具与软件测试 4
1.3.1 测试工具的分类 4
1.3.2 正确地使用测试工具 5
1.4 MSF中的软件测试 5
1.4.1 MSF项目管理模式 5
1.4.2 MSF中的质量管理 6
1.4.3 MSF中的测试角色 7
1.5 小结 7
第2章 .NET软件基础介绍 8
2.1 .NET平台简介 9
2.1.1 托管代码介绍 9
2.1.2 .NET基本概念 9
2.2 自动垃圾回收 10
2.2.1 .NET的内存管理 10
2.2.2 .NET程序的内存测试 10
2.3 反射机制 11
2.3.1 反射机制简介 11
2.3.2 反射机制在测试中的应用 11
2.4 .NET开发工具与测试工具 13
2.4.1 .NET开发工具简介 13
2.4.2 .NET平台的测试工具 13
2.5 .NET软件类型及其测试 14
2.5.1 .NET软件的分类 14
2.5.2 .NET软件的测试 14
2.6 小结 15
第3章 .NET软件调试 16
3.1 调试与测试 17
3.2 掌握基本的调试能力 17
3.2.1 测试人员为什么要掌握基本的调试能力 17
3.2.2 调试在测试中的使用 17
3.3 Visual Studio.NET 2005基本调试技巧 18
3.3.1 断点设置 18
3.3.2 调试输出 19
3.3.3 变量监视 19
3.3.4 调用堆栈 20
3.3.5 逐过程调试 20
3.3.6 逐语句调试 21
3.3.7 WriteLine方法的使用 23
3.4 断言与跟踪 23
3.4.1 Debug类的使用 23
3.4.2 断言的“陷阱” 25
3.4.3 Trace类的使用 25
3.4.4 网络程序的跟踪 26
3.5 .NET中的Diagnostics类的使用 27
3.5.1 利用EventLog类读写事件日志 27
3.5.2 利用Process类监视进程信息 28
3.5.3 利用Process类查看进程加载的模块信息 29
3.5.4 利用Process类查看进程内的线程信息 30
3.5.5 利用Process类监视进程的性能问题 30
3.5.6 利用PerformanceCounter类监视系统性能 31
3.6 使用DataSetWatch调试DataSet数据 31
3.6.1 Visual Studio.NET 2005中的Visualizers 32
3.6.2 DataSet Watch 2.0简介 32
3.6.3 DataSet Watch 2.0的使用 33
3.6.4 利用DataSet Watch调试DataSet数据 33
3.7 托管程序的监视 35
3.7.1 ManagedSpy简介 35
3.7.2 利用ManagedSpy跟踪托管程序的事件 36
3.8 小结 37
第二篇 .NET单元测试篇
第4章 Visual Studio .NET 2005中的单元测试 39
4.1 如何建立单元测试项目 40
4.1.1 从被测试代码生成单元测试 40
4.1.2 添加单元测试项目 43
4.2 如何编写单元测试方法 44
4.2.1 Assert类的使用 44
4.2.2 CollectionAssert类的使用 45
4.2.3 StringAssert类的使用 45
4.2.4 私有访问器的使用 46
4.2.5 创建私有访问器 48
4.3 数据驱动的单元测试 48
4.3.1 为什么要使用数据驱动的方式 48
4.3.2 创建数据驱动单元测试 48
4.3.3 使用数据源 50
4.3.4 使用配置文件定义数据源 50
4.3.5 编写单元测试代码使用配置文件定义的数据源 51
4.4 单元测试的运行 51
4.4.1 测试管理器 52
4.4.2 命令行的运行方式 52
4.4.3 查看单元测试代码覆盖率 53
4.5 小结 54
第5章 利用NUnit进行单元测试 55
5.1 NUnit单元测试框架 56
5.2 NUnit单元测试方法 56
5.2.1 如何在Visual Studio.NET 2005中使用NUnit 56
5.2.2 NUnit单元测试的运行 57
5.2.3 NUnit的命令行运行方式 59
5.2.4 对异常处理进行单元测试 60
5.2.5 NUnit单元测试代码的调试技巧 60
5.3 使用对象模拟技术辅助单元测试 61
5.3.1 NMock简介 61
5.3.2 NMock的使用 61
5.3.3 如何使用NMock模拟接口的实现 62
5.4 NUnit与NCover的结合 63
5.4.1 NCover简介 63
5.4.2 NCover的命令行使用方法 63
5.4.3 NCover产生的覆盖率文件的分析 64
5.4.4 利用NCover分析Nunit单元测试代码的覆盖率 65
5.5 界面层的单元测试 67
5.5.1 NUnitForms简介 67
5.5.2 NUnitForms的使用方法 67
5.5.3 初始化被测试窗口 68
5.5.4 创建适当的ControlTester 68
5.5.5 使用FireEvent方法 68
5.5.6 插入验证点 68
5.5.7 利用测试录制器产生Nunit的界面层测试代码 70
5.6 小结 71
第6章 .NET代码分析及其自动化 72
6.1 单元测试与代码分析 73
6.1.1 广义的单元测试 73
6.1.2 代码分析及其自动化 73
6.1.3 自动化代码分析工具的发展 73
6.2 Visual Studio.NET 2005中的代码分析工具FxCop 74
6.2.1 FxCop简介 74
6.2.2 FxCop的使用 75
6.2.3 查看代码分析结果 76
6.2.4 排除代码缺陷警告 76
6.2.5 FxCop的命令行方式运行 78
6.2.6 FxCopCmd的使用方法 79
6.2.7 FxCop的规则定义方法 80
6.2.8 FxCop的代码分析原理简述 80
6.2.9 一个简单的自定义规则的开发 81
6.2.10 规则的描述 81
6.2.11 规则检查代码的开发 82
6.2.12 自定义规则的使用 83
6.3 Compuware DevPartner Studio中的代码分析工具 83
6.3.1 DevPartner简介 84
6.3.2 DevPartner的Code Review功能的使用 84
6.3.3 Code Review结果分析 85
6.3.4 Code Review规则筛选 86
6.3.5 在Rule Manager中编辑代码规则 87
6.3.6 编辑代码规则的描述信息 87
6.3.7 编辑代码规则的触发条件 88
6.3.8 利用Rule Manager添加自定义规则 89
6.3.9 编辑新的规则信息 89
6.3.10 新建规则触发器 90
6.3.11 自定义规则的使用 91
6.4 利用StyleCop测试.NET代码风格 91
6.4.1 代码风格与代码质量 92
6.4.2 StyleCop简介 92
6.4.3 在Visual Studio.NET 2005中使用StyleCop 92
6.4.4 StyleCop的设置 93
6.5 小结 94
第7章 让客户参与到测试中来——FIT 95
7.1 客户参与的测试 96
7.1.1 客户测试的关注点 96
7.1.2 使用例子进行测试的方法 96
7.1.3 FIT简介 97
7.2 FIT的使用 97
7.2.1 如何在Visual Studio.NET 2005中使用FIT 97
7.2.2 定义输入的测试数据 98
7.2.3 运行FIT进行测试 99
7.2.4 PrimitiveFixture的使用 100
7.3 FIT测试的运行 101
7.3.1 Fit Runner.NET的配置 101
7.3.2 选择FIT测试表格文件 102
7.3.3 编辑FIT测试表格文件 102
7.3.4 运行FIT测试 102
7.3.5 FIT测试表格生成 103
7.4 把FIT整合到Wiki中——FitNesse 105
7.4.1 FitNesse简介 105
7.4.2 FitNesse的安装 105
7.4.3 使用FitNesse测试.NET代码 106
7.4.4 编写FIT测试代码 106
7.4.5 在FitNesse中创建新的测试页面 107
7.4.6 设置测试页面 108
7.4.7 把Excel表格数据转换成FitNesse测试表格 109
7.4.8 运行测试页面 110
7.4.9 FitNesse的标注语言 111
7.4.10 创建测试集合(TestSuite) 112
7.4.11 编辑测试集合 113
7.4.12 运行测试集合 113
7.5 小结 114
第三篇 .NET自动化功能测试篇
第8章 QTP与.NET软件测试 115
8.1 QTP使用简介 116
8.1.1 QTP的安装 116
8.1.2 QTP的基本使用方法 116
8.1.3 在QTP中运行测试 116
8.1.4 分析测试结果 117
8.2 QTP对.NET软件测试的支持 118
8.2.1 QTP的.NET插件 118
8.2.2 QTP支持的WPF控件 119
8.2.3 QTP支持的.NET Windows Forms控件 120
8.2.4 QTP支持的.NET Web Forms控件 121
8.2.5 利用Object Spy查看控件属性 121
8.2.6 .NET Windows Forms Spy的使用 122
8.2.7 利用.NET Windows Forms Spy来了解控件行为 123
8.3 利用DotNetFactory访问.NET对象 124
8.3.1 DotNetFactory的使用方法 124
8.3.2 使用DotNetFactory访问.NET类库 124
8.3.3 使用DotNetFactory访问C#编写的函数 125
8.3.4 调用ADO.NET进行数据库测试 125
8.4 访问.NET Windows Forms对象的内部属性和方法 126
8.4.1 通过Object属性来获取对象的内部属性和方法 126
8.4.2 标准检查点验证控件属性的缺点 127
8.4.3 查看Object属性的技巧 127
8.4.4 通过Object属性访问并执行控件方法 128
8.5 测试WPF控件的方法 128
8.5.1 加载WPF插件 128
8.5.2 设置Windows Applications 129
8.5.3 如何访问WPF控件的内部属性和方法 129
8.6 测试.NET Web Forms的程序 130
8.6.1 测试.NET Web Forms的程序的前提条件 130
8.6.2 Web的录制和运行设置 131
8.6.3 QTP支持的浏览器 132
8.6.4 Windows Applications的录制和运行设置 132
8.6.5 设置IE浏览器的“Enable Tabbed Browsering”选项 133
8.6.6 录制.NET Web Forms程序 133
8.6.7 利用Object属性来增强.NET Web Forms程序的测试 133
8.7 QTP对象模型的使用 134
8.7.1 QTP自动化对象模型简介 134
8.7.2 在Visual Studio.NET 2005中使用QTP对象模型 134
8.7.3 查看QTP自动化模型库中的接口和类 135
8.7.4 在C#中通过QTP自动化模型接口启动QTP 135
8.7.5 在C#项目中加载.NET插件并启动QTP 136
8.8 QTP的.NET插件扩展开发 136
8.8.1 QTP的.NET插件扩展性 137
8.8.2 安装Custom Server 138
8.8.3 创建Custom Server项目 138
8.8.4 实现控件的录制逻辑 140
8.8.5 QTP的.NET插件扩展API 140
8.8.6 注册TrackBar控件的事件处理器 141
8.8.7 实现控件的运行逻辑 141
8.8.8 配置QTP使用Custom Server 141
8.8.9 测试Custom Server项目 143
8.9 小结 144
第9章 TestComplete与.NET软件测试 145
9.1 TestComplete使用简介 146
9.1.1 TestComplete的安装 146
9.1.2 TestComplete的基本使用方法 146
9.1.3 创建和组织测试项目 146
9.1.4 录制测试脚本 147
9.1.5 编辑测试脚本 147
9.1.6 运行测试脚本 148
9.2 TestComplete对.NET软件测试的支持 149
9.2.1 Open程序意义 149
9.2.2 如何在TestComplete中识别.NET控件 149
9.2.3 通过对象名访问.NET对象 150
9.2.4 通过类名、caption和index访问.NET对象 151
9.2.5 访问界面不可见对象的属性和方法 152
9.3 在TestComplete中调用.NET对象的函数 154
9.3.1 CLR Bridge的设置 154
9.3.2 dotNET对象的使用 154
9.3.3 访问DLL中的对象方法 155
9.4 TestComplete中的C#脚本 156
9.4.1 C#脚本简介 156
9.4.2 C#脚本的使用 156
9.4.3 把C#脚本导入Visual Studio.NET 2005 157
9.5 在C#中使用TestComplete的对象模型 158
9.5.1 什么是Connected的程序 158
9.5.2 创建Connected的程序 159
9.5.3 编写Connected类型的测试类 159
9.5.4 在Connected程序中执行测试 160
9.6 TestComplete与MSTest单元测试的整合 160
9.6.1 创建单元测试 161
9.6.2 配置MSTest单元测试 161
9.6.3 配置MSTest执行路径 162
9.6.4 在TestComplete中运行MSTest单元测试代码 162
9.7 TestComplete中的对象驱动测试方法 163
9.7.1 对象驱动测试(ODT)简介 163
9.7.2 ODT测试类的创建 164
9.7.3 为测试类添加测试方法 164
9.7.4 为测试类添加属性 166
9.7.5 ODT测试数据的编辑 166
9.7.6 运行对象驱动测试脚本 167
9.8 小结 169
第10章 .NET自动化测试 170
10.1 低级GUI自动化测试 171
10.1.1 在.NET中调用Windows的API 171
10.1.2 查找和定位控件 171
10.1.3 用Spy++辅助调试 172
10.1.4 使用FindWindowEx函数 173
10.1.5 移动鼠标到指定控件中 174
10.1.6 鼠标单击 175
10.1.7 键盘输入操作 176
10.1.8 基本的测试自动化 177
10.1.9 插入验证点 177
10.1.10 封装了Windows API的Automation类 179
10.2 轻量级GUI自动化测试 181
10.2.1 程序集与反射 182
10.2.2 启动被测试程序 182
10.2.3 读取控件属性 182
10.2.4 设置控件属性 183
10.2.5 操作GUI控件 184
10.2.6 基本的测试自动化 184
10.3 .NET自动化测试技巧 187
10.3.1 利用.NET的正则表达式协助测试 187
10.3.2 借助RegexTester建立和测试正则表达式 187
10.3.3 利用.NET的文件处理功能协助测试 188
10.3.4 检查某个文件是否存在 189
10.3.5 检查文件的文本内容 189
10.3.6 检查Excel表格的数据 189
10.4 小结 191
第11章 猴子测试 192
11.1 猴子测试简介 193
11.2 用TestComplete实现猴子测试 193
11.2.1 随机函数 193
11.2.2 持续监视被测试程序 194
11.2.3 监视被测试程序的性能 195
11.2.4 在TestComplete中调用logman 196
11.2.5 记录屏幕截图 197
11.2.6 给猴子一些智能 197
11.2.7 如何让猴子知道程序已经关闭 198
11.2.8 如何让猴子知道.NET程序出现异常 198
11.2.9 一个简单的猴子测试程序 199
11.2.10 猴子测试程序的运行设置 201
11.3 小结 203
第四篇 .NET自动化性能测试篇
第12章 Visual Studio.NET 2005中的负载测试 204
12.1 负载测试 205
12.1.1 负载测试简介 205
12.1.2 录制Web测试 206
12.1.3 添加单元测试 207
12.2 创建负载测试方案 209
12.2.1 思考时间的设置 209
12.2.2 负载模式 210
12.2.3 测试组合 211
12.2.4 浏览器组合 212
12.2.5 网络组合 213
12.3 负载测试计数器集 214
12.3.1 添加计算机 214
12.3.2 添加计数器集 215
12.3.3 运行设置 215
12.3.4 设置负载测试结果存储区 216
12.4 运行负载测试 217
12.4.1 在测试视图中运行负载测试 217
12.4.2 在测试管理器中运行负载测试 217
12.4.3 在负载测试编辑器中运行负载测试 217
12.4.4 从命令行运行负载测试 218
12.5 分析负载测试 219
12.5.1 查看负载测试结果 219
12.5.2 查看错误信息 220
12.5.3 查看阈值冲突信息 221
12.5.4 分析负载测试结果与设置阈值规则 222
12.6 集成SQL跟踪 224
12.6.1 启用SQL跟踪 224
12.6.2 查看SQL跟踪数据 225
12.7 小结 226
第13章 单元级别的性能测试 227
13.1 使用NTime进行单元级别的性能测试 228
13.1.1 NTime简介 228
13.1.2 NTime的使用方法 228
13.1.3 利用NTime测试程序的执行时间 229
13.1.4 NTime的运行 229
13.1.5 利用NTime测试代码的响应能力 231
13.1.6 利用NTime测试代码的CPU使用率 231
13.2 使用AQTime进行.NET代码层的性能分析 232
13.2.1 AQTime简介 232
13.2.2 在Visual Studio.NET2005中添加AQTime项目 232
13.2.3 添加测试项目的程序集 233
13.2.4 运行代码性能分析 234
13.2.5 代码性能结果分析 234
13.2.6 代码执行情况分析 235
13.2.7 分析每行代码的效率 236
13.2.8 分析整个.NET代码的效率 237
13.3 使用Visual Studio.NET 2005的性能工具进行代码分析 238
13.3.1 创建性能会话 238
13.3.2 运行性能会话 239
13.3.3 分析性能报告 240
13.3.4 分析函数调用关系 240
13.3.5 以“检测”方式启动性能会话 242
13.3.6 分析程序的内存分配情况 244
13.3.7 分析程序的对象生存周期 245
13.4 小结 246
第14章 使用LoadRunner进行性能测试 247
14.1 LoadRunner的使用 248
14.1.1 LoadRunner简介 248
14.1.2 LoadRunner基本使用方法 249
14.2 录制和编辑.NET Vuser脚本 251
14.2.1 .NET Vuser脚本简介 251
14.2.2 设置录制过滤器 251
14.2.3 设置.NET录制选项 252
14.2.4 运行录制 253
14.2.5 .NET Vuser录制过程日志分析 254
14.2.6 .NET Vuser脚本分析 255
14.2.7 .NET Vuser脚本的回放 256
14.2.8 在Visual Studio.NET 2005中查看脚本 256
14.2.9 在Visual Studio.NET 2005中编辑Vuser脚本 258
14.2.10 导入被测试项目 258
14.2.11 引用被测试项目的程序集 259
14.2.12 编写.NET Vuser代码 260
14.2.13 配置.NET环境的Run-Time设置 261
14.2.14 查看Data Set和Grid 262
14.2.15 关联.NET脚本 262
14.3 小结 264
第五篇 .NET项目测试实战篇
第15章 .NET软件的安全性测试 265
15.1 内存泄漏测试 266
15.1.1 .NET软件的内存泄漏 266
15.1.2 内存泄漏检测方法 266
15.1.3 一个堆栈内存泄漏的例子 266
15.1.4 简单的内存泄漏的检测方法 267
15.1.5 利用CLRProfiler检测线程泄漏 269
15.1.6 资源泄漏 270
15.1.7 一个GDI泄漏的例子 270
15.1.8 简单的GDI泄漏检测方法 271
15.1.9 利用工具检查GDI泄漏 272
15.2 Cookie安全测试 273
15.2.1 如何判断正在测试的Web系统使用了Cookie 274
15.2.2 Cookie测试方法——屏蔽Cookie 275
15.2.3 Cookie测试方法——有选择性地拒绝Cookie 277
15.2.4 Cookie测试方法——篡改Cookie 277
15.2.5 Cookie测试方法——Cookie加密测试 278
15.2.6 Cookie安全内容检查 279
15.3 拒绝服务威胁检测 280
15.3.1 什么是拒绝服务攻击 280
15.3.2 拒绝服务威胁的检测方法 280
15.4 测试程序是否创建安全的错误信息 281
15.4.1 错误信息的暴露 281
15.4.2 检查应用程序是否“正确地”出错 281
15.4.3 检查应用程序的日志是否暴露了安全信息 282
15.5 CSS安全测试 282
15.5.1 跨站脚本攻击简介 283
15.5.2 跨站脚本安全测试方法 283
15.5.3 利用TamperIE辅助检测跨站脚本漏洞 284
15.6 SQL注入检测 285
15.6.1 SQL注入漏洞 285
15.6.2 检测SQL注入问题 286
15.6.3 利用Visual Studio.NET 2005的代码分析工具检测SQL注入漏洞 287
15.7 安全测试工具 288
15.7.1 Wapiti简介 288
15.7.2 使用Wapiti检测网页漏洞 288
15.8 小结 289
第16章 .NET软件的界面及用户体验测试 291
16.1 标准控件、常用第三方控件 292
16.1.1 .NET标准控件介绍 292
16.1.2 常用第三方控件介绍 292
16.1.3 自定义控件与自动化测试 293
16.1.4 检查控件对键盘操作的支持 294
16.1.5 检查控件的热键设置是否合理 294
16.1.6 对自定义控件进行测试 295
16.2 界面规范测试及其自动化 296
16.2.1 软件界面规范的制定 296
16.2.2 用TestComplete实现简单的界面规范测试自动化 297
16.2.3 用户体验测试的自动化实现 298
16.3 可访问性(Accessibility)测试及其自动化 299
16.3.1 什么是可访问性测试 299
16.3.2 使用Web Accessibility Toolbar进行可访问性测试 299
16.3.3 使用Colour Contrast Analyser进行颜色对比测试 300
16.3.4 利用QTP进行可访问性测试 301
16.4 全球化测试及其自动化 302
16.4.1 什么是全球化测试 302
16.4.2 利用Visual Stuido.NET 2005进行代码的全球化测试 303
16.4.3 对消息提示框控件的全球化测试 304
16.4.4 对字符串比较方法的全球化测试 305
16.4.5 对日期的全球化测试 306
16.5 小结 307
第17章 .NET网络软件的测试 308
17.1 链接测试 309
17.1.1 什么是链接测试 309
17.1.2 链接测试工具 309
17.2 ASP.NET页面测试自动化 310
17.2.1 利用DOM对ASP.NET页面进行测试 310
17.2.2 启动IE加载ASP.NET页面 312
17.2.3 操纵IE浏览器 313
17.2.4 获取Web页面元素属性 313
17.2.5 调用Web页面元素的方法 313
17.2.6 添加验证点 314
17.2.7 ASP.NET页面测试自动化程序的扩展 314
17.3 利用DOM Inspector辅助Web页面自动化测试编程 316
17.3.1 IE DOM Inspector简介 316
17.3.2 启动IE DOM Inspector 316
17.3.3 利用IE DOM Inspector查找DOM节点 317
17.3.4 利用IE DOM Inspector查看页面元素属性 318
17.3.5 Mozilla Firefox浏览器的DOM Inspector 319
17.3.6 Internet Explorer Developer Toolbar的DOM查看功能 320
17.4 使用Selenium IDE进行页面自动化测试 322
17.4.1 Selenium IDE的安装 322
17.4.2 录制测试脚本 323
17.4.3 查看命令使用说明 324
17.4.4 给脚本添加注释 324
17.4.5 添加测试脚本 324
17.4.6 运行测试脚本 325
17.4.7 在Selenium TestRunner中运行脚本 326
17.5 Visual Studio.NET 2005 中的Web测试 328
17.5.1 创建和录制Web测试 328
17.5.2 回放Web测试 329
17.5.3 编辑Web测试的思考时间 330
17.5.4 给Web测试添加注释 330
17.5.5 给Web测试添加事务 330
17.5.6 添加验证规则——查找文本 331
17.5.7 添加验证规则——最大请求时间 332
17.5.8 向Web测试添加数据绑定的数据源 333
17.5.9 向Web测试添加数据绑定 334
17.5.10 在Web测试中配置数据绑定 334
17.6 小结 336
第18章 Web服务的测试 337
18.1 在Visual Studio.NET中进行Web服务的测试 338
18.1.1 Web服务的单元测试 338
18.1.2 编写Web服务单元测试代码 339
18.1.3 运行Web服务单元测试 340
18.1.4 在Web测试编辑器中对Web服务进行测试 341
18.1.5 创建Web服务测试 341
18.1.6 添加Web服务测试 342
18.1.7 查看Web服务的操作 342
18.1.8 添加标头 344
18.1.9 添加SOAP请求 344
18.1.10 添加URL QueryString参数 345
18.1.11 运行Web测试 345
18.2 Web服务测试工具——WebInject 346
18.2.1 WebInject简介 346
18.2.2 编辑测试用例 347
18.2.3 运行测试用例 347
18.2.4 查看响应时间图表 348
18.3 Web服务测试工具——soapUI 348
18.3.1 soapUI简介 349
18.3.2 建立soapUI测试项目 349
18.3.3 编辑Web服务请求 350
18.3.4 编辑测试用例 351
18.3.5 运行测试用例 352
18.3.6 为测试用例添加断言 353
18.3.7 利用soapUI进行Web服务的压力测试 355
18.4 使用LoadRunner对Web服务进行压力测试 356
18.4.1 选择Web Services协议 356
18.4.2 导入Web服务的WSDL 357
18.4.3 添加Web服务调用 358
18.4.4 参数化Web服务调用的输入 359
18.4.5 编辑参数文件 360
18.4.6 为Web服务的调用方法指定数据表格的参数列 361
18.4.7 运行Web服务测试 362
18.5 小结 364
第19章 浏览器兼容性测试 365
19.1 浏览器兼容性测试的方法 366
19.2 利用IEView和IETab辅助进行浏览器兼容性测试 366
19.2.1 IEView的安装和使用 366
19.2.2 IETab插件的安装 367
19.2.3 在另外一个浏览器查看Firefox浏览器中的当前页面 367
19.2.4 在Firefox浏览器中用Tab页加载IE浏览器 368
19.3 使用Browsershots的服务进行浏览器兼容性测试 368
19.3.1 Browsershots简介 369
19.3.2 Browsershots支持的浏览器 369
19.3.3 输入待检查的Web页面的URL 369
19.3.4 配置浏览器 370
19.3.5 提交测试 370
19.4 使用QTP进行浏览器兼容性测试 371
19.4.1 QTP中的Web测试 371
19.4.2 QTP中指定测试录制和运行的浏览器 371
19.4.3 让QTP测试脚本兼容各种浏览器 372
19.5 使用Selenium进行浏览器兼容性测试 373
19.5.1 Selenium RC简介 374
19.5.2 Selenium RC的安装 374
19.5.3 使用C#编写Selenium测试脚本 375
19.5.4 使用Selenium RC实现浏览器兼容性测试 376
19.6 小结 376
第20章 .NET智能设备软件测试 377
20.1 利用TestComplete测试Windows CE.NET程序 378
20.1.1 TestComplete对Windows CE.NET的支持 378
20.1.2 使用TestComplete测试Windows CE.NET程序的方法 378
20.2 Windows Mobile 6 SDK简介 379
20.2.1 Windows Mobile 6 SDK的安装 379
20.2.2 Windows Mobile 6 SDK中的辅助测试工具介绍 379
20.3 设备模拟器(Device Emulator)在测试中的使用 379
20.3.1 启动设备模拟器 379
20.3.2 通过ActiveSync部署测试文件 380
20.3.3 通过设备模拟器进行硬件模拟测试 381
20.4 Windows Mobile中的猴子测试 382
20.4.1 Hopper简介 382
20.4.2 FocusApp程序的作用 382
20.4.3 利用Hopper进行猴子测试 383
20.5 GPS程序的测试 383
20.5.1 FakeGPS简介 384
20.5.2 FakeGPS的安装 384
20.5.3 FakeGPS的使用方法 384
20.5.4 利用FakeGPS模拟GPS设备 385
20.6 Cellular Emulator的使用 386
20.6.1 Cellular Emulator简介 387
20.6.2 Cellular Emulator的设置 387
20.6.3 在测试过程中利用Cellular Emulator的模拟呼叫功能 388
20.6.4 使用Cellular Emulator的短信发送功能 389
20.6.5 在Cellular Emulator中查看设备模拟器发出的信息 390
20.7 Visual Studio Remote Tools在测试中的使用 391
20.7.1 Visual Studio Remote Tools简介 391
20.7.2 利用“远程放大”小程序辅助测试 391
20.7.3 利用“远程文件查看器”部署测试文件 392
20.7.4 利用“远程注册表编辑器”辅助进行安装测试 392
20.8 小结 393
第21章 数据库测试 394
21.1 数据库单元测试 395
21.1.1 在Visual Studio.NET 2005中进行数据库的单元测试 395
21.1.2 数据库单元测试的方法 395
21.1.3 创建数据库单元测试 395
21.1.4 编辑数据库单元测试 396
21.1.5 添加测试条件 397
21.1.6 运行测试 398
21.1.7 检查数据库返回的行数 399
21.1.8 检查SQL的执行时间 399
21.1.9 使用T-SQL断言 400
21.2 数据库比较 401
21.2.1 数据结构比较 401
21.2.2 查看数据库结构差异 402
21.2.3 更新数据结构 403
21.2.4 数据比较 404
21.2.5 查看差异数据 405
21.2.6 更新差异数据 405
21.3 T-SQL测试框架 405
21.3.1 TSQLUnit简介 406
21.3.2 TSQLUnit的安装 406
21.3.3 利用TSQLUnit创建T-SQL测试 407
21.3.4 执行TSQLUnit创建的测试 408
21.3.5 查看TSQLUnit的测试结果 408
21.3.6 把测试用例组合成测试集合 408
21.3.7 在TSQLUnit中使用Setup和Teardown 409
21.3.8 执行测试集合 411
21.4 小结 411