重磅推荐
【编辑推荐】

让复杂变成简单,
  让简单成为行动!
  本书旨在培养新一代软件性能测试导演,使你具备如下良好的导演素质:
  具有领导的能力,表现为能够自如掌控LoadRunner。
  具有全局的视角,表现为能够使用GAME模型迅速规划并开展一场演出,并使其顺利完成,达到*好的效果。
  具有实干的精神,表现为理论与实践相结合,本书有很多的实际案例供您借鉴参考。


【作者简介】

柳胜,有十年的软件开发和测试实践经验,曾主持设计开发企业级测试框架,擅长自动化测试工具的应用、性能测试和单元测试。曾在摩托罗拉等大型外企担任高级开发工程师、高级测试架构师等职务。


【目录】

第1章 软件性能测试
 1.1 什么是软件的性能
  1.1.1 软件
  1.1.2 软件性能的产生
  1.1.3 功能与性能的关系
  1.1.4 用户眼里的软件性能
  1.1.5 软件人员眼里的软件性能
 1.2 软件性能测试
  1.2.1 性能测试在软件测试的周期位置
  1.2.2 性能测试策略揭秘
 1.3 如何做性能测试
  1.3.1 Goal(定义目标)
  1.3.2 Analysis(分析)
  1.3.3 Metrics(度量)
  1.3.4 Execution(执行)
  1.3.5 Adjust(调整)
 1.4 性能测试工具的评估和选择
  1.4.1 测试预算VS工具价格
  1.4.2 协议、开发技术、平台、中间件VS工具的支持
  1.4.3 工具可使用的复杂程度VS项目计划的影响
第2章 次亲密接触LoadRunner
 2.1 从性能测试到LoadRunner的映射
 2.2 LoadRunner工作原理
 2.3 安装LoadRunner
 2.4 揭开License的神秘面纱
第3章 走近LoadRunner
 3.1 LoadRunner的运行原理
  3.1.1 LoadRunner三大高手
  3.1.2 三大高手联手的一场性能测试盛大演出
 3.2 LoadRunner的录制原理
  3.2.1 网络协议与LoadRunner的Vuser
  3.2.2 选择LoadRunner Protocol的两大定律
  3.2.3 LoadRunner录制技术
第4章 LoadRunner脚本语言基础
 4.1 C语言与LoadRunner脚本
  4.1.1 看不见的main
  4.1.2 全局变量与局部变量
  4.1.3 在LoadRunner脚本里灵活使用C语言
  4.1.4 高级——用户自定义函数
 4.2 通用VU函数
  4.2.1 事务和事务控制函数
  4.2.2 命令行分析函数
  4.2.3 系统信息函数
  4.2.4 字符串函数
  4.2.5 消息函数
  4.2.6 运行时(run-time)函数
 4.3 协议相关函数
  4.3.1 HTTP协议原理
  4.3.2 HTTP在LoadRunner的实现
第5章 VU——用户行为的模拟器
 5.1 图灵试验与LoadRunner VU模拟奥秘
  5.1.1 图灵试验场景
  5.1.2 LoadRunner模拟揭秘
 5.2 录制脚本
  5.2.1 选择协议
  5.2.2 规划脚本结构
  5.2.3 HTTP Vuser中的URL mode和HTML mode
  5.2.4 查看日志
 5.3 回放脚本
 5.4 关联
  5.4.1 录制前Correlation(关联)
  5.4.2 录制后关联
  5.4.3 手动关联
 5.5 脚本视图和树视图
  5.5.1 树视图(Tree View)
  5.5.2 脚本视图(Script View)
  5.5.3 理解Snapshot
 5.6 事务、同步点和思考时间
  5.6.1 Transaction(事务)
  5.6.2 Rendezvous Point(同步点)
  5.6.3 注释
  5.6.4 Think Time(思考时间)
 5.7 数据驱动——参数化(Parameters)
  5.7.1 为什么需要参数化
  5.7.2 参数的创建
  5.7.3 定义参数的属性
  5.7.4 高级——从已存在的数据库中导入参数数据
 5.8 检查点(Check point)
  5.8.1 序:为什么需要检查点
  5.8.2 检查点实施之一:ContentCheck定义
  5.8.3 检查点实施之二:检查函数
  5.8.4 检查点设置技巧
 5.9 高级——多Action
 5.10 高级——脚本错误处理机制
 5.11 高级——脚本调试技巧
  5.11.1 动态运行(Animated run) 与非动态运行(Non-Animated run)
  5.11.2 日志设置
 5.12 高级——编写脚本的实践
 5.13 VU脚本运行成功后
第6章 Controller——性能测试的指挥中心
 6.1 得到细化后的性能需求
 6.2 设计性能测试场景
  6.2.1 创建手工场景
  6.2.2 百分比模式创建手工场景
  6.2.3 创建面向目标场景
  6.2.4 多IP的实现原理以及模拟
 6.3 运行场景
  6.3.1 场景控制
  6.3.2 执行期间查看场景
  6.3.3 监视场景
  6.3.4 高级——用户自定义数据采集点
  6.3.5 主要的计数器
  6.3.6 实例:分析实时监视图表
 6.4 场景运行后
 6.5 高级——如何合理规划性能测试拓扑
  6.5.1 选择的测试机配置
  6.5.2 客户端CPU瓶颈估算
  6.5.3 客户端网络瓶颈估算
  6.5.4 客户端内存瓶颈估算
  6.5.5 总评估
第7章 Analysis——寻找系统瓶颈的得力助手
 7.1 Analysis报告概要(Summary)
  7.1.1 概要部分
  7.1.2 统计部分
  7.1.3 事务统计
  7.1.4 HTTP响应统计
 7.2 Analysis标准图
  7.2.1 Vuser图
  7.2.2 事务图
  7.2.3 网页细分图
 7.3 交叉结果和合并图
  7.3.1 叠加
  7.3.2 平铺
  7.3.3 关联
 7.4 生成测试报告
  7.4.1 创建HTML格式报告
  7.4.2 创建Word格式报告
  7.4.3 高级——数据点报告
第8章 欲善其事先利其器——VU脚本开发实战
 8.1 邮件服务SMTP/IMAP协议介绍
  8.1.1 电子邮件的工作原理
  8.1.2 SMTP协议介绍
  8.1.3 POP3协议介绍
  8.1.4 IMAP协议介绍
 8.2 VU的SMTP Vuser对SMTP协议的封装及实现
  8.2.1 使用SMTP Vuser录制Outlook 2003发送邮件
  8.2.2 对SMTP Vuser录制生成的脚本进行分析
  8.2.3 回放SMTP Vuser脚本并分析网络日志
 8.3 VU Java Vuser自开发SMTP程序
  8.3.1 VU创建Java模板虚拟用户
  8.3.2 设置Java环境
  8.3.3 在Java Vuser中开发SMTP发送mail脚本
  8.3.4 参数化增强脚本
第9章 学以致用——一步一步做Web系统性能 测试
 9.1 软件系统背景及架构设计介绍
 9.2 性能要求和性能指标分析(Goal阶段)
  9.2.1 性能指标
  9.2.2 业务模型分析和需求细化
 9.3 性能测试方案和用例设计(Analysis阶段)
 9.4 性能测试各种度量的建立(Metrics阶段)
  9.4.1 性能脚本的生成
  9.4.2 定义用户行为
  9.4.3 场景的设置与运行
  9.4.4 计数器的设置与性能数据收集
 9.5 运行场景,得到测试结果和相关数据(Execution阶段)
  9.5.1 脚本的开发
  9.5.2 数据的生成
  9.5.3 并发登录测试
  9.5.4 负载测试
 9.6 分析测试瓶颈(Adjust阶段)
  9.6.1 并发测试结果分析
  9.6.2 交易流程测试结果分析及性能评价
  9.6.3 查询流程测试结果分析
第10章 循序渐进——进阶LoadRunner高手
 10.1 性能测试用例的设计策略
  10.1.1 “普遍撒网,重点查看”的原则
  10.1.2 保证数据的有效性
 10.2 LoadRunner高级功能的使用——Web Click Vuser
  10.2.1 Web Click Vuser的产生背景
  10.2.2 Web Click Vuser与传统Vuser的差别
  10.2.3 使用Web Click Vuser
第11章 定量分析及诊断——建立性能度量模型
 11.1 实现性能度量的准备工作
  11.1.1 性能度量
  11.1.2 度量方式
 11.2 案例实践——性能测试阶段Ajax页面 基准性能分析
  11.2.1 页面基准分析目标
  11.2.2 分析所使用的工具
  11.2.3 术语揭示
  11.2.4 基准测试案例设计及运行
  11.2.5 结果分析
  11.2.6 优化建议
  11.2.7 预测
 11.3 案例实践:性能测试第二阶段Ajax系统负载测试
  11.3.1 本轮测试目的
  11.3.2 测试场景规划
  11.3.3 负载测试案例分析
  11.3.4 性能结果量化分析
 11.4 总结
第12章 测试也开发——自开发性能测试框架
 12.1 性能测试框架架构设计
  12.1.1 技术考虑的准备
  12.1.2 Automation Center性能测试框架设计实例
  12.1.3 定义XML格式的性能测试任务文件
  12.1.4 Automation Center性能测试调度运行
  12.1.5 性能测试报告诊断系统
 12.2 核心技术及具体实现方法
  12.2.1 性能测试数据源格式定义
  12.2.2 测试程序与性能测试框架的接口实现
  12.2.3 测试任务克隆技术
  12.2.4 多任务通信技术
  12.2.5 Observer性能监控技术
  12.2.6 基于XSL技术的性能测试报告构建
 12.3 总结
附录A 有关LoadRunner的常见问题解答


【内容简介】

loadrunner是一个内涵丰富、功能强大的性能测试工具,这是许多专业人士选择它的原因。初学者面对许多的性能测试概念和loadrunner专业术语,常常感到无所适从,这是因为loadrunner作为软件性能测试的实现者,涉及了软件测试及软件体系架构众多方面的知识。可以说,学习loadrunner是理解和学习软件性能测试的非常好的切入点。
  本书作为loadrunner的入门教材,其宗旨是将性能测试的要点、loadrunner术语一一罗列并分析,并通过对loadrunner的介绍,深入浅出地把这些概念和知识点展现给读者。通过学习本书,可以学会使用loadrunner做性能测试。第1~7章,奠定性能测试和loadrunner的理论基础,其中第4章讲述了loadrunner脚本语言基础。第8~10章,通过实际案例来活学活用,总结和提取*性能测试实践,并介绍loadrunner的使用技巧。第11章是性能量化分析模型,能够指导用户在性能测试过程中从定性到定量分析的转变。第12章对当前前沿的性能测试框架做了一个前瞻分析,为有志于在性能测试领域深造的朋友提供参考思路。
  本书可作为刚进入性能测试领域的测试工程师的入门参考书,对已经有一定工作经验的朋友来说,也是一本整理思路、融会贯通的总结笔记。


【免费在线读】
1《性能测试从零开始》相关信息 以工具为切入点,剖析性能测试相关理念;以 LoadRunner 为基础,逐步进阶性能测试实战技能。这是本书上一版到现在始终贯彻的写作风格和宗旨。事实上, 广大读者已经通过市场证明我们当时的坚持是正确的,首版一售而光,加印,又售罄,这也是对我们努力工作的肯定和鼓励。


扉页

版权页

编辑委员会名单

前言(1)

前言(2)

前言(3)

前言(4)

目录(1)

目录(2)

目录(3)

目录(4)

目录(5)

目录(6)

目录(7)

目录(8)

目录(9)
2第5章 VU——用户行为的模拟器(一) LoadRunner 之所以功能强大,很重要的一个因素是 VU 对各种网络协议的强力支持。VU 作为虚拟用户的产生器,从横向上看,VU 几乎支持模拟当今所有主流的软件客户端,同时还在不断地推陈出新;从纵向上看,每个 Vuser 脚本的设置也是非常繁多和详细的,达到了精确模拟的效果。


VU——用户行为的模拟器

5.1 图灵试验与 LoadRunner VU 模...

5.1 图灵试验与 LoadRunner VU 模...

5.1 图灵试验与 LoadRunner VU 模...

5.1 图灵试验与 LoadRunner VU 模...

5.2 录制脚本(1)

5.2 录制脚本(2)

5.2 录制脚本(3)

5.2 录制脚本(4)

5.2 录制脚本(5)

5.2 录制脚本(6)

5.2 录制脚本(7)

5.3 回放脚本

5.4 关联(1)

5.4 关联(2)

5.4 关联(3)

5.4 关联(4)

5.4 关联(5)

5.4 关联(6)

5.4 关联(7)

5.4 关联(8)

5.4 关联(9)

5.4 关联(10)

5.4 关联(11)

5.5 脚本视图和树视图(1)

5.5 脚本视图和树视图(2)

5.6 事务、同步点和思考时间(1)...

5.6 事务、同步点和思考时间(2)...

5.6 事务、同步点和思考时间(3)...

5.6 事务、同步点和思考时间(4)...

5.6 事务、同步点和思考时间(5)...

5.6 事务、同步点和思考时间(6)...
3第5章 VU——用户行为的模拟器(二) 数据驱动就是把测试脚本和测试数据分离开来的一种思想,脚本体现测试流程,数据体现测试案例。数据不是 hard-code 在脚本里面,这样大大提高了脚本的可复用性。而 LoadRunner 的参数化功能是数据驱动测试思想的一个重要实现。


5.7 数据驱动——参数化(Parame...

5.7 数据驱动——参数化(Parame...

5.7 数据驱动——参数化(Parame...

5.7 数据驱动——参数化(Parame...

5.7 数据驱动——参数化(Parame...

5.7 数据驱动——参数化(Parame...

5.7 数据驱动——参数化(Parame...

5.7 数据驱动——参数化(Parame...

5.7 数据驱动——参数化(Parame...

5.7 数据驱动——参数化(Parame...

5.7 数据驱动——参数化(Parame...

5.7 数据驱动——参数化(Parame...

5.7 数据驱动——参数化(Parame...

5.7 数据驱动——参数化(Parame...

5.7 数据驱动——参数化(Parame...

5.7 数据驱动——参数化(Parame...

5.7 数据驱动——参数化(Parame...

5.7 数据驱动——参数化(Parame...

5.7 数据驱动——参数化(Parame...

5.7 数据驱动——参数化(Parame...

5.7 数据驱动——参数化(Parame...

5.8 检查点(Check point)(1)

5.8 检查点(Check point)(2)

5.8 检查点(Check point)(3)

5.8 检查点(Check point)(4)

5.8 检查点(Check point)(5)

5.9 高级——多 Action(1)

5.9 高级——多 Action(2)

5.9 高级——多 Action(3)

5.10 高级——脚本错误处理机制(...

5.10 高级——脚本错误处理机制(...

5.11 高级——脚本调试技巧(1)

5.11 高级——脚本调试技巧(2)

5.11 高级——脚本调试技巧(3)

5.11 高级——脚本调试技巧(4)

5.12 高级——编写脚本的实践...

5.13 VU 脚本运行成功后

返回顶部