目录
Contents
关于作者 Ⅰ
关于技术审校 Ⅲ
致谢 Ⅴ
导读 Ⅶ
第1部分 Windows应用程序测试
第1章 API测试 3
1.0 导读 3
1.1 存储用于测试用例的数据 6
1.2 读入测试用例数据 7
1.3 解析测试用例 8
1.4 把数据转换为合适的类型 9
1.5 判定测试用例通过与否 11
1.6 记录测试用例结果 13
1.7 给测试用例结果加上时间戳 16
1.8 通过计算对测试结果进行总结 17
1.9 获得测试运行的总时间 19
1.10 处理输入为空或期望值为空的情况 20
1.11 处理“方法抛出异常”的情况 22
1.12 处理输入参数为空字符串的情况 24
1.13 编写程序,在测试用例失败时发送警告邮件 26
1.14 自动运行测试套件 28
1.15 示例程序:ApiTest 29
第2章 基于反射的UI测试 33
2.0 导读 33
2.1 运行待测程序 35
2.2 设置窗体的属性 39
2.3 获得窗体属性 44
2.4 设置控件的属性 47
2.5 访问控件的属性 50
2.6 方法调用 53
2.7 示例程序:ReflectionUITest 58
第3章 基于Windows的UI测试 65
3.0 导读 65
3.1 运行待测程序 66
3.2 获得待测程序主窗体的句柄 68
3.3 获得有名字控件的句柄 73
3.4 获得无名控件的句柄 75
3.5 发送字符给控件 78
3.6 鼠标单击一个控件 80
3.7 处理消息对话框 82
3.8 处理菜单 86
3.9 检查应用程序的状态 89
3.10 示例程序:WindowsUITest 91
第4章 测试套件设计模式 97
4.0 导读 97
4.1 创建使用文本文件存储数据并采用Streaming模型的测试套件 100
4.2 创建使用文本文件存储数据并采用Buffered模型的测试套件 104
4.3 创建使用XML文件存储数据并采用Streaming模型的测试套件 108
4.4 创建使用XML文件存储数据并采用Buffered模型的测试套件 113
4.5 创建用于轻量级自动化测试数据存储的SQL数据库 117
4.6 创建使用SQL存储数据并采用Streaming模型的测试套件 119
4.7 创建使用SQL数据并采用Buffered模型的测试套件 123
4.8 发掘关于待测系统的信息 126
4.9 示例程序:PokerLibTest 129
第2部分 Web应用程序测试
第5章 请求-响应测试 135
5.0 导读 135
5.1 发送一个简单的HTTP GET请求并且取回响应 138
5.2 发送带有认证信息的HTTP请求并取回响应 139
5.3 发送复杂的HTTP GET请求并且取回响应 140
5.4 逐行返回HTTP响应的内容 141
5.5 发送简单的HTTP POST请求给传统的ASP网页 143
5.6 发送HTTP POST请求给ASP.NET Web应用程序 145
5.7 处理特殊的输入字符 150
5.8 通过编写程序确定ViewSate和EventValidation的值 152
5.9 处理CheckBox和RadioButtonList控件 156
5.10 处理DropDownList控件 157
5.11 判断“请求-响应”的测试结果 159
5.12 示例程序:RequestResponseTest 162
第6章 基于脚本的Web UI测试 167
6.0 导读 167
6.1 创建一个基于脚本的UI测试套件结构 170
6.2 判断Web程序的状态 172
6.3 把进度信息记录在测试套件界面上 173
6.4 验证待测Web页面上HTML元素的值 174
6.5 操纵待测Web页面上HTML元素的值 176
6.6 把测试场景结果保存到客户端的文本文件 177
6.7 把测试场景的结果保存到服务器上的数据库表里 179
6.8 示例程序:ScriptBasedUITest 181
第7章 底层的Web UI测试 185
7.0 导读 185
7.1 启动IE并连接到这个实例 188
7.2 如何判断待测Web程序何时完全加载到浏览器 190
7.3 操纵并检查IE Shell 192
7.4 操纵待测Web页面上的HTML元素的值 194
7.5 验证Web页面上HTML元素的值 195
7.6 创建一个Excel工作簿用来存储测试场景的运行结果 198
7.7 把测试场景的运行结果存入Excel工作簿 200
7.8 从Excel工作簿里读取已存储的测试结果 201
7.9 示例程序:LowLevelUITest 203
第8章 Web Service测试 207
8.0 导读 207
8.1 使用Proxy机制测试Web方法 212
8.2 使用套接字测试Web方法 214
8.3 使用HTTP测试Web方法 220
8.4 使用TCP测试Web方法 222
8.5 使用存储在内存中的测试用例数据 226
8.6 把测试结果存储在内存中 229
8.7 示例程序:WebServiceTest 232
第3部分 部分数据测试
第9章 SQL存储过程测试 237
9.0 介绍 237
9.1 创建测试用例以及测试结果存储 239
9.2 执行T-SQL脚本 241
9.3 使用BCP工具导入测试用例数据 243
9.4 创建T-SQL测试套件 245
9.5 从T-SQL测试套件里把测试结果直接写入文本文件 249
9.6 当待测存储过程返回行集的时候,如何判断测试结果是否通过 252
9.7 当待测存储过程返回out参数时,如何判断测试结果是否通过 254
9.8 当待测存储过程没有返回值的时候,如何判断测试结果是否通过 256
9.9 示例程序:SQLspTest 259
第10章 排列与组合 265
10.0 导读 265
10.1 创建数学组合对象 267
10.2 计算从n个数据中取出k个样本共有多少种取法 269
10.3 计算某个数学组合项的后继者 271
10.4 对于给定的n和k,生成所有的数学组合项 273
10.5 按照字典顺序找出某个数学组合的第m个项 275
10.6 把数学组合应用到字符串数组 278
10.7 创建数学排列对象 280
10.8 计算n阶排列的排列数 282
10.9 计算某个数学排列项的后继项 284
10.10 针对给定的n值,产生所有的数学排列项 286
10.11 按照字典顺序,找出某个数学排列的第k个项 287
10.12 把数学排列应用到字符串数组 291
10.13 示例程序:ComboPerm 293
第11章 ADO.NET测试 301
11.0 导读 301
11.1 当期望值是DataSet的时候,如何判断测试结果是否通过 303
11.2 测试有返回值的存储过程 306
11.3 测试返回值为行集(Rowset)的存储过程 309
11.4 测试把返回值放入out参数的存储过程 311
11.5 测试没有返回值的存储过程 314
11.6 测试不通过存储过程对数据库进行访问的程序 318
11.7 比较两个DataSet对象是否相等 321
11.8 从文本文件把测试用例数据读入到SQL数据库表 324
11.9 从SQL表把测试用例数据读入到文本文件 327
11.10 示例程序:ADOdotNETtest 329
第12章 XML测试 335
12.0 导读 335
12.1 通过XmlTextReader解析XML 337
12.2 通过XmlDocument解析XML 339
12.3 通过XPathDocument解析XML 341
12.4 通过XmlSerializer解析XML 343
12.5 通过DataSet对象解析XML文件 347
12.6 通过XSD Schema对XML文件进行验证 350
12.7 通过XSLT对XML进行修改 353
12.8 通过XmlTextWriter对XML文件进行写操作 355
12.9 比较两个XML文件是否严格相等 356
12.10 不考虑编码方式,比较两个XML文件是否严格相等 358
12.11 比较两个XML文件的规范等价性 359
12.12 示例程序:XmlTest 361
索引 365
展开