【原创】时隔十年,再度审视Performance Testing,性能测试,Load Runner,和企业级性能测试解决方案

软件测试入行是2006年,最先学习的测试工具囊括了QTP,Test Director,Load Runner,Rational Robot,Rational Performance;

那时的操作系统是2003 和 XP,Vista还用不起,微信还没诞生,QQ正壮年,嗯IE6正牛,Firefox也挺好的,Chrome还没听过呢;

那时我们没有云,没有虚拟化,没有笔记本,没有Mac,只有电脑城组装的单核AMD台式机(512MB内存);

当时软件测试工程师培训,需要缴纳2600的培训费,当时想那都是天价,一个月学校生活费才200块,现在想来好便宜呢。

感谢裸奔的蚂蚁带我们入行,让我们有了自食其力的能力,一口气干了十几年,成为测试行业里的老兵。

记得当时服务器都才2G内存,跑个IIS或Tomcat,也基本没有什么性能问题,性能测试都遇不到;

印象最深的是当时老师问我们,你们有认识懂AIX小机的人吗?他遇到了一个问题,开发出来的WEB应用,在PC服务器上跑的杠杠的,但换了AIX平台后,慢得跟蜗牛一样;

我们第一没接触过PC服务器和Windows 2003 Server,第二没接触过小型机,更没有接触过IBM的牛叉AIX系统;重点是不会性能测试。

 

随后2007年毕业开始第一份工作,工作中有幸接触公司的高大上项目,开始接触Windows 2003 R2 64位服务器IBM X3850,开始接触VMware workstation虚拟机,开始接触Webblogic 9,开始接触IBM AIX小型机,开始接触 Sybase 列存储数据库,Cognos BI报表和OLAP,MySQL集群,Oracle集群,开始接触数据挖掘,机器学习,时间序列,聚类,分类等数学和统计学知识。

接触的多了,慢慢的也就开始进行性能测试,记得在公司内自己512MB的台式机上执行Load Runner性能测试脚本,20个并发,就把1G内存测试服务器Tomcat整的慢糟糟,带我的师傅问我,你在干什么,服务器咋这么慢?我只是嘿嘿的笑,不敢说。

 

曾几何时,做性能测试,脚本录制,虚拟用户生成都得在自己的PC上完成,纵使用了3G内存的笔记本,千兆网卡,也很难模拟真实的网络并发访问,所以就了个笑话,测试供电局的企业门户Portal,我给物理机服务器测试完,说不能满足50并发发访问,需要扩容,但项目经理说你这测试的不准,比当前配置糟糕的多的虚拟机,跑起来都能撑得住500在线访问呢,我一时也是无言以对。

后来仔细想想,我的PC笔记本带宽爆满和硬盘访问速度,以及CPU使用率过高,都是造成测试不准确的原因。

随后就有小伙伴吸取了我的教训,在PC笔记本上录制和调试性能测试脚本,在另外的PC服务器上安装Load Generator来生成并发负载,以降低PC笔记本的测试影响,还原真实测试场景。

这也就有了后来我写的如何在AIX/Unix/Linux上安装Load Generator的文章https://www.cnblogs.com/xiaoTT/archive/2012/02/15/2352127.html

就在这样摸着石头过河的情况下,性能测试开展了5年多,也组建起了公司的性能测试小团队。

 

时间回到2019年,最近看到自己所在公司的性能测试架构,也算是开了眼界,Load runner的Load Generator组件,都已经使用Docker镜像了,可以随时在云端扩展,大大提升了性能测试的可信度和健壮性;另外基于Quality Center的控制中心,可以快速的的部署测试脚本,执行测试,并收集测试结果进行分析和报告。十多年前,没有按时按需付费发云资源,要做个测试真实比登天还难,就有了业界的说法,做性能测试,必须会安装Load runner,还要会处理各种安装错误,脚本录制错误,脚本执行错误;但是回头想想,自己也算是有脑子的,2010年开始,都是讲Loadrunner直接安装在Win2003 32位服务器上,并做成VMware镜像系统,哪个项目需要做性能测试,再也不愁安装了,直接解压虚拟机,跑起来就可以了,给自己点个👍。想想这应该是Docker的雏形吧,哈哈哈。

 

时下Load runner已经是12.60版本了,支持了IE,Chrome,Firefox等浏览器,安装和使用等错误也少多了,但性能测试却很少有人用Load Runner了。

去年接触到阿里云的性能测试组件PTS (Performance Test Suite),牛到的程度让我折服,它可以快速定制脚本,对接口URL,API,和系统功能进行性能测试,无需关注性能测试负载如何生成,只要你买了足够的测试时长License,秒级加压真的是不费吹灰之力,云解决方案就是这么牛🐂。

 

说到性能测试,不得不多说点感悟。有时性能测试就是单用户测试,比如当系统有性能缺陷时,一个用户都慢,还用Loadrunner去压吗?答案是肯定的,不用,用的工具可以是HTTP Watcher或Fiddler这样的小工具,去研究每个请求的耗时;也可以像当年的QQ空间一样,自己在程序里写计时器,加探针,当展现慢点时候,提示用户降低显示点酷炫程度,来保证正常使用。

 

企业级性能测试,主要解决点是企业内所有开发出软件产品、项目的性能问题,或规避性能问题。开发过程中可以进行强制要求,进行组件级别的性能测试评估;上线后进行性能评估和探针探测;运行一段时间后,进行探针数据收集和分析,再进行数据量、访问量、访问规律等多方面的分析,评估和规避性能瓶颈。

企业级的性能团队,更注重的是防御,调优,而不是测试本身,测试不能解决问题,但测试可以帮助找出方向。

 

性能测试任重道远,需要有兴趣的同仁一起参与和学习,愿国产软件和解决方案可以更加出色,解决软件工程领域的燃眉之急。

 

posted @ 2019-08-11 23:52  田超  阅读(454)  评论(0编辑  收藏  举报