发表于2024-11-22
《软件性能测试过程详解与案例剖析(第2版)》不仅仅是一本讲述软件性能测试基础知识的书,也不是一本工具的使用手册,当然更不是一本入门类的书籍。本书面向具有一定测试基础,期望能够通过实际案例去感受和领悟性能测试的测试工程师。书中包含了作者多年在性能测试方面的经验总结,其中精选的案例覆盖多种架构和平台,涉及多个行业,可对实际工作起到直接的指导作用,同时,本书包含了所有会在性能测试中使用的模板,稍加修改即可应用在实际项目中。
本书可以作为软件测试人员、软件项目经理和需要了解软件性能测试的各级软件管理人员的参考手册,也可作为高校软件性能测试课程的辅助教材。
第一部分 基础篇
第1章 软件性能测试的基本概念
1.1 什么是软件性能
1.1.1 用户视角的软件性能
1.1.2 管理员视角的软件性能
1.1.3 开发视角的软件性能
1.1.4 Web前端性能
1.1.5 总结
1.2 软件性能的几个主要术语
1.2.1 响应时间
1.2.2 并发用户数
1.2.3 吞吐量
1.2.4 性能计数器
1.2.5 思考时间
1.3 软件性能测试方法论
1.3.1 SEI负载测试计划过程
1.3.2 RBI方法
1.3.3 性能下降曲线分析法
1.3.4 LoadRunner的性能测试过程
1.3.5 Segue提供的性能测试过程
1.3.6 敏捷性能测试
1.3.7 本书提供的性能测试模型
1.4 本章小结
第2章 性能测试的应用领域
2.1 性能测试的方法
2.1.1 验收性能测试
2.1.2 负载测试
2.1.3 压力测试
2.1.4 配置测试
2.1.5 并发测试
2.1.6 可靠性测试
2.1.7 失效恢复测试
2.2 性能测试应用领域分析
2.2.1 能力验证
2.2.2 规划能力
2.2.3 性能调优
2.2.4 缺陷发现
2.2.5 性能基准比较
2.2.6 总结
2.3 本章小结
第3章 性能计数器及性能分析方法
3.1 操作系统计数器及分析
3.1.1 Windows操作系统的主要计数器
3.1.2 UNIX/Linux操作系统的主要计数器
3.1.3 内存分析方法
3.1.4 处理器分析方法
3.1.5 磁盘I/O分析方法
3.1.6 进程分析方法
3.1.7 网络分析方法
3.2 应用服务器计数器
3.2.1 IIS应用服务器计数器
3.2.2 J2EE应用服务器计数器
3.3 数据库服务器计数器
3.4 本章小结
第4章 性能测试工具原理
4.1 服务端性能测试工具架构
4.2 前端性能测试工具原理
4.3 选择服务端性能测试脚本使用的协议
4.4 性能测试工具的选择与评估
4.4.1 创建和购买的选择
4.4.2 测试工具的评估和选择过程
4.5 本章小结
第5章 性能测试的组织
5.1 性能测试团队的人员构成
5.2 性能测试过程模型(PTGM)
5.2.1 测试前期准备阶段
5.2.2 测试工具引入阶段
5.2.3 测试计划阶段
5.2.4 测试设计与开发阶段
5.2.5 测试执行与管理
5.2.6 测试分析
5.3 敏捷性能测试模型(APTM)
5.3.1 APTM的检查表
5.3.2 APTM中的活动
5.3.3 环境与工具
5.4 本章小结
第6章 Web前端性能
6.1 前端性能示例
6.2 HTTP概要
6.2.1 HTTP协议结构
6.2.2 典型的HTTP请求与响应分析
6.2.3 与前端性能相关的头信息
6.3 浏览器打开URL的方式
6.3.1 连接到URL所在服务器
6.3.2 获取页面对应的HTML文档
6.3.3 解析文档并获取所需要的资源
6.3.4 页面上的JS文件与CSS文件
6.3.5 onload事件
6.4 提高前端性能的方法
6.4.1 减少网络时间
6.4.2 减少发送的请求数量
6.4.3 提高浏览器下载的并发度
6.4.4 让页面尽早开始显示
6.4.5 其他
6.5 单机前端性能工具
6.5.1 Firebug工具
6.5.2 HttpWatch工具
6.5.3 Chrome自带的开发工具
6.5.4 Page Speed工具
6.5.5 DynaTrace AJAX Edition工具
6.5.6 单机前端性能测试工具小结
6.6 监控用户体验到的前端性能
6.6.1 在页面上增加计时点
6.6.2 使用JavaScript库简化计时点工作
6.6.3 将计时信息发送给服务器
6.7 本章小结
第二部分 实践篇
第7章 案例1 某制造型企业信息化项目的性能测试
7.1 项目背景
7.2 项目特点
7.3 性能测试过程
7.3.1 测试前期准备
7.3.2 测试工具引入
7.3.3 测试计划
7.3.4 测试设计与开发
7.3.5 测试执行与管理
7.3.6 测试分析
7.4 案例小结
第8章 案例2 某省电信公司业务系统的性能测试
8.1 项目背景
8.2 项目特点
8.3 性能测试过程
8.3.1 测试前期准备
8.3.2 测试工具引入
8.3.3 测试计划
8.3.4 测试设计与开发
8.3.5 测试执行与管理
8.3.6 测试分析
8.4 案例小结
第9章 案例3 某通信企业Web业务系统的性能测试
9.1 项目背景
9.2 项目特点
9.3 性能测试过程
9.3.1 测试前期准备
9.3.2 测试工具引入
9.3.3 测试计划
9.3.4 测试设计与开发
9.3.5 测试执行与管理
9.3.6 测试分析
9.4 案例小结
第10章 案例4 某集成商的性能选型测试
10.1 项目背景
10.2 项目特点
10.3 性能测试过程
10.3.1 测试前期准备
10.3.2 测试工具引入
10.3.3 测试计划
10.3.4 测试设计与开发
10.3.5 测试执行与管理
10.3.6 测试分析
10.4 案例小结
第三部分 工具篇
第11章 LoadRunner快速入门手册
11.1 LoadRunner的性能测试流程
11.2 LoadRunner脚本开发
11.2.1 基本录制
11.2.2 修正测试脚本
11.2.3 Run-Time Setting
11.2.4 单机运行测试脚本
11.3 Tools(工具)菜单
11.4 LoadRunner 场景设置
11.4.1 Manual Scenario
11.4.2 Manual Scenario with Percentage Mode
11.4.3 Goal-Oriented Scenario
11.4.4 启用IP Spoofer(IP 欺骗)
11.5 LoadRunner场景监视设置
11.5.1 Windows Resources
11.5.2 IIS 服务器
11.5.3 UNIX/Linux Resources
11.5.4 WebLogic Server
11.5.5 Apache Server
11.5.6 数据库服务器
11.6 LoadRunner的Analysis应用
11.6.1 基本操作
11.6.2 图表的归并(Merge)操作
11.6.3 图表的自动关联(Auto Correlate)操作
11.6.4 性能测试结果比较
第12章 LoadRunner高级使用技巧
12.1 参数化技巧
12.1.1 LoadRunner的参数化操作
12.1.2 不同类型的参数
12.2 关联技巧
12.2.1 LoadRunner中的主要关联函数
12.2.2 LoadRunner的自动关联操作
12.2.3 LoadRunner的手工关联操作
12.3 调试技巧
12.3.1 断点
12.3.2 单步跟踪
12.3.3 Log输出
12.3.4 使用对话框输出
12.3.5 以TreeView模式查看返回数据
12.4 其他技巧
12.4.1 设置域登录的用户名和口令
12.4.2 检查返回数据的正确性
12.4.3 调用外部函数
第13章 JMeter应用手册
13.1 JMeter入门
13.1.1 JMeter基础概念
13.1.2 建立第一个简单的JMeter Test Plan
13.2 用JMeter测试一个进销存应用
13.2.1 被测应用介绍
13.2.2 录制测试计划
13.2.3 调试Test Plan
13.2.4 关联Test Plan中的Sampler
13.2.5 参数化Test Plan
13.2.6 HTTP属性管理器
13.2.7 为Test Plan增加逻辑控制
13.2.8 使用Timer让Test Plan更准确地模拟用户行为
13.3 扩展JMeter
13.3.1 使用BeanShell类组件
13.3.2 基于Java Request Sampler定制Sampler的行为
13.4 JMeter的分布式测试功能
附录A 部分有价值的脚本和数据处理技巧
A.1 在UNIX平台上写日志的Perl脚本
A.2 在UNIX平台上记录单个进程内存使用的Perl脚本
A.3 用于模拟发送数据的Socket进程 (Perl适用于UNIX和Windows平台)
A.3.1 用于实现Socket监听和发送的主代码
A.3.2 用于发送数据的代码
A.4 用Excel处理规则的记录数据
附录B 性能测试过程中使用的模板
B.1 性能测试团队成员职责技能描述表
B.2 性能测试工具需求规划表
B.3 性能测试环境调查表
B.4 典型业务列表
B.5 业务用例描述
B.6 场景列表
B.7 测试计划
B.8 测试环境检查表(CheckList)
B.9 测试执行记录日志
B.10 性能测试分析报告
参考文献
大多数测试工程师对“性能测试”这个名词并不陌生,即使没有真正参与过性能测试项目,在各个论坛或网站上也经常见到这个名词。然而,究竟什么是软件性能?软件性能测试究竟该如何开展?软件性能测试到底测试了些什么?这些问题恐怕就不是每个测试工程师都能清楚地回答出来的了。
其实,在日常工作中,每个测试工程师基本上都会遇到和软件性能、软件性能测试相关的内容。回想一下我们接触到的用户需求,经常会有类似如下的描述:“要求某某系统对用户的操作能快速反应”、“要求某某系统能够在大量用户同时使用时保持稳定运行”等。实际上,这些就是用户对软件系统提出的朴素的性能要求,虽然这些性能要求不是那么显而易见的,在实际的测试中也可能会被忽略,但无论如何,这些描述至少说明了性能要求其实是大部分用户对软件系统的一个基本要求。
在开始真正描述软件性能测试之前,先来回顾一下对软件性能认识的历程。如果从世界上第一台计算机诞生开始算起,软件的存在已经有相当时间的历史了(以软件行业的时间概念来说),在以前的DOS时代,甚至是Windows 95时代,好像很少听到对软件性能的抱怨,但为什么在近几年,对软件性能的关注突然变得强烈起来了呢?这种变化究竟是什么原因造成的呢?
在DOS和Windows 95时代,我们接触到的大量应用都是单机应用,对这些应用,其实也存在性能方面的要求(想想看,是不是曾经因为某个游戏运行不流畅、单击了IDE工具的“编译”命令后需要等待10分钟甚至更长而抱怨自己的机器?)。但对这类单机应用来说,程序运行的速度基本上只与运行程序的主机有关,因此,只需要更换运行程序的设备就能很好地解决这个问题。所以,虽然用户会觉得程序运行速度慢,但由此引起的抱怨一般都会直接针对计算机设备和资金不足,而不会瞄准运行慢的软件。而近几年来,随着软件系统规模和复杂程度的增加,我们接触到的系统(如OA系统、信息管理系统等)都变得越来越强大。在结构上,这些系统大多采用C/S或B/S架构,采用多种分布式应用技术,具有几百、几千甚至上万的用户数量。由于其采用的是C/S或B/S架构,大量的运算和处理都被集中到服务端来实现,这种变化使得软件系统的性能影响因素变得庞杂,很难通过更换设备来解决。这时,采用类似单机时代的“更换更好的设备”的方法,无论从经济性还是可实现性的角度来考虑,都完全不能满足需要,对性能的关注才越来越多地集中在应用系统本身,而不仅仅是运行系统的设备上。
对应用系统本身性能的关注和软件性能的复杂性催生了专门的“性能测试工程师”职位,据统计,性能测试工程师的工资水平远远超过了一般的测试工程师,然而到目前为止,在从业人员数量和质量上来看,国内性能测试人才的缺口还是非常大的,尤其是真正能够承担大型系统性能测试工作的工程师更加稀少。
软件性能和软件性能测试的复杂性是显而易见的。首先,一个软件系统性能表现的相关因素非常多,网络环境、数据库服务器、应用服务器、业务逻辑的实现方式、系统采用的架构、代码优化的程度、使用者的使用方式等都会对系统的性能表现造成影响,在这种情况下开展性能测试,殊为不易。
本书是一本专门描述软件性能测试的书,对没有太多性能测试经验的读者来说,本书的作者力图使它成为一本手册或是实践指南;对于已经进行过一些性能测试的,具有一定的性能测试经验的读者来书,本书也希望能够为其提供一定的启发。本书的作者结合自己在性能测试方面的经验,对软件性能测试的概念、性能测试的组织等进行了阐述;同时,通过贯穿全书的大量精心选择的实例描述,作者期望本书为每一位读者带来性能测试的体会和体验。
本书的组织结构
本书围绕基础、案例、工具三个方面组织,给出了软件测试的基础知识,介绍了软件性能测试过程,提供了通用的软件测试过程模型(PTGM),给出了敏捷软件测试模型(ATPM)。随后,本书尽可能具体地展示了一些有价值的实例,在实例中展示了如何系统地开展性能测试。此外,考虑到Web前端性能已经是一个非常热门的性能方向,本书专门设置了一章描述Web前段性能测试和调优。
各章内容介绍
“基础篇”包括第1章~第6章。
第1章首先介绍软件性能测试相关的一些基本概念,重点阐述不同视角的软件性能,对并发用户数、响应时间、吞吐量等软件性能测试中的常见术语进行详细解释和讨论,并对软件性能测试中经常使用的一些方法进行简要的描述。
第2章介绍软件性能测试应用领域的概念,将软件性能测试的应用范围划分为能力验证、规划能力、性能调优、缺陷发现以及性能基准比较5个应用领域。领域的概念使性能测试工程师可以更好地明确性能测试项目的目标,确定合适的性能测试方法。
第3章和第4章分别讨论性能计数器和性能测试工具的原理。在第3章中,重点讨论操作系统、应用服务器和数据库系统常用的性能计数器,并给出利用性能计数器进行性能分析的方法;在第4章中,以典型的系统级性能测试工具LoadRunner为例,展示了服务端性能测试工具的原理,并简要介绍了前端性能测试工具的原理。
第5章是本书的重点章节,该章引入了通用的性能测试过程模型(PTGM)和结合了敏捷思想的模型(ATPM),详细描述了PTGM模型的各个阶段及每个阶段的活动,并介绍了ATPM模型中的检查表、活动与工具。该章的内容可以作为性能测试项目的有效参考,帮助读者全面了解如何规划和执行一个性能测试项目。
第6章是本书第二版中新增加的章节,该章描述了Web前端性能的主要原理、性能评估方法以及主要的前端性能工具,对前端性能进行了细致的探讨和较为深入的分析。
“实践篇”包括第7章~第10章。
第7章~第10章围绕4个具体的项目展开,每个项目的描述方式都严格遵循第5章的PTGM模型步骤和活动,另外,在每个案例的描述中,针对案例本身的特点,还同时介绍了许多在性能测试中可用的技巧(如时间戳的技巧、处理验证码的方法、sessionID的概念等)。
“工具篇”包括第11章~第13章。
“工具篇”给出了一些非常有价值的工具资料,考虑到读者具有不同的技能基础,第11章面向没有性能测试工具使用经验的读者,给出了一份简洁但全面的LoadRunner快速入门手册;第12章则针对较为熟悉LoadRunner的用户,在第11章的基础上给出了LoadRunner的高级使用技巧描述;对于更愿意采用开源解决方案的用户,第13章给出了JMeter工具的使用描述,包括基础和进阶操作。已经有一定性能测试基础的读者应该可以通过本章很快建立对JMeter的应用认识,达到熟练使用JMeter工具的目的。
“附录”则包含了其他一些实用资料。附录A给出了一些性能测试过程中可能使用到的有价值的脚本和数据处理技巧;附录B则给出了性能测试过程中使用的模板。
阅读建议
“基础篇”是自成
软件性能测试过程详解与案例剖析(第2版) 下载 mobi epub pdf txt 电子书 格式
软件性能测试过程详解与案例剖析(第2版) 下载 mobi pdf epub txt 电子书 格式 2024
软件性能测试过程详解与案例剖析(第2版) 下载 mobi epub pdf 电子书好好好 包装完好 又得一本好书
评分赞赞赞赞赞赞赞赞赞赞赞
评分计算机相关书籍,没有经典书籍的感觉,印刷质量很差,打开书一股臭味
评分一直想买的书,应该不错,好评!
评分里面确实都是理论的解释,适合入门,但不适合进阶
评分我的发票呢
评分棒
评分很不错的书籍
评分书是自己选的有没有帮助还需要把它看完 希望能提升自己 加油
软件性能测试过程详解与案例剖析(第2版) mobi epub pdf txt 电子书 格式下载 2024