【原创】时隔十年,再度审视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镜像系统,哪个项目需要做性能测试,再也不愁安装了,直接解压虚拟机,跑起来就可以了,给自己点个
【原创】时隔十年,再度审视Performance Testing,性能测试,Load Runner,和企业级性能测试解决方案的更多相关文章
- Difference Between Performance Testing, Load Testing and Stress Testing
http://www.softwaretestinghelp.com/what-is-performance-testing-load-testing-stress-testing/ Differen ...
- 脚本语言&& Performance Testing
watin: http://www.cnblogs.com/dahuzizyd/archive/2007/04/13/ruby_on_rails_windows_instatnrails_study_ ...
- Run Performance Testing Which Was Distributed To Multiple Test Agents
How to solve the VS installed machine cannot run performance testing by .testsettings file, which wi ...
- Performance Testing 入门小结
从事软件测试两年多了,一直在做功能测试.2016年计划学习Performance.今天,先把之前听过的同事session以及自己查阅的资料小结一下. 一.什么是性能测试 首先来说一下软件的性能是什么. ...
- Difference between Load / Stress / Performance Testing
Load and stress testing are subsets of performance testing. Performance testing means how best somet ...
- RabbitMQ Performance Testing Tool 性能测试工具
RabbitMQ Performance Testing Tool 介绍:https://www.rabbitmq.com/java-tools.html RabbitMQ Performance T ...
- Performance testing of web application
Testing the performance of web application is easy . It's easy to design unrealistic scenario . Easy ...
- Performance testing test scenarios
1 check if page load time is within acceptable range2 check page load on slow connections 3 check re ...
- Performance Testing
To test application performance, add rules using FiddlerScript to the OnBeforeResponse function (exc ...
随机推荐
- 小白windows上搭建linux环境
我使用的oracle VM VirtualBox,下载使用就好了 这是用的虚拟机,不是搭建linux系统,不用担心把电脑搞坏,游戏打不了 全程很简单,基本都是默认,下一步 下一步 默认下一步 创建 下 ...
- Python 字符串,元祖,列表之间的转换
1.字符串是 Python 中最常用的数据类型.我们可以使用引号('或")来创建字符串. 创建字符串很简单,只要为变量分配一个值即可.例如: var1 = 'Hello World!' 2. ...
- 【转载】Python第三方库资源
转自:https://weibo.com/ttarticle/p/show?id=2309404129469920071093 参考:https://github.com/jobbole/awesom ...
- mongodb 批量替换内容的语句
// 注意上面的集合要和下面的集合名称相同 db.rand_web_test.find( { 'content': /^.*要替换的字符串.*$/ } ).forEach( function (ite ...
- Http 协议学习
借助[小坦克:HTTP 协议教程] 1.HTTP协议是什么 协议是计算机在通信过程中必须共同遵守的规则,我的理解是类似所有汽车在行驶过程中必须共同遵守的交通规则一样. http协议叫超文本协议,是一种 ...
- k8s-kubectl命令大全
Kubectl命令行管理对象 类型 命令 描述 基础命令 create 通过文件名或标准输入创建资源. expose 将一个资源公开为一个新的Kubernetes服务. run 创建并运行一个特定的镜 ...
- Jmeter之HTTP配置元件
前言:在测试一个项目中,HTTP请求的IP.协议和默认编码等大多数情况下都是相同的.线程之间会相互调用/请求Cookie...... 所以,推荐添加这四个配置元件在所有请求之前.(BadBoy录制的脚 ...
- JS-数值转换
JS数值转换 JS数值转换的方式有4种:Number(),parseInt(),parseFloat(),数据类型*1或者/1. 他们的区别在于: 1.Number():可以将非数值转为数值 如果是B ...
- kbmMW 5.09测试报告(1)-Scheduler
这个版本除了增加新的SmartBinding功能,同时提供了大量的功能更新以及bug修正.其中,SmartBinding的介绍,xalion已经第一时间写了初识kbmmw 中的smartbind功能, ...
- (转)从斐波那契数列看Java方法的调用过程
斐波那契数列的定义: 斐波那契数列(Fibonacci sequence),又称黄金分割数列,因数学家列安纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔 ...