软件性能测试过程详解与案例剖析(第2版)
  • 软件性能测试过程详解与案例剖析(第2版)

软件性能测试过程详解与案例剖析(第2版)

by 京东图书  |  由 京东图书  亚米商城卖家

积分原则不参加任何折扣活动以及亚米会员积分制度。

正品保障所售商品均从正规销售资格认证的供应商,品牌分支机构,驻美国分公司等正规渠道采购,并签订正品保证协议。

  销售和配送
$17.10 送积分 : 0
 加入购物车
 收藏商品

送至: 91789 有货

品牌 : 京东图书

品牌属地 : 中国

第三方商家

京东图书进入店铺

配送信息

USPS International $11.99(订单满$49包邮)
USPS Canada $11.99(订单满$49包邮)
1. $49以上的订单,提供美国本土平寄免邮费的服务。(只限美国本土48州,不包含夏威夷、阿拉斯加、关岛、波多黎各等地区)。 2. $49以下美国本土USPS平寄, 我们将收取$11.99运费。 3. 通过中国EMS直邮转USPS,配送时间预计为6-13天。

退换政策

因商品破损或者质量问题可申请无条件退款,请在收到包裹3个工作日内联系客服。若因个人原因申请退款,请在3个工作日内联系客服,邮费需顾客承担。图书类商品不支持换货,请见谅!

商品详情

品牌 : 京东图书 出版时间 : 2012-06-01 品牌属地 : 中国 出版社 : 清华大学出版社 语言 : 中文 ISBN : 9787302281795 版次 : 2 页数 : 413 印刷时间 : 2012-06-01 包装 : 平装 著者 : 段念 用纸 : 胶版纸
编辑推荐

《软件性能测试过程详解与案例剖析(第2版)》围绕基础、案例、工具三个方面组织内容,给出了软件测试的基础知识,介绍了软件性能测试过程,并通过实际工程实例展示如何系统地开展性能测试。本书在第一版的基础上对不合时宜的章节进行了改写和补充,并根据性能测试的发展增加了三个部分的内容:“Web前端性能”,“敏捷性能测试”以及“JMeter应用与实例”,力图给软件性能测试工程师及相关人员提供较为全面的软件性能测试印象及参考。
内容简介

《软件性能测试过程详解与案例剖析(第2版)》不仅仅是一本讲述软件性能测试基础知识的书,也不是一本工具的使用手册,当然更不是一本入门类的书籍。本书面向具有一定测试基础,期望能够通过实际案例去感受和领悟性能测试的测试工程师。书中包含了作者多年在性能测试方面的经验总结,其中精选的案例覆盖多种架构和平台,涉及多个行业,可对实际工作起到直接的指导作用,同时,本书包含了所有会在性能测试中使用的模板,稍加修改即可应用在实际项目中。
本书可以作为软件测试人员、软件项目经理和需要了解软件性能测试的各级软件管理人员的参考手册,也可作为高校软件性能测试课程的辅助教材。

作者简介

段念,现就职于乐元素游戏,任技术副总裁一职,曾在华为、Google中国等大型的企业任职,有多年的软件测试经验,目前的兴趣在于互联网技术、高效率的软件开发、敏捷开发、各种测试技术以及软件领域的新技术。作者具有丰富的项目经验,管理过不同类型公司的大型项目的功能、性能测试,并为包括阿里巴巴、淘宝、方正、亚信等几十家企业提供过软件功能、性能、自动化测试方面的培训和咨询。
目录

第一部分 基础篇
第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则给出了性能测试过程中使用的模板。


阅读建议

“基础篇”是自成体系的一个整体,建议读者按照该篇的组织方式顺序阅读。无论读者是有经验的性能测试工程师还是对性能测试不甚了解的测试工程师,建议都要仔细阅读本篇的内容,这样才能为准确理解本书的其他内容奠定良好的基础。特别要提到的是第5章,由于该章的内容是案例描述部分的基础,因此希望读者可以仔细领会该章的内容,再对照案例描述进行体会,方能有最大的收获。

“实践篇”介绍了4个各具特色的案例,其中案例1是一个相对概略的案例,重点展示性能测试的过程;案例2则侧重于性能测试的分析和设计,展示了一个完全没有使用商业测试工具进行测试的大型性能测试案例;案例3结合LoadRunner的使用进行了详细的性能测试描述;案例4则展示了如何通过性能测试达成选型的目的。本篇的4个案例各自独立,读者可以按照编排的顺序进行阅读,也可任意选择感兴趣的案例进行阅读。

“工具篇”包含了目前性能测试领域应用最广泛的商业工具LoadRunner和开源工具JMeter,读者可以根据自己的需要选择学习。对于希望快速上手的读者,LoadRunner工具的学习曲线更平缓,但对于希望获得一款可以很方便地进行定制和控制的开源测试工具的读者,JMeter可能更适合要求。

“附录”的内容可以作为读者的参考手册,本篇提供的性能测试模板和用于性能测试的脚本可以直接或是稍加修改后在读者的项目中发挥作用。

读者对象

本书是为对性能测试感兴趣的测试工程师、测试经理,或希望了解性能测试的技术人员准备的,特别适合以下读者。

希望了解软件性能测试的具体方法和过程的测试工程师。

希望寻找一种能够立即用于指导性能测试的过程方法的测试经理。

已有一定的性能测试经验,但希望验证自己工作方法正确性的测试工程师或测试经理。

希望从别人的经验中学习的性能测试工程师。

希望全面了解性能测试的其他人员。

本书作者

本书作者目前就职于乐元素游戏公司,任该公司的技术副总裁一职,曾在Google中国有近4年的测试团队管理经验。乐元素游戏是一家以social game的开发和发布为主业的互联网公司,目前是facebook上最大的亚洲游戏开发商。作者本人有过多个行业的经验,目前的兴趣在于互联网技术、高效率的软件开发、敏捷开发、各种测试技术以及软件领域的新技术。

参考资料

在写作过程中,参考了不少前人的成果和已有的测试书籍,具体的参考信息请参见书后的参考文献。另外,书中给出的脚本、模板等信息,以及本书的勘误和更新信息都可以从本书的网站上直接获得,读者可以访问网站下载习题集、部分脚本和其他资料。

致谢

软件性能测试并不是一个简单的课题,其内容贯穿软件开发、软件测试和软件系统知识等领域,并且,软件性能测试的技术也会随着软件架构、软件开发的变化而不断发展,任何人甚至是任何团体都很难写出一本能够完全涵盖软件性能测试的书籍。本书的很多内容都建立在前人的研究成果的基础上,因此,在本书完成之际,对那些为本书提供了基础的前人表示衷心的感谢,没有这些研究成果,就不会有本书的出现。

写作本书耗费的时间和精力超出想象,在本书出版之际,感谢所有为本书的写作提供帮助的人员:为本书提供宝贵建议的相识或不相识的朋友们;慷慨地花费个人时间阅读本书初稿并给出意见的朋友和同事;持续追问我进度,让我不敢偷懒的读者们…… 另外,我的学员们也在课程期间为我提供了不少宝贵的经验和教训,所有这些经验和教训都为本书增色不少。

清华大学出版社的钟志芳编辑是我最希望感谢的人,她出色的编辑经验、她的耐心和宽容是本书得以完成和出版的重要原因。

最后但最重要的是,真诚地感谢我的家人。在本书的写作过程中,我的妻子周小莉和儿子段楫舟给了我巨大的支持。虽然他们并不理解软件测试,但一直对我所从事工作的意义深信不疑。六岁的儿子等待我完成这件“有意义的事情”的耐心让我感激不已。


段 念


产品价格、包装、规格等信息如有调整,恕不另行通知。我们尽量做到及时更新产品信息,但请以收到实物为准。使用产品前,请始终阅读产品随附的标签、警告及说明。详细条款请参阅我们的Terms of Use.

商品评价

软件性能测试过程详解与案例剖析(第2版) 还没有人发表评论,快来抢占沙发了! 写评论

浏览过的商品

联系我们

联系方式

周一至周日,美西时间: 6AM - 1:30AM

美东时间: 9AM - 4:30AM

help@yamibuy.com

1(800)407-9710