《全栈性能测试修炼宝典 JMeter实战》—第2章 2.1节性能测试初体验

第2章 性能测试初体验
全栈性能测试修炼宝典 JMeter实战
从本章你可以学到:

性能测试的价值

性能测试流程

性能测试成功与失败要素

不同角色看性能

性能测试工具选择

性能测试相关术语

性能测试通过标准

性能测试趋势

性能测试是一项综合性的工作,致力于暴露性能问题,评估系统性能趋势。性能测试工作实质上是利用工具去模拟大量用户操作来验证系统能够承受的负载情况,找出潜在的性能问题,分析并解决;找出系统性能变化趋势,为后续的扩展提供参考。测试显然不是录制脚本那么简单的事情(而且现在很多系统还无法录制脚本)。本章带您进入性能的领域,阐述性能测试涉及的IT知识、角色、视角、流程及面临的挑战。

建议性能测试初学者仔细阅读本章、把握性能测试的大致格局和重点。

2.1 性能测试的价值
随着互联网的发展,单机软件的逐渐减少,系统从单机步入“云”时代,软件系统功能和规模也越来越庞大,盗版也越来越难,用户规模也越来越大,企业盈利随之爆发式地增长。随着用户数量的增多,系统稳定就成为企业的首要技术保障,稳定才能带来流量,才能赚钱。下面我们回顾一下著名的性能事件(这些事件内容来自于百度)。

[案例1]2012年11.11

“11月11日凌晨零时起,某企业11.11正式启动,激增的流量瞬间险些让系统陷入瘫痪状态。随后其宝出现短时间内无法付款,多家品牌商系统崩溃……”。这损失的都是钱啊!如图2-1所示。

某宝和某东为首的电商赚足了眼球。某宝双十一网络瘫痪遭诟病,其宝被“抢瘫”,好不容易进入支付过程,某宝提示系统繁忙,经过反复尝试,用户花费很长时间才能实现支付。破1000万用户访问时,部分某宝官网打开时间需要15~23分钟,对于一般用户是绝对不能接受的,其宝开始瘫痪无法响应,部分页面无法显示等。在关键的时刻各种性能问题到底给我们上了一节什么样的课程?来看看2012年优化性能后的数据:

2012某宝双11销售额191亿

2013某宝双11销售额350亿

2014某宝双11销售额571亿

2015某宝双11销售额912亿

没错直接损失了100多亿,如果性能测试做足能够把好关,提前做好预案,一天就可以营收100多亿,要知道好多传统百货集团一年也营收不了这么多。

来看看某东2012年因某宝瘫痪后流量暴涨,大量用户登录。结果某东的服务器被大流量冲垮,服务器也瘫痪。无论如何2012年11月11日某宝和某东的瘫痪,引人深思,性能测试的价值也随之体现。

[案例2] 12306订票网站(内容来自于百度)

12306网站创建初期的几年每逢春节就瘫痪,2014年1月9日,当日开始出售1月28日的火车票,是当年的售票高峰日。这一天的网页浏览量高达88亿次,88亿次/12小时=20W/秒+的点击。这个网站的多次瘫痪证明了,性能测试的重要性,也证明了不是用硬件就能解决软件性能。

[案例3]2008年奥运会票务系统

由于订票人数远远超出预期(性能需求没做到位,设计也没有到位,无排队等设计)刚开放后不久就瘫痪,造成了部分人无法从网络获得门票。

[案例4] 亚马逊网站瘫痪

2014年11月6日因华为手机P6在欧美销售太过火爆,电商国际巨头亚马逊网站(当地)瘫痪。造成的损失不仅仅只是活动损失,还有声誉。

要应对大规模的用户共同使用一套系统,那必须有相对应的强壮性能的系统,性能测试是对这套系统的一个质量保障,如果性能测试有漏洞,那么就会引发非常惨烈的后果,因此上线前的性能测试必不可少。

下面是软件测试分类,如图2-2所示。

从图2-2可以看到性能测试在整个软件测试环节占了50%的内容,如测试内容中,负载测试、压力测试、性能测试、大数据量测试、恢复测试、内存泄露测试、竞品测试(比较测试)和可靠性测试。一共14个测试内容,性能的测试占领8个,可想而知性能测试在软件测试中的重要程度。

软件业大部分软件开发之初一般考虑的是软件功能的市场需求契合度,是否能被市场认可。这个前提成立之后,才会有较大的用户群体去使用,从而出现性能问题。然而根据金子塔理论,到了后期在进行修改,投入和产出不成比例。一般公司在做出确定可以盈利的产品后,会对产品进行再次开发,来达到这个性能要求。所以第一个产品(试验)的性能要求和真正的推广产品(成熟)的性能要求不是一个量级,企业发展到一定程度就得关注性能,重视性能。
性能测试的价值就是保障系统的性能,提供良好的用户体验;尽可能地找出系统性能薄弱环节,帮助进行性能优化。

时间: 2025-01-19 12:07:55

《全栈性能测试修炼宝典 JMeter实战》—第2章 2.1节性能测试初体验的相关文章

《全栈性能测试修炼宝典 JMeter实战》—第1章 1.1节为什么选择软件测试

第1章 性能方向职业发展 全栈性能测试修炼宝典 JMeter实战 从本章你可以学到: 为什么选择软件测试 软件测试痛处 软件测试发展路线 不仅仅是性能测试 从招聘要求看岗位价值 性能测试技能树 市场上有各式各样的IT培训,其中门槛低易上手的就是软件测试.就业的学员通常都以功能手工测试为切入点,掌握一些基本测试理论,学会设计测试用例,能够操作缺陷管理工具,熟悉一些业务就可以开始测试工作了.大家觉得这样有技术含量吗?没有技术含量就容易被替代,你的职业就会有危机,有想过如何改变这种困境吗?下面先说说为

《全栈性能测试修炼宝典 JMeter实战》目录—导读

版权 全栈性能测试修炼宝典 JMeter实战 • 著 [美] Rogers Cadenhead 译 袁国忠 责任编辑 傅道坤 • 人民邮电出版社出版发行 北京市丰台区成寿寺路11号 邮编 100164 电子邮件 315@ptpress.com.cn 网址 http://www.ptpress.com.cn • 读者服务热线:(010)81055410 反盗版热线:(010)81055315 版权声明 全栈性能测试修炼宝典 JMeter实战 Rogers Cadenhead: Sams Teach

《全栈性能测试修炼宝典 JMeter实战》—第1章 1.6节性能测试技能树

1.6 性能测试技能树 下面细化一下性能测试所要掌握的知识,如图1-1所示. 1.6.1 测试工具 通过测试工具能提高测试软件开发速度,腾出时间专注于问题分析.主流工具有LoadRunner与JMeter,当然了,工具也不能解决所有问题,有时候还是需要自己编写程序来实现测试脚本.很多初学者认为这2个工具只能用来做性能测试,其实能做性能测试的工具也可以做功能自动化回归.API和UI测试等都可以实现.不是非得Selinum.WebDriver等才能做自动化测试. 常见难点 (1)用户和业务模型分析搭

《全栈性能测试修炼宝典 JMeter实战》—第1章 1.4节不仅仅是性能测试

1.4 不仅仅是性能测试 随着国内软件质量体系的健全,企业逐渐意识到软件测试质量不单单是满足功能流程顺畅就行,测试效率和用人成本的降低也是趋势,更要为软件的稳定和易用性等质量保障来提高产品黏性留住用户.可以这么说,一个成熟的大型产品必须有过关的性能测试把关,这不是一个简单的事情,从需求.架构.硬件.数据库.代码等层面都需要精心设计和测试. 那么如何提高职业技能和核心价值从而赚取更多的劳动报酬?后续测试的职业发展会碰到哪些问题,测试的捷径在哪里? 全栈一般是技术方面的领导者,需要涉猎广?懂得如何解

《全栈性能测试修炼宝典 JMeter实战》—第1章 1.7节本章小结

1.7 本章小结 本章我们讲解了测试职业的困境,测试职业发展方向. 科技是第一生产力,选择技术方向的从业者来说技术是第一生产力,不妨朝着全栈测试行进,可以先从性能测试入手,目前对性能测试工程师的要求就是全栈的要求,可以看到性能测试的招聘条件中往往都包含了测试开发,自动化开发要求,这充分说明了这个岗位对于测试的重要性.这样的技术要求决定了你在整个测试团队中必须是高能力者,至于工作回报自然丰厚. 同时IT是一个随着市场技术需求变化而变化的科目,性能测试的技术也是随之更新变化所以本书会逐步更新变化.我

《全栈性能测试修炼宝典 JMeter实战》—第2章 2.3节性能测试成功与失败要素

2.3 性能测试成功与失败要素 性能测试上手难度比较高,是一门融合测试.开发.运维.需求调研.架构.协调管理等综合技能的学科,掌握一门性能测试工具对于性能测试来说只是万里长征的第一步,没有一定的需求.开发和运维专业能力,往往会吃一些苦头. 性能测试有几大难点: (1)需求分析: (2)场景设计: (3)性能诊断调优. (4)环境搭建和模拟 往往很多性能测试从业者在需求分析方面没有做到位,不能准确地预估用户行为:在场景上不能复现用户操作,无法把需求体现在脚本和场景设计上,无法模拟真实的系统负载:这

《全栈性能测试修炼宝典 JMeter实战》—第1章 1.5节从招聘要求看岗位价值

1.5 从招聘要求看岗位价值 下面我们看一下性能测试及性能架构师/专家的招聘要求就可以知道职位对技术的要求范围与层次. 1.金融行业 案例一 上海 某金融平台性能安全工程师 任职资格: 熟悉数据库编程,能熟练操作至少一种数据库,如Oracle或MySQL: 精通LoadRunner.Jmeter等主流性能测试工具之一,熟练编写相应测试脚本,测试过复杂应用者尤佳: 深入了解HTTP.TCP/IP等网络协议,熟悉J2EE Web系统,熟练掌握多种中间件(Tomcat.Apache.Nginx.MQ等

《全栈性能测试修炼宝典 JMeter实战》—第2章 2.9节本章小节

2.9 本章小节 本章讲解了一些性能测试的基本理论,相信大家对性能测试已经有了一个初步认识.性能测试工作是一个综合学科:对技术要求高.广,也要求具备一定沟通能力,能够胜任这项工作. 性能测试的工作过程中要注意的关键点也比较多,首先要做好性能需要分析:不充足的性能需要分析直接导致性能测试工作失败.接着要做好用例及场景设计,尽可能复现实际负载,这样的执行工作才是可信赖的,可参考的.执行过程中要做好性能监控工作,为问题分析提供数据支撑. 本文仅用于学习和交流目的,不代表异步社区观点.非商业转载请注明作

《全栈性能测试修炼宝典 JMeter实战》—第2章 2.5节性能测试工具选择

2.5 性能测试工具选择 工欲善其事必先利其器,性能测试时模拟大量负载需要工具帮忙,市面上可供使用的负载工具繁多,如何选择呢? 首先我们要明白负载工具是帮助我们来模拟负载的,对于性能测试来说,工具并不是核心,分析.评估.找出性能问题才是核心,这些是主观因素:工具是客户因素,自然要降低其对结果的影响,所以工具选择时我们有几个方面要考虑. (1)专业.稳定.高效,比如Loadrunner,工业级性能负载工具. (2)简单易上手,在测试脚本上不用花太多时间. (3)有技术支持,文档完善,不用在疑难问题