1 学通本书,全面掌握各种LoadRunner脚本的技术和开发方法
2 融合了作者团队在银行IT系统测试过程中积累的各种经验。
3 从基础到精通,可完成颇具挑战的虚拟用户开发工作。
4 学通本书,可胜任各种颇具挑战的性能测试脚本开发工作,并成为这一领域的专家或高手。
本书主要为LoadRunner 使用人员精通脚本开发,培养LoadRunner 脚本开发专家而创作,LoadRunner使用人员通过系统而全面的学习书中的脚本开发知识与技巧,完全可以胜任各种颇具挑战的性能测试脚本开发工作,并成为这一领域的专家或高手。
全书共分10 章。第1 章为基础部分,系统讲解LoadRunner 虚拟用户开发的基础知识,如C 语言知识、常用虚拟用户脚本函数、参数化等;第2 到第4 章介绍常用的虚拟用户,深入讨论了Web 虚拟用户、Web Service 虚拟用户、Sockets 虚拟用户的开发方法;第5 章到第7 章深入探讨了如何借助主流开发语言来增强或开发虚拟用户脚本,主要讲解通过Visual C++开发动态链接库、开发.NET 虚拟用户、开发Java 虚拟用户等知识;第8 章到第9 章为扩展内容,重点介绍了Tuxedo 协议虚拟用户开发、Mobile APP 虚拟用户方法;第10 章是一个脚本开发案例,深入探讨了一个UDP 网络应用的设计与实现过程及其虚拟用户脚本的开发方法,带领读者完成一项颇具挑战的虚拟用户开发工作。
第1 章 虚拟用户开发基础 1
1.1 虚拟用户开发简介 1
1.1.1 Vuser 开发准备工作 2
1.1.2 脚本协议选择 2
1.1.3 脚本的一般构成 4
1.1.4 几个重要的概念 6
1.1.5 脚本调试方法 11
1.1.6 学习建议 16
1.2 C 语言与Vuser 脚本 17
1.2.1 常用的基本概念 17
1.2.2 数组、指针和字符串 21
1.2.3 printf 函数的用法 36
1.2.4 分支与循环语句 37
1.2.5 Vuser 中常用的C 语言函数 41
1.2.6 文件基础操作 53
1.3 Vuser 开发中常用的函数 65
1.3.1 用户事务函数 65
1.3.2 字符串处理函数 76
1.3.3 消息处理函数 77
1.3.4 脚本信息函数 90
1.3.5 错误处理函数 95
1.4 参数化功能详解 98
1.4.1 参数化的基础知识 98
1.4.2 File 类型参数详解 101
1.4.3 参数化应用举例 110
1.5 小结 113
第2 章 深入解析Web 虚拟用户 115
2.1 Web 虚拟用户简介 115
2.2 HTTP 的基础知识 116
2.2.1 HTTP 介绍 116
2.2.2 HTTP 常用术语 116
2.2.3 HTTP 会话过程 117
2.2.4 HTTP 消息类型 120
2.2.5 消息起始行 122
2.2.6 消息头域 126
2.2.7 消息主体 129
2.2.8 查看HTTP 数据 130
2.3 Cookie 应用知识 130
2.3.1 Cookie 基础知识 130
2.3.2 Cookie 常用函数 132
2.3.3 Cookie 常见问题 132
2.4 检查点技术详解 134
2.4.1 检查点介绍 134
2.4.2 文本检查点 134
2.4.3 图像检查点 148
2.4.4 全局检查点 152
2.4.5 应用举例 156
2.5 关联应用技术详解 158
2.5.1 关联介绍 158
2.5.2 关联函数 159
2.5.3 自动关联 162
2.5.4 手工关联 168
2.5.5 应用实例 176
2.6 部分常用函数 184
2.6.1 动作函数 184
2.6.2 授权函数 191
2.6.3 其他函数 193
2.7 一些常见问题 195
2.8 小结 203
第3 章 深入解析Web Services 虚拟用户 204
3.1 认识Web Services 虚拟用户 204
3.2 Web_service_call 模式开发Web Services 脚本 205
3.2.1 新建Web Services 虚拟用户 205
3.2.2 管理Web Services 服务 207
3.2.3 增加Web Services 服务调用 212
3.3 Soap_request 模式开发Web Services 脚本 217
3.3.1 新建Web Services 虚拟用户 217
3.3.2 准备Soap 报文 219
3.3.3 增加Soap 请求 219
3.4 web_custom_request 模式开发Web Services 脚本 223
3.4.1 新建Web(HTTP/HTML)虚拟用户 223
3.4.2 准备Web Services 请求报文 224
3.4.3 增加自定义Web 请求 225
3.5 小结 228
第4 章 深入解析Socket 虚拟用户 229
4.1 Socket 协议虚拟用户简介 229
4.2 Socket 协议虚拟用户函数 231
4.2.1 基本函数 232
4.2.2 关联函数 244
4.2.3 超时函数 250
4.2.4 Buffer 函数 252
4.2.5 转换函数 259
4.3 代理方式开发Socket 脚本 263
4.3.1 待测试Socket 程序介绍 264
4.3.2 单机代理方式录制脚本 269
4.3.3 多机代理方式录制脚本 276
4.3.4 Socket 脚本的参数化 282
4.4 测试实战经验分享 283
4.5 脚本日志定位问题案例 289
4.6 小结 296
第5 章 深入解析动态链接库技术 297
5.1 动态链接库简介 298
5.1.1 静态库与动态库 298
5.1.2 动态链接库的种类 299
5.1.3 在脚本中使用DLL 300
5.1.4 DLL 适应范围 301
5.1.5 学习提示 302
5.2 创建Win32 动态链接库 303
5.2.1 创建自己的Win32 动态链接库 303
5.2.2 Dumpbin 与Depends 工具 308
5.3 在Visual C++中使用DLL 312
5.3.1 隐式加载 312
5.3.2 头文件问题 322
5.3.3 显式加载 325
5.4 解决名字改编问题 329
5.4.1 extern“C”标识 330
5.4.2 模块定义文件 332
5.4.3 函数调用约定 338
5.5 动态链接库扩展知识 345
5.5.1 导出与封装C++类 345
5.5.2 MFC 动态链接库简介 351
5.5.3 DLLMain 函数介绍 355
5.6 测试实战经验分享 359
5.7 小结 360
第6 章 深入开发.NET 虚拟用户 361
6.1 认识.NET 虚拟用户 362
6.1.1 NET 虚拟用户适用范围 362
6.1.2 安装与配置.NET 插件 362
6.2 创建.NET 虚拟用户 365
6.2.1 创建虚拟用户项目 365
6.2.2 参数化、集合点和事务 367
6.3 基于.NET 的面向对象基础 374
6.4 NET 虚拟用户的常用程序 383
6.4.1 文件工具类FileUtil 383
6.4.2 目录工具类DirectoryUtil 390
6.4.3 XML 工具类XMLUtil 394
6.4.4 主机信息类HostInformation 397
6.4.5 HTTP 工具类HttpTools 400
6.4.6 日期工具类DateTimeTools 401
6.4.7 进程工具类ProccessTools 403
6.4.8 常用工具类Tools 406
6.5 C/S 应用开发与测试案例 410
6.5.1 CommandRunner 背景介绍 412
6.5.2 CommonSDK 设计与实现 413
6.5.3 CommandListener 设计与实现 419
6.5.4 CommandCenter 设计与实现 435
6.5.5 NET 虚拟用户脚本开发 445
6.5.6 案例总结 452
6.6 小结 453
第7 章 深入开发Java 虚拟用户 454
7.1 认识Java 虚拟用户 455
7.1.1 Java 虚拟用户协议介绍 455
7.1.2 Java 虚拟用户适用范围 457
7.1.3 Vuser 脚本开发环境配置 458
7.2 Java 虚拟用户基础 461
7.2.1 Java 虚拟用户开发基础 462
7.2.2 Java 虚拟用户常用的API 472
7.3 测试实战经验分享 473
7.4 Java 虚拟用户案例 481
7.4.1 并发下载文件案例 481
7.4.2 信用卡审批案例 485
7.4.3 脚本数量精简案例 502
7.5 小结 514
第8 章 Tuxedo 协议虚拟用户开发 515
8.1 Tuxedo 虚拟用户简介 515
8.2 搭建Tuxedo 域环境 516
8.2.1 Tuxedo 安装 516
8.2.2 setenv 文件说明 525
8.2.3 myubb 文件说明 525
8.2.4 mydom 文件说明 527
8.2.5 域连接验证 528
8.3 开发Tuxedo 脚本 530
8.3.1 基本流程 530
8.3.2 缓冲区类型 530
8.3.3 CARRAY 类型缓冲区脚本 530
8.3.4 FML(32)类型缓冲区脚本 534
8.4 小结 538
第9 章 深入开发Mobile APP 虚拟用户 539
9.1 Mobile APP 虚拟用户简介 539
9.2 模拟器方式开发Mobile APP 脚本 540
9.2.1 搭建模拟器环境 540
9.2.2 网络流量捕获 545
9.2.3 创建测试脚本 548
9.3 代理方式开发Mobile APP 脚本 551
9.3.1 移动终端网络代理配置 551
9.3.2 端口映射配置 551
9.3.3 创建测试脚本 554
9.4 小结 556
第10 章 网络通信虚拟用户开发案例 557
10.1 项目背景与学习指导 557
10.1.1 项目背景 557
10.1.2 学习指导 559
10.2 网络协议的基础知识 559
10.2.1 TCP/IP 构架介绍 559
10.2.2 TCP 与UDP 比较 560
10.3 通信协议的设计与分析 562
10.3.1 字节序 562
10.3.2 信息摘要算法 564
10.3.3 数据包格式 565
10.4 中心服务器的设计与实现 568
10.4.1 服务器概述 568
10.4.2 CUDPServer 类 570
10.4.3 程序入口 579
10.4.4 包头处理 580
10.4.5 辅助类 585
10.5 客户端的设计与实现 602
10.5.1 客户端介绍 602
10.5.2 导出函数的实现 609
10.5.3 CUDPClient 包装类 613
10.6 测试脚本设计 623
10.6.1 基本功能测试 623
10.6.2 非法协议标志测试 625
10.6.3 非法版本号测试 628
10.6.4 其他测试 629
10.7 小结 629
本书实践性强、案例和代码都极其丰富,提倡做中学,用到什么就讲什么,循序渐进,使读者轻轻松松就能学会虚拟用户高级开发所需的技能。
希望本书成为LoadRunner工具方面的一本经典的书,也成为这方面的性能测试工程师身边的优秀书籍,绍英写作团队为此的辛勤劳动也就物有所值。
——国内著名软件测试专家、同济大学软件学院 朱少民
本书深入讲解了LoadRunner各类虚拟用户开发方法和高级知识,同时分享了大量作者性能测试团队的一线实战经验,并提供了大量丰富、真实的开发案例供读者学习。
无论是高校相关专业的学生,还是企业相关工作人员,都可以借助本书可以快速掌握LoadRunner虚拟用户开发方法,从而成为这一领域的高手。
——北京大学产业技术研究院 黎怡兰教授
性能测试是软件测试中对技术能力和开发能力要求高的领域,银行应用系统又以复杂、庞大而著称,其IT系统的性能测试堪称大型应用软件性能测试的经典。以银行系统LoadRunner性能测试实战为基础,对虚拟用户脚本开发技术与方法做出系统的、实操层面的阐述是十分有价值的。
正如一本兵法,如果其作者是身经百战的老将,其中内容自然值得同行反复研读。
——北京捷科智诚科技有限公司CTO、联合创始人 吴向东
书中全面系统讲解了基于LoadRunner虚拟用户的C、.NET、Java等语言的开发知识,更吸引人的是作者应用大量工作案例和实际项目代码,将原本颇有技术门槛的虚拟用户脚本开发讲解得通俗易懂,令读者非常容易上手。
全书的广度和深度适中,实践性强,适合中高级测试人员、开发工程师及关心产品性能提升的技术管理人员阅读和学习。
——大公信用软件有限公司 技术副总监、产品研发部总经理 范本银
本书以使性能测试人员精通LoadRunner脚本开发作为目标,对性能测试虚拟用户脚本开发所需的技能进行了系统而全面的探讨,并以实际案例为线索,由浅入深地引导读者逐步掌握所需的各项方法与技能。
全书内容轻松易读,无论是LoadRunner脚本开发入门还是进阶学习都是优选佳作,非常值得期待!
——Testin云测高级副总裁、创始合伙人 冯亮