《LoadRunner性能测试巧匠训练营》——第1章 与性能测试的亲密触碰1.1 性能测试的作用以及重要性

第1章 与性能测试的亲密触碰

性能测试的挑战性和趣味性小白早有耳闻,也会经常听到各个公司因为系统性能而引发的一系列严重问题,所以性能测试会越来越受到重视,只是时间的问题。下面就让我们和小白先来了解下性能测试的趣事,再一同学习性能测试的基本知识。

1.1 性能测试的作用以及重要性

随着社会的发展,用户对产品的要求也越来越高,以前可能看重功能方面,现在正在逐步转变为性能方面,同时各大公司也加强了产品的性能测试,因为从这几年发生的事件来看,性能带来的严重问题以及损失不容忽视,而性能测试的重要性也不言而喻。
1.1.1 由性能引发的严重问题
小白印象中由性能引发的严重问题历历在目,大部分都是由于没有做性能测试、性能测试做得不充足或者对并发以及流量的预估不正确导致。
【案例1】2008年的奥运会票务系统,由于庞大的订票人数超出预期,奥运票务系统“开工”后不久便陷入“瘫痪”状态,当时对外公布的是奥运票务系统每小时能处理15万张门票的销售,以及承担每小时100万次以上的网上浏览量,但10月30日系统死机前每小时的网上浏览量达到800万,1小时售出的票也达到了20万张。由于预估工作的缺陷,导致很多人无法通过网络订到自己想要的票,影响了很多人的热情,也损害了国家形象。
【案例2】作为电商的代表,2009年11月22日,eBay网站出现死机,导致卖家至少损失了当日销售额的80%,原因是那年圣诞临近时,eBay网站上有超过2亿件待售商品,这个数字比上一年同期多出33%,正是这激增的33%的待售商品导致eBay网站不堪重负而死机,80%的销售额对于eBay来说不可谓不严重。
【案例3】魔兽世界在中国的代理商由九城变更为网易,与九城服务器经常死机不无关系,但是换作网易后,服务器也经常死机。2010年10月11日,魔兽世界服务器故障时,官网论坛上的游戏玩家纷纷发“贺词”表示不满,从这可以看出网易公司对魔兽世界的性能预估存在不足。也正是因为对性能严重忽视间接导致了九城在失去魔兽世界之后,从一家土豪公司成了一家几乎被人遗忘的公司。
【案例4】视频网站优酷网也在2010年发生死机事件,超过3小时无法访问。优酷对外宣称的原因是:此次死机事件起源于“地球一小时”活动,优酷网为响应这次活动,全站采用关灯模式,意在借此提醒网民注重环保与节约。但此举令网友一时无法适应,大量网友频繁刷新页面导致优酷网服务器崩溃。
【案例5】2010年,中国最大的微博平台新浪微博死机4小时,新浪官方解释说:之所以掉线几小时,是因为用户增长超出预期,服务器备感压力。自上午10点起,用户无法登录,新浪的报错页面几次更改,最初的“微博正在升级,将于11:30恢复”,然后改为“12:00恢复”,过了一段时间,干脆改为“稍后恢复”,然而,估计是看不到恢复希望,提示信息又改为“微博系统压力过大正在抢修,我们深表歉意”。悲剧的是“歉意”竟然写成了“谦意”,这件事遭到网友的大量恶搞,小白也是参与者之一。
1.1.2 性能测试的重要性以及必要性
根据2008年Aberdeen Group的研究报告表明,Web网站1s的页面加载延迟相当于少了11%的PV,相当于降低了16%的顾客满意度。如果从金钱的角度计算,就意味着:如果一个网站每天挣10万元,那么一年下来,由于页面加载速度比竞争对手慢1s,可能导致总共损失25万元的销售额。
Compuware公司分析了超过150个网站和150万个浏览页面,发现页面响应时间从2s增长到10s,会导致38%的页面浏览放弃率。
Radware也曾发布一份题为“行业现状:2013年春季电商页面速度与Web性能”的调查报告。报告指出,仅一年时间内,美国前2000家领先的在线零售商网站的加载时间较去年同期减慢了22%,网站性能急剧下降,用户体验质量大幅下降。对网站回访率、跳出率、客户满意度及在线收入等多个关键业务指标的影响越来越大,对在线零售商而言,网站加载速度已经成为制约其发展的重要因素,提升Web性能已经刻不容缓。
2014年中国电子商务研究中心发布对电商网站的调查报告,报告中指出用户对网站响应时间的要求很严苛,期望立刻做出响应的占90%,期望5min内做出响应的占10%。
从上面的研究分析再结合小白印象中列举的例子可以看出,性能测试非常重要也非常必要,因为性能问题不仅仅会损害公司的形象,也会造成公司资金方面的损失。
1.1.3 什么系统需要做性能测试
小白刚接触到“什么系统需要做性能测试”这个问题的时候,心里在想应该是大型的系统、软件才需要做性能测试,如果只是几个人用就没有必要了。可仔细想想,小白觉得应该是所有系统、软件都应该做性能测试,关键是要思考应该做到什么程度,而不是做不做的问题。因为就算是一个人在使用某个系统,但该系统的查询性能极差,一次查询需要50多秒钟,这绝对是任何人都难以接受的。
接着小白对现有的系统进行了分类,大致分为单机系统、C/S、B/S。这3类系统都应该进行性能测试,只是每个分类有各自特点,在实际测试中应该有不同策略进行应对。
一般C/S架构的应用程序更关注于系统资源使用情况、数据库性能以及运行的配置要求等。例如,内存、用户连接数、数据库死锁、数据库cache命中率、运行的最低配置等。
而对于B/S架构的应用程序,会关注Web服务器的相关指标,如每秒点击数、吞吐量、尝试连接数、事务成功率等。
如下几个案例分别针对典型的系统进行了说明。
【案例1】假设使用Word来编辑一个1 000多页的文档,该文档包含了丰富的图表、图片,需要等待系统花多少秒的时间进行处理。这时需要关注性能响应。
【案例2】某业务系统属于二次开发,之前没有做过性能测试,当并发100个用户时就会造成数据库服务器崩溃。这是很明显的性能问题。
【案例3】某企业内部信息系统,使用人比较少,但并发时会出现重复的相同记录。这种场景很难在功能测试时出现,所以有时候性能测试并不是只能发现性能问题。
【案例4】面向广大互联网人群的网站,每天都需要接受大量的访问请求,服务器压力大,对这样的系统进行性能测试是十分必要的。
其中B/S架构的系统会比较复杂,小白接到的正好是B/S的项目,看来这下需要学习一番了。
1.1.4 性能测试的目的
很多第一次接触性能测试的人都会把功能测试的思想带入,造成思维的局限。其实性能测试还是与功能测试有所不同的。性能测试更加关注系统的性能表现,也就是How fast和How much。而做性能测试就是排除系统瓶颈,使得它表现得更好、更霸气。可以从以下几个方面来理解。
1)评估当前系统。系统未做过任何性能测试,对系统的当前性能情况不了解,就好像没有体检过就不知道自己的身体状况一样。而此前说到的一系列性能引发的严重问题也正是由于缺少了必要的性能评估而导致。
2)寻找瓶颈,优化性能。常见的现象为,某业务操作响应时间很长、某系统上线一段时间后运行越来越慢,这些都需要逐步分析定位并调优。
3)预测未来性能。当用户数和业务量增加时能否及时应对?如何调整?是增加应用服务器,还是数据库服务器?还是要优化代码逻辑?这一系列问题都值得我们深思,这也是性能测试的目的所在。回想1.1.1节中的eBay不就是最好的例子吗。

时间: 2024-08-08 21:42:27

《LoadRunner性能测试巧匠训练营》——第1章 与性能测试的亲密触碰1.1 性能测试的作用以及重要性的相关文章

《LoadRunner性能测试巧匠训练营》—— 导读

前 言 国内软件测试行业人才缺口已突破20万,并随着需求的不断攀升而挺向30万大关.据悉,国外成熟软件企业,一个软件开发工程师对应1-2个软件测试工程师,而国内软件企业,平均8个软件开发工程师才对应1个软件测试工程师,比例严重失衡.国内测试行业在这一点上与国外的差距比较大.实际上,为了保证软件质量,从项目开始测试人员就要介入,要了解客户需求,参与项目评审,把握测试要点.如果测试人员数量少,软件质量是得不到保证的.测试行业的确需要大量人才,尤其是在性能测试方面有丰富测试经验的人才更加稀缺. 另一方

《LoadRunner性能测试巧匠训练营》——第2章 LoadRunner VuGen实战2.1 LoadRunner快速安装

第2章 LoadRunner VuGen实战 经过上面的学习,小白已深入理解了性能测试,接下来小白需要通过一个性能测试工具来引导他动手实践,毕竟实践才是王道. 经过查找资料,小白发现性能测试工具貌似比较多,但LoadRunner是目前比较流行的,所以小白决定先学习最流行的性能测试工具.下面就和小白一起来见识下LoadRunner 11的强大功能吧! 2.1 LoadRunner快速安装 在Windows下安装软件一般都是4个步骤:下载.安装.配置.验证.小白到HP的官网找到了LoadRunner

《LoadRunner性能测试巧匠训练营》——1.6 本章小结

1.6 本章小结 通过本阶段的学习,小白深入理解了性能测试的作用.重要性以及意义,同时掌握了重要的术语.概念.指标,并把这些知识应用到实际生活场景中,经过深刻学习产出了两个经典模型.虽然第1章为基础知识,但对于学习整体的性能测试知识尤为重要,如果不能很好地理解和掌握这些基础,后续的学习将会变得凌乱不堪,这也是很多读者最容易犯的错误,切忌不要浮躁!接下来小白将学习现在十分流行的商业性能测试工具LoadRunner,他又会遇到什么问题呢?让我们继续往下看吧.

《LoadRunner性能测试巧匠训练营》——2.8 本章小结

2.8 本章小结 通过这段时间的学习,小白已经熟练地掌握了LoadRunnerA的VuGen使用,并能把常用的技术点与技巧很好地运用到项目实战中.回顾来看,VuGen的功能还是蛮强大的,从编写到调试再到细微的设置,不愧为传说中性能测试的"神器",也更加坚定了小白继续学习的信心.在高兴之余,小白也认识到很多事情是可以遵循步骤规则的,就像脚本的编写开发.小白也体会到只有总结.梳理学到的知识,才能让自己的头脑变得更清晰,从而不至于毫无头绪地抓狂.下一章小白将学习LoadRunner的第二大组

《LoadRunner性能测试巧匠训练营》——3.4 本章小结

3.4 本章小结 通过这段时间的学习,小白已经掌握了Controller中的关键要领,从场景的设计到监控,以及重要指标的分析都可以熟练完成,也算完成了第二个里程碑的学习,虽然心里很高兴,但也感受到了压力,需要补充学习的知识太多了.在本章的学习中,读者要注意灵活处理,很多东西并不是唯一的,没有对错之分,需要根据自己实际业务灵活调整与试验,切勿死板.下次小白将以实战方式学习LoadRunner的第三大组件Aanlysis并进行数据图表分析,让我们一起期待吧.

《LoadRunner性能测试巧匠训练营》——第3章 LoadRunner Controller实战 3.1 Controller介绍

第3章 LoadRunner Controller实战 结束了LoadRunner学习的第一个里程碑,小白马不停蹄地开始了第二个里程碑的学习,那就是LoadRunner的Controller组件. 3.1 Controller介绍 Controller可谓是LoadRunner的"心脏",承担着多种工作任务.最常见的就是场景的设计.压力机的部署.脚本调度.监控以及数据收集.Controller的工作原理是,通过场景设计来模拟用户的真实操作并调用VuGen中的脚本,再通过设置的压力机产生

《LoadRunner性能测试巧匠训练营》——2.4 脚本编写实战

2.4 脚本编写实战 知识的学习都是从易到难的,所以小白选择了最简单的场景.以提前注册好的用户名besttest,密码123123完成登录.退出的业务.别小看这么简单的场景,也许你也和小白一样遇到了不少问题呢. 通过"开始"菜单下的HP LoadRunner →Application→Virtual User Generator打开并新建一个空白的Web(HTTP/HTML)协议的脚本,首次会出现Task视图界面,如图2-8所示. 初学者可按照图2-8中的步骤学习.因为这里不使用此视图

《LoadRunner性能测试巧匠训练营》——2.7 VuGen使用技巧

2.7 VuGen使用技巧 至此,小白可以松口气了,常规的录制.放回.设置.脚本编写已经完全掌握了,终于达到了一个里程碑,值得庆祝.不过闲不住的小白还是想利用休息时间继续看看LoadRunner的VuGen中的各种功能.2.7.1 协议嗅探 Portocol Advisor(协议嗅探)功能是LoadRunner 11中的新增功能,只是为了给大家选择协议时提供参考意见而已,这个功能不能全信,只是在我们没有头绪时,可以参考嗅探出的协议.协议嗅探使用步骤如下. 1)单击菜单File→Protocol→

oadRunner性能测试巧匠训练营》——2.2 LoadRunner组成与示例程序

2.2 LoadRunner组成与示例程序 完成LoadRunner的安装后,小白迫不及待地想试试这个软件的威力如何.下面就跟随小白继续学习吧. Loa dRunner的三大组件 LoadRunner由三大基本组件构成,分别是VuGen.Controller.Analysis.那这三个组件的作用如下. VuGen:是录制与编写脚本的地方,就是通过录制或编写脚本来模拟用户的行为,可以理解为用户行为模拟器,同时会打印出日志信息,方便调试脚本.VuGen也是一个集成开发调试环境,在这里完成脚本开发并调