软件性能测试过程详解与案例剖析

当前位置:首页 > 计算机网络 > 软件工程/开发项目管理 > 软件性能测试过程详解与案例剖析

出版社:清华大学出版社
出版日期:2012-6
ISBN:9787302281795
作者:段念
页数:412页

章节摘录

版权页:   插图:   书后参考文献[3]同时还给出根据并发用户数估算其他相关属性的方法。例如,如果能够知道平均每个用户发出的请求数(假设为u),则系统的总的吞吐量就可估算为u•C。 当然,书后参考文献[3]给出的是一种可行的方法,但并不是唯一,甚至可以说不是最精确的方法,因为在公式中仍然需要估算平均用户数和login session的长度,而要精确估算这两个值并不容易。另外,考虑到用户的业务操作存在一定的时间集中性(也就是说,用户对系统业务的访问往往不是平均分布在整个考察时间段内,而是相对集中地分布在某几个时间段内),采用式(1—1)和式(1—2)进行计算仍然存在一定的偏差。 基于书后参考文献提供的方法,我们给出一些使用该公式的建议,遵循这些建议,可以更精确地计算得到并发用户数。 (1)以更细的时间粒度进行考察。例如,可以设定1个小时为考察时间的粒度,对一个典型的OA系统,将一天的上班时间划分为8个区间,这样可以解决业务操作存在的时间集中性的问题。 (2)考虑典型的业务模式。不同的应用有不同的业务模式,例如,一个内部系统一般在上班后的30分钟至1小时集中出现用户的登录;一个账务系统在每月的结账日前几天比较繁忙;一个门户网站在重大消息发布的前后会有访问高峰;一个旅游网站在节假日前夕会有大量用户的访问……因此,在计算并发用户数时,可以结合应用的业务模式,多考虑一些可能发生的场景,基于这些场景进行估算。 除了书后参考文献[3]介绍的方法之外,对于企业内部使用的Web系统来说,一个更一般的(当然精度更差)经验公式是: C=n/10 (1—3) C^≈r•C (1—4) 也就是说,用每天访问系统用户数的10%作为平均并发用户数,并发用户数的最大值由并发用户数乘以调整因子r得到,r的取值一般为2~3。 式(1—3)和式(1—4)可以在要求不太严格的性能测试,或是只有很少数据支持分析的性能测试中使用。 前面曾提到了日志分析方法。

前言

  大多数测试工程师对“性能测试”这个名词并不陌生,即使没有真正参与过性能测试项目,在各个论坛或网站上也经常见到这个名词。然而,究竟什么是软件性能?软件性能测试究竟该如何开展?软件性能测试到底测试了些什么?这些问题恐怕就不是每个测试工程师都能清楚地回答出来的了。  其实,在日常工作中,每个测试工程师基本上都会遇到和软件性能、软件性能测试相关的内容。回想一下我们接触到的用户需求,经常会有类似如下的描述:“要求某某系统对用户的操作能快速反应”、“要求某某系统能够在大量用户同时使用时保持稳定运行”等。实际上,这些就是用户对软件系统提出的朴素的性能要求,虽然这些性能要求不是那么显而易见的,在实际的测试中也可能会被忽略,但无论如何,这些描述至少说明了性能要求其实是大部分用户对软件系统的一个基本要求。  在开始真正描述软件性能测试之前,先来回顾一下对软件性能认识的历程。如果从世界上第一台计算机诞生开始算起,软件的存在已经有相当时间的历史了(以软件行业的时间概念来说),在以前的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上最大的亚洲游戏开发商。作者本人有过多个行业的经验,目前的兴趣在于互联网技术、高效率的软件开发、敏捷开发、各种测试技术以及软件领域的新技术。  参考资料  在写作过程中,参考了不少前人的成果和已有的测试书籍,具体的参考信息请参见书后的参考文献。另外,书中给出的脚本、模板等信息,以及本书的勘误和更新信息都可以从本书的网站上直接获得,读者可以访问网站下载习题集、部分脚本和其他资料。  致谢  软件性能测试并不是一个简单的课题,其内容贯穿软件开发、软件测试和软件系统知识等领域,并且,软件性能测试的技术也会随着软件架构、软件开发的变化而不断发展,任何人甚至是任何团体都很难写出一本能够完全涵盖软件性能测试的书籍。本书的很多内容都建立在前人的研究成果的基础上,因此,在本书完成之际,对那些为本书提供了基础的前人表示衷心的感谢,没有这些研究成果,就不会有本书的出现。  写作本书耗费的时间和精力超出想象,在本书出版之际,感谢所有为本书的写作提供帮助的人员:为本书提供宝贵建议的相识或不相识的朋友们;慷慨地花费个人时间阅读本书初稿并给出意见的朋友和同事;持续追问我进度,让我不敢偷懒的读者们…… 另外,我的学员们也在课程期间为我提供了不少宝贵的经验和教训,所有这些经验和教训都为本书增色不少。  清华大学出版社的钟志芳编辑是我最希望感谢的人,她出色的编辑经验、她的耐心和宽容是本书得以完成和出版的重要原因。  最后但最重要的是,真诚地感谢我的家人。在本书的写作过程中,我的妻子周小莉和儿子段楫舟给了我巨大的支持。虽然他们并不理解软件测试,但一直对我所从事工作的意义深信不疑。六岁的儿子等待我完成这件“有意义的事情”的耐心让我感激不已。  段  念 

内容概要

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

书籍目录

目    录
第一部分 基础篇
第1章 软件性能测试的基本概念
2
1.1 什么是软件性能
2
1.1.1 用户视角的软件性能
2
1.1.2 管理员视角的软件性能
3
1.1.3 开发视角的软件性能
4
1.1.4 Web前端性能
5
1.1.5 总结
6
1.2 软件性能的几个主要术语
6
1.2.1 响应时间
7
1.2.2 并发用户数
9
1.2.3 吞吐量
14
1.2.4 性能计数器
16
1.2.5 思考时间
17
1.3 软件性能测试方法论
18
1.3.1 SEI负载测试计划过程
18
1.3.2 RBI方法
19
1.3.3 性能下降曲线分析法
20
1.3.4 LoadRunner的性能测试过程
21
1.3.5 Segue提供的性能测试过程
22
1.3.6 敏捷性能测试
22
1.3.7 本书提供的性能测试模型
26
1.4 本章小结
27
第2章 性能测试的应用领域
28
2.1 性能测试的方法
28
2.1.1 验收性能测试
29
2.1.2 负载测试
30
2.1.3 压力测试
31
2.1.4 配置测试
31
2.1.5 并发测试
32
2.1.6 可靠性测试
33
2.1.7 失效恢复测试
34
2.2 性能测试应用领域分析
35
2.2.1 能力验证
36
2.2.2 规划能力
36
2.2.3 性能调优
37
2.2.4 缺陷发现
40
2.2.5 性能基准比较
41
2.2.6 总结
42
2.3 本章小结
42
第3章 性能计数器及性能分析方法
44
3.1 操作系统计数器及分析
44
3.1.1 Windows操作系统的主要计数器
44
3.1.2 UNIX/Linux操作系统的主要计数器
48
3.1.3 内存分析方法
50
3.1.4 处理器分析方法
52
3.1.5 磁盘I/O分析方法
52
3.1.6 进程分析方法
53
3.1.7 网络分析方法
54
3.2 应用服务器计数器
55
3.2.1 IIS应用服务器计数器
55
3.2.2 J2EE应用服务器计数器
56
3.3 数据库服务器计数器
58
3.4 本章小结
59
第4章 性能测试工具原理
60
4.1 服务端性能测试工具架构
62
4.2 前端性能测试工具原理
65
4.3 选择服务端性能测试脚本使用的协议
66
4.4 性能测试工具的选择与评估
69
4.4.1 创建和购买的选择
69
4.4.2 测试工具的评估和选择过程
71
4.5 本章小结
75
第5章 性能测试的组织
76
5.1 性能测试团队的人员构成
76
5.2 性能测试过程模型(PTGM)
78
5.2.1 测试前期准备阶段
79
5.2.2 测试工具引入阶段
81
5.2.3 测试计划阶段
82
5.2.4 测试设计与开发阶段
85
5.2.5 测试执行与管理
89
5.2.6 测试分析
91
5.3 敏捷性能测试模型(APTM)
92
5.3.1 APTM的检查表
93
5.3.2 APTM中的活动
94
5.3.3 环境与工具
96
5.4 本章小结
99
第6章 Web前端性能
100
6.1 前端性能示例
101
6.2 HTTP概要
104
6.2.1 HTTP协议结构
105
6.2.2 典型的HTTP请求与响应分析
106
6.2.3 与前端性能相关的头信息
108
6.3 浏览器打开URL的方式
113
6.3.1 连接到URL所在服务器
113
6.3.2 获取页面对应的HTML文档
113
6.3.3 解析文档并获取所需要的资源
114
6.3.4 页面上的JS文件与CSS文件
114
6.3.5 onload事件
117
6.4 提高前端性能的方法
117
6.4.1 减少网络时间
118
6.4.2 减少发送的请求数量
119
6.4.3 提高浏览器下载的并发度
120
6.4.4 让页面尽早开始显示
121
6.4.5 其他
122
6.5 单机前端性能工具
122
6.5.1 Firebug工具
122
6.5.2 HttpWatch工具
125
6.5.3 Chrome自带的开发工具
127
6.5.4 Page Speed工具
128
6.5.5 DynaTrace AJAX Edition工具
129
6.5.6 单机前端性能测试工具小结
131
6.6 监控用户体验到的前端性能
131
6.6.1 在页面上增加计时点
132
6.6.2 使用JavaScript库简化计时点工作
134
6.6.3 将计时信息发送给服务器
138
6.7 本章小结
142
第二部分 实践篇
第7章 案例1 某制造型企业信息化项目的性能测试
144
7.1 项目背景
144
7.2 项目特点
144
7.3 性能测试过程
145
7.3.1 测试前期准备
145
7.3.2 测试工具引入
146
7.3.3 测试计划
146
7.3.4 测试设计与开发
148
7.3.5 测试执行与管理
154
7.3.6 测试分析
156
7.4 案例小结
161
第8章 案例2 某省电信公司业务系统的性能测试
162
8.1 项目背景
162
8.2 项目特点
162
8.3 性能测试过程
164
8.3.1 测试前期准备
164
8.3.2 测试工具引入
165
8.3.3 测试计划
167
8.3.4 测试设计与开发
174
8.3.5 测试执行与管理
183
8.3.6 测试分析
184
8.4 案例小结
192
第9章 案例3 某通信企业Web业务系统的性能测试
193
9.1 项目背景
193
9.2 项目特点
193
9.3 性能测试过程
194
9.3.1 测试前期准备
194
9.3.2 测试工具引入
195
9.3.3 测试计划
195
9.3.4 测试设计与开发
199
9.3.5 测试执行与管理
217
9.3.6 测试分析
222
9.4 案例小结
231
第10章 案例4 某集成商的性能选型测试
233
10.1 项目背景
233
10.2 项目特点
233
10.3 性能测试过程
234
10.3.1 测试前期准备
234
10.3.2 测试工具引入
235
10.3.3 测试计划
235
10.3.4 测试设计与开发
237
10.3.5 测试执行与管理
239
10.3.6 测试分析
241
10.4 案例小结
247
第三部分 工具篇
第11章 LoadRunner快速入门手册
250
11.1 LoadRunner的性能测试流程
250
11.2 LoadRunner脚本开发
252
11.2.1 基本录制
252
11.2.2 修正测试脚本
256
11.2.3 Run-Time Setting
260
11.2.4 单机运行测试脚本
263
11.3 Tools(工具)菜单
264
11.4 LoadRunner 场景设置
265
11.4.1 Manual Scenario
266
11.4.2 Manual Scenario with Percentage Mode
271
11.4.3 Goal-Oriented Scenario
271
11.4.4 启用IP Spoofer(IP 欺骗)
273
11.5 LoadRunner场景监视设置
274
11.5.1 Windows Resources
275
11.5.2 IIS 服务器
276
11.5.3 UNIX/Linux Resources
276
11.5.4 WebLogic Server
277
11.5.5 Apache Server
277
11.5.6 数据库服务器
279
11.6 LoadRunner的Analysis应用
279
11.6.1 基本操作
280
11.6.2 图表的归并(Merge)操作
284
11.6.3 图表的自动关联(Auto Correlate)操作
287
11.6.4 性能测试结果比较
288
第12章 LoadRunner高级使用技巧
289
12.1 参数化技巧
289
12.1.1 LoadRunner的参数化操作
291
12.1.2 不同类型的参数
293
12.2 关联技巧
297
12.2.1 LoadRunner中的主要关联函数
299
12.2.2 LoadRunner的自动关联操作
300
12.2.3 LoadRunner的手工关联操作
302
12.3 调试技巧
303
12.3.1 断点
303
12.3.2 单步跟踪
304
12.3.3 Log输出
305
12.3.4 使用对话框输出
306
12.3.5 以TreeView模式查看返回数据
307
12.4 其他技巧
308
12.4.1 设置域登录的用户名和口令
308
12.4.2 检查返回数据的正确性
309
12.4.3 调用外部函数
310
第13章 JMeter应用手册
313
13.1 JMeter入门
313
13.1.1 JMeter基础概念
314
13.1.2 建立第一个简单的JMeter Test Plan
316
13.2 用JMeter测试一个进销存应用
332
13.2.1 被测应用介绍
332
13.2.2 录制测试计划
334
13.2.3 调试Test Plan
338
13.2.4 关联Test Plan中的Sampler
343
13.2.5 参数化Test Plan
349
13.2.6 HTTP属性管理器
358
13.2.7 为Test Plan增加逻辑控制
363
13.2.8 使用Timer让Test Plan更准确地模拟用户行为
371
13.3 扩展JMeter
371
13.3.1 使用BeanShell类组件
372
13.3.2 基于Java Request Sampler定制Sampler的行为
375
13.4 JMeter的分布式测试功能
378
附录A 部分有价值的脚本和数据处理技巧
380
A.1 在UNIX平台上写日志的Perl脚本
380
A.2 在UNIX平台上记录单个进程内存使用的Perl脚本
392
A.3 用于模拟发送数据的Socket进程 (Perl适用于UNIX和
Windows平台)
399
A.3.1 用于实现Socket监听和发送的主代码
399
A.3.2 用于发送数据的代码
401
A.4 用Excel处理规则的记录数据
402
附录B 性能测试过程中使用的模板
406
B.1 性能测试团队成员职责技能描述表
406
B.2 性能测试工具需求规划表
407
B.3 性能测试环境调查表
407
B.4 典型业务列表
408
B.5 业务用例描述
408
B.6 场景列表
409
B.7 测试计划
410
B.8 测试环境检查表(CheckList)
410
B.9 测试执行记录日志
411
B.10 性能测试分析报告
411
参考文献
413
·XVI·
软件性能测试过程详解与案例剖析(第二版)

·XV·
目 录

编辑推荐

《软件性能测试过程详解与案例剖析(第2版)》可以作为软件测试人员、软件项目经理和需要了解软件性能测试的各级软件管理人员的参考手册,也可作为高校软件性能测试课程的辅助教材。

作者简介

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

温馨提示:本书案例脚本、模板及习题集可在清华大学出版社网站上下载(封底已标注);方法:输入书名“软件性能测试过程详解与案例剖析”搜索,点击ISBN号9787302281795对应本书书名:软件性能测试过程详解与案例剖析(第2版)的链接,在弹出网页中下载课件,请客户知悉。

图书封面


 软件性能测试过程详解与案例剖析下载 更多精彩书评



发布书评

 
 


精彩书评 (总计2条)

  •     这本书我看了有一段时间了,最近一直比较忙,就什么也没写。今天想来想去还是写写自己的感触:一直不太喜欢,有些没有任何的分析就夸书写的好,或者骂书写的不好之类的人。这本书我看了两遍的。为什么书我看了两遍才会想写点东西呢。我衔还苁裁词椋吹谝槐樽苁窃谑茏抛髡叩挠跋欤扛鲎髡咝词椋加凶约旱南敕ǎ谝淮谓哟ィ琳叩姆治霾⒉欢嗟摹>拖褚盏男磐饺衔帐歉鍪ト耍盏募蚁缛酥蝗衔歉銎匠H艘谎?br /> 不说太多了。还是来聊聊书:整体上来讲,书的结构层次很清楚,并且有实践,有理论,给读者比较多的增长知识的机会。并且作者为读者想的也比较周到,在最后把几个难点问题写了些实例。做了说明。并附上LR的手册(虽说这一点我不是很赞同,下面我会说原因)。下面细说:1,前两章节,是理论的说明。在理论上,我一直觉得在性能这一块的名词解释很模糊。本书对这些名词做了一些分析,并且很详细,这一点很好。可是问题来了,分析完了,应该有一个定论。而这本书里,对名词的定论也同样是模糊的。我看了一下后,原来模糊的名词还是同样的模糊。即,作者在某些词句上的考究还不是很细致。性能测试的方法,这一段的分类是不错的,解释也是有一定道理。可是我觉得不足的是,侧重点不是很明确,其实作者要表达的意思是有侧重的,而文字中没有表达出来。这是我对前两章节的理解。2,分析方法。这里的分析方法,基本上网络上都有流传,不过作者加入了自己在实际工作中的经验,有些部分值得学习。我觉得这部分写的不错。因为有些我没有实际的遇到过,不能妄加评论。不过这一段如果加进更多的作者的经验,而少一些网络上已经流传的分析方法,我想会更好。总看到有些人在论坛上或者在群里问这个分析部分是怎么做的,并且有些人发一个图就让别人帮他分析。这是完全做不到的。分析是一个整体的过程。不是一个两个图就能看出来的。所以,分析是一个整体的过程,并且需要的相关知识也比较多,所以不能独立的来看问题。希望各网友分析的时候,先了解一下周边的知识。而不要对着LR的结果图大叫:看不懂,看不懂。3,我对实践篇的看法。这一部分,作者的实践经验体现的比较多。比如,对工具的引入的分析,对团队人员的结构分析,值得借鉴。作者对整体流程的说明还是比较详细的,比如,前期准备、工具引入、测试计划、场景描述等。可是看了之后,我觉得有一点不太清楚的是,对需求的分析。这一块并不是很多,并且在对结果分析的时候,没有对需求进行对应,而这一点应该是最重要的。作者在这一点上,多是一笔带过。而在对结果的分析上,讲的比较笼统。如果细分下去,并说明对某种应用应该用什么样的分析流程,这样我认为会比较好。4,附录。前面说了,对这一附录的不太赞同。因为从书名来看,应该是更关注工具之上的性能测试。而对本书的整体来看,还是认为作者对工具的关怀太多了。很多地方都太靠近工具。而书中也说了,性能测试并不是说会工具就会性能测试了的。那书里的某些部分,应该高于工具来分析说明。多关注一些对架构的分析,我认为会更好。之上所言,均是我自己的看法,各位读者的看法,还是要读者自己来定。希望我的话没有蒙蔽各位读者的明亮的眼睛。转自: http://www.51testing.com/?uid-17369-action-viewspace-itemid-3410
  •     软件测试火的一塌糊涂的时候,大家心里估计在颤抖。不就是点点系统嘛,能有什么大出息,软件测试做几年以后大家水平都差不多,如何才能不被快速取代,去做性能测试呀。测试做久了就会知道,性能测试是测试人员的终极梦想,这是为什么呢?工资高呀。我有朋友做了3年功能测试,感觉太机械,然后报培训班学习性能测试,目前从事性能测试工作。万事开头难,我从想做性能测试到现在5个年头过去了,现在把做性能测试过程中的迷茫、坚持、到后来的被认可写下来,纪念下那年的加班岁月。我一直认为自己很幸运,在校期间就找了份实习工作,做金融方面的测试。银行系统涉及到钱,所以从公司到银行很重视测试。当然了现在互联网时代,性能测试就更重要了。大三暑期实习时做了软件测试,培训老师说软件测试分为功能测试和性能测试,最牛逼的是做性能测试,那简直是受万人敬仰。刚好学校开始选毕设课题,看到了loadrunner性能测试题目,带着想成为行业的大拿,受到膜拜的幻想,于是乎选择了这个课题,仿佛看到了未来做性能测试的样子。由于在学校老师没教过这个,所以得自学,就连loadrunner工具也得自己在网上下载,loadrunner是大型商业软件,小公司用的大都是开源工具,公司做银行系统,所以性能测试是重中之重,正好有此软件。第一次听培训老师讲性能,特别认真的带着本和笔坐第一排听。培训老师在公司待10多年了,讲的很好。“80%的交易是20%的时间完成的、tps、tps拐点、脚本、并发用户数、最大并发用户数、单交易场景、混合交易场景等”听的云里雾里。实习时在公司培训班待了一周,做了个小型银行系统,大概只有账户查询、开户、存款贷款等小模块。系统用于是乎我就在电脑里安装了这个系统做性能测试。公司有配置库,文档包括各种类型,恰好有性能测试文档。由于公司有2人做性能测试,常年在客户现场出差,所以一切都得自学,带我毕设的老师也是没做过这方面的工作。度娘里找答案,清一色全是loadrunner的工具使用,如何设置参数、如何录制脚本、脚本参数化等。到了这步就木有下文了,宝宝心里苦。我最想看到的是录制脚本后脚本运行成功(数据库里有条成功数据)、如何设置场景、如何获取有用的数据、以及如何测出瓶颈、以及如何解决瓶颈、最后出份漂亮的性能测试报告。心理想着等我哪天做完性能测试一定和大家分享有用的知识。现在回想起来,当初真是太可怜了,录制脚本后,回放录制的视频,界面一直显示登录超时,登陆脚本都无法登录系统,更别提之后的测试脚本了。大四毕设做的很不好,没人指导,自己在瞎琢磨,没有写过测试脚本,毕设答辩内容很空洞,勉强通过。由于一直有做性能测试的心思,离开了第一家公司。之后找工作时拒绝了二包公司、拒绝了单纯的界面测试,找了家功能测试、性能测试都涉及的。然后就一直待这家公司。我主要做理财项目,涉及功能测试、接口测试、压力测试、稳定性测试。2014年银行理财忽然卖的很火,某城商行,系统承受不了压力,然后要做压力测试。我作为项目组唯一的测试员,这项工作落在我头上。真是又紧张又兴奋,开心的是可以亲手做性能测试了,紧张的是之前只有点基础。就像如开发人员初次学习写代码,运行helloworld一样,我首先得录制登录脚本,只要这个调通其他的也就迎刃而解。web系统,基于web(HTTP/HTML)脚本很快录好了,可是运行显示登录超时,百思不得其解,领导下命令今晚必须出结果,怎么办,打电话求助公司的性能测试部门,他让我在脚本里做了个关联就可以了。脚本调通后,运行脚本,查看日志显示交易成功。保险期间我写了个select语句查询流水表,金额、账户都正确,就是刚执行脚本后插入的那条数据。终于成功了一把,最终熬到凌晨2点,设置了系统运行8小时,回家睡觉去了。第二天查询数据库,成功了10万多条没有报错,简直好惊喜。由于知识有限,第二天买了本性能测试书,那段时间,只要闲下来就会录制其他交易的脚本,学习到了脚本参数化、关联等。那年别的项目也做性能,所以我学习了web、socket、xml协议的脚本。测试脚本做性能测试第一步就是写测试脚本,一个完美的脚本是成功的一半。脚本分为2种模式:录制、手动编写。由于系统是web类型的,所以直接用工具录制,关键是当初也不会写啊。图片发自简书App脚本参数化:添加事务图片发自简书Apploadrunner11以上版本不添加事务,场景执行后tps无值。关联关联分为自动关联、手动关联,适合复核交易,通过流水号查询交易,适用于http协议。测试数据参数化图片发自简书App测试脚本中为了保证流水号的唯一性,添加时间数字+时间毫秒设置。日志设置f4设置log,选择参数等。图片发自简书Ap脚本运行后,日志框会显示交易状态,遇到有参数时写print语句,日志里可以看到参数取值是否正确。socket脚本模版xml脚本,保证发起报文和接收报文都是明文,接收端如果是密文,测试时先解密再测试。图片发自简书App发送报文,报文长度必须正确,接收报文内容可以为空,长度数字写大点,确保大于实际的报文长度。公司针对测试接口有模拟工具所以可以直接录制,也可以写脚本。首先明白接口用的是什么报文然后再写脚本。现在给大家一份性能测试报告1、测试背景首先确保功能测试覆盖率达到100%,缺陷通过率大于95%,其次做性能测试。银行理财产品有银行兜底,所以卖的很火,银行发产品后客户集中在一段时间抢购,导致系统压力,出现大量失败的交易,所以为了保证系统长期运行的稳定性,针对典型交易做性能测试。2、测试目标获取系统的处理性能指标,满足当前生产系统及未来3年的业务发展需要。发现性能瓶颈,协助开发人员进行性能调优。3、测试指标平均事物响应时间ART:响应时间遵循2、5、8s原则,本次测试响应时间小于等于8s;并发用户数:现在高峰日操作人数500人,20%的并发量计算,高峰日并发用户数大于等于100规划未来2年高峰操作达到600人,20%的并发量,并发用户数大于等于120规划未来三年操作人数达到700人,20%的并发量,用户数大于等于140。资源使用指标:cpu使用率小于等于80%内存使用率小于等于80%磁盘交换率小于等于80%tps值:每秒处理的业务笔数,80%的交易在20%的时间完成,每天交易量10万笔,一天8小时tps=80%*100000/(8*3600*20%)=13.89并发交易成功率:大于等于95%4、选取典型交易性能测试主要针对交易量大的交易,如购买、赎回、份额查询。5、测试工具loadrunner8.1nmon监测资源使用率,磁盘、cpu、内存等。6、测试类型基准测试单交易单用户测试,典型交易在无压力情况下获取单笔交易处理的耗时,为之后的并发测试提供一个数据参考,一个用户跑5分钟。验证测试脚本及测试参数的正确性。获取单笔交易的性能数据,主要是单笔交易平均响应时间、TPS。并发测试主要分为:单交易多用户测试和混合交易多用户测试,由于最后要跑稳定性,本次只做单交易多用户测试。每个典型交易通过单交易多用户迭代执行,获取性能指标,比如TPS、ART、系统资源使用情况,根据需要进行性能调优。tps出现拐点时,继续测2组数据,如果这2组数据tps明显下降,此时就测出了最大并发用户数。备注:交易数据库有当前流水表和历史流水表,所以每次跑场景前删除当前流水表的数据。稳定性测试多交易多用户的并发混合模式,对被测系统进行长时间的稳定测试,获取持续加压下的性能指标。考察是否会出现宕机、响应时间变长、交易成功率下降、资源使用率达99%的情况。选取单交易并发时的最大用户并发数取中间值跑稳定性。7、测试总结目前我遇到的瓶颈和解决方式1、磁盘交换率达到99%;2、内存使用率5%左右;加大系统进程数并增加并发用户数。3、内存使用率高达99%;经查看系统实时刷日志,原因是某个可有可无的参数没配置。4、单交易sql执行时间2s;增加索引。5、单交易执行时间过长;每次sum金额时,交易太多,执行时间过长,增加一张表每做一条交易sum一次,分担了压力。6、tps值明显在某个时间点降低,经查询当前流水表数据大于100万条;这个目前无解得对数据库进行调优。实践出真知,知识有限,就分享这么多了,写这篇文章已经用尽了我的荒洪之力。我做测试买的就是这本书,当初百度搜索的答案,很细适合初中级测试人员。

精彩短评 (总计72条)

  •     有了陈霁老师、于涌老师的书,说实话,段念的书一般般。。概念比较多。。。
  •     这本书总体来说在写性能测试的书籍中相对是质量比较不错的,市面上大部分性能测试书籍主要花了很大的篇幅介绍LoadRunner测试工具,但是性能测试并非只是一个LR工具而已,该书我个人觉得有以下几个两点:1.书中较详细的介绍了Web前端性能测试的方法,工具(这在同类介绍性能测试的书籍中较为少见)2.书中所列举的4个项目,具有代表性,同时介绍得相对比较详细此书还是值得推荐阅读一下。
  •     拿回来看了一下,东西还是不错,值得深入研究下
  •     书不错,值得一读,了解了性能测试的过程
  •     书纸张有点薄,不知道是不是正版
  •     拿到手之后,就读了。。。只能说很好,很适合我;
  •     原理部分讲得挺清楚。后面的案例部分还没来得及看。
  •     还好,理论部分读完了
  •     把以前不懂的专有名词概念诠释的很清楚
  •     书很好,不过还没有时间细读,送货速度快。
  •     刚看,需要继续深入看
  •     这是一本关于软件性能测试的书,刚看,还是有一些收获!!!
  •     物流很快,书的内容还可以
  •     网上别人推荐的,才看了前面一部分,不过是本好书,值得看看。
  •     这本所可以帮助大家在工程实践上快速入门,挺不错的书籍,给10分
  •     通过案例了解软件测试,挺好
  •     买来看看。很不错。
  •     书很给力啊,不错!!!
  •     有很多实例,内容很好
  •     挺好的 特别是前段知识的介绍 建议购买
  •     书很不错,同事很喜欢.
  •     只懂工具是无法实践的。
  •     书不错,写的比较通俗易懂,但是实例还是稍显少了一点
  •     理论的东西太多书中的案例、工具感觉不是很实用前后书皮儿都被折过了 !!!!!!!!!!!!!!!!!!
  •     这本书还行,适合入门级朋友看看
  •     书皮面上写着赠送案例脚本和习题集,我怎么没有见到呢
  •     纸张质量不是很好,有些页面的内容显示不怎么清晰。
  •     挺好的,我刚干测试,挺给指导的,讲的挺细
  •     不错,提供了学习的思路
  •     理论与案例并重
  •     案例详细,可读性强!
  •     3月13号买的书,3月24号到的,我只想说 送货太慢了。39.8元给50找回10元,2毛钱也是钱啊,都不自觉的找给我
  •     段老师的书值得一读
  •     对于分析写的很好
  •     讲得挺细的,才开始看
  •     还没怎么看呢,学习来着
  •     刚刚拿到书,纸质一般,内容大概看了下,比较浅,没有陈能技2012写的《性能测试诊断与调优》深入。
  •     过程很详细 ,易懂。。。。
  •     这本书很好,等了好久了,终于出来了
  •     还在看,貌似还不错吧
  •     内容还没看,应该是很有用的
  •     这本书对性能测试领域的内容解释得很清楚,读的时候感觉非常好。相比那些基本是工具使用手册的书来说,这本书介绍了性能测试的概念、领域、组织性能测试的方法,对我这种从事实际性能测试工作的人来说非常有帮助。
  •     书到了还没细看先给好评
  •     挺好,很满意,可以参考。下次买书还来这里,
  •     物流慢,书貌似是盗版
  •     收到书了,内容不错,实战演练的例子很好,不过遗憾的是书翻开第二页就出现了开胶,整页都快掉下来了,排版也不是很好,两边空白空间很大。。。
  •     还可以吧,总体满意,就是封面有划痕
  •     书的内容还行,很适合入门,纸张较差
  •     看了一少部分了,感觉还不错,内容也挺详细的
  •     帮别人买技术类书籍
  •     理论结合实际,案例有点旧。内容来说,新手上路比较合适,进阶的话感觉讲的还是不够系统和全面。建议可以看看阿里云的性能测试体系,视频教材。
  •     书中校验网址没有明确说明,不知道在哪里查看校验
  •     刚收到,还没仔细看,大概翻阅一下感觉还不错。
  •     正在看 ,侧重点不明确 ..有种关键时刻就打马赛的感觉...
  •     奉旨读书第二本~很好的一本入门书尤其是实践篇的案例选的经典又实用!京东有点坑啊~电子书格式咋那么特别~害得如此严肃的书只能手机看我谢你-_-||
  •     老公买的,阅读中……
  •     我觉得写得非常好,必须细细的领略其中的知识点
  •     书是今天上午到的,到货后马上看了下,感觉不错!
  •     和别人评价的一样好!
  •     做软件测试的话,可以借鉴下
  •     图书满200减30 公司购买资料
  •     不单纯是本讲工具的书哦,值得看看
  •     希望能使自己成长
  •     这个只能作为导读类的性能测试读物,没有深入,如果要专门学习的话不建议买这本
  •     比书店便宜,质量好,稍有灰尘,听说内容不错,还没来得及看。
  •     主要新内容:前端测试及Jmeter入门内容。
  •     没有案例脚本
  •     我觉得这本书适合有一定的性能测试经验,但是还没有固定的性能测试方法论来指导的性能测试工程师来看。看了这本书让我明白了,我的工作现在处于什么情况,下一步我应该怎么做,给我的工作做了指导。
  •     书很专业,实用性很强
  •     内容一般 不建议
  •     据说还不错,我是看不懂啦
  •     书本很实用,不错
 

外国儿童文学,篆刻,百科,生物科学,科普,初中通用,育儿亲子,美容护肤PDF图书下载,。 零度图书网 

零度图书网 @ 2024