一个估计有百万用户的门户网站代码编写完成了。进行功能测试,运行效果良好,项目组为此欢呼雀跃。在产品的演示会上,风险投资商提出了一个问题-“咱们这个网站能支持多少用户同时在线啊?”。整个会场寂静,一会儿,项目经理说:“我们还没有进行这方面的测试。”会场哗然……
性能测试介绍
只进行功能测试,而不进行性能测试,对一个拥有百万用户的门户网站来说,无疑是一个天大的笑话。一个好的网站(软件)应该是性能稳定的,经的起考验的。那么什么是性能测试呢?
u 性能测试的概念及种类
性能测试是为描述测试对象与性能相关的特征并对其进行评价,而实施和执行的一类测试。它主要通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。通常大家把性能测试、负载测试、压力测试统称为性能测试。
负载测试-通过逐步增加系统负载,测试系统性能的变化,并最终确定在满足系统的性能指标情况下,系统所能够承受的最大负载量的测试。
压力测试-通过逐步增加系统负载,测试系统性能的变化,并最终确定在什么负载条件下系统性能处于失效状态,并来获得系统能提供的最大服务级别的测试。
u 性能测试的工具介绍
n 开源工具
开源工具以其源代码开放、针对性强、小巧灵活多变、免费的特性吸引着越来越多的企业和个人投入到开源项目研发当中。IBM投资1000万的Eclipse无疑是最为吸引大家眼球的开源项目。伴随着开源项目的蓬勃发展,很多非常优秀的开源性能测试工具也纷纷出炉,如:Jmeter、OpenSTA、DBMonster、TpTest等。
工具名称 | 功能简介 |
Jmeter | Jmeter可以完成针对静态资源和动态资源(Servlets, Perl脚本, Java对象, 数据查询, FTP服务等)的性能测试、可以模拟大量的服务器负载、网络负载、软件对象负载,通过不同的加载类型全面测试软件的性能、提供图形化的性能分析。 |
OpenSTA | OpenSTA可以模拟大量的虚拟用户、结果分析包括虚拟用户响应时间、web服务器的资源使用情况、数据库服务器的使用情况,可以精确的度量负载测试的结果。 |
DbMonster | DBMonster是一个生成随机数据,用来测试SQL数据库的压力测试工具。 |
TpTest | TPTest的提供测试Internet连接速度的简单方法。 |
…… | …… |
表7-1:开源性能测试工具介绍
n 商业工具
商业工具以其界面美观、功能强大、操作方便、插件种类多、统计分析项丰富、直观,同时提供产品的定期或者不定期的升级以及技术支持服务等优势也广泛的应用于各个企业。目前比较流行的商业性能测试工具也非常多,如Mercury LoadRunner、IBM Rational Performance Tester(RPT)等工具。
工具名称 | 功能简介 |
Mercury LoadRunner | Mercury LoadRunner是一种预测系统行为和性能的工业级标准性能测试负载测试工具。通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner 能够对整个企业架构进行测试。支持Web(HTTP/HTML)Windows Sockets、File Transfer Protocol(FTP) 、Media Player(MMS) 、ODBC、MS SQL Server等协议。 |
IBM Rational Performance Tester | 适用于团队验证 Web 应用程序的可伸缩性的负载和性能测试工具,引入了新的技术进行负载测试的创建、修改、执行和结果分析。 |
…… | …… |
表7-2:商业性能测试工具介绍
n 免费工具
免费工具以其界面美观、免费使用、统计分析项较多、操作较方便等优点也吸引了很多
的企业应用这类软件,比较出名的免费性能测试工具有Microsoft Application Center Test、Microsoft Web Application Stress Tool。
工具名称 | 功能简介 |
Microsoft Application Center Test | 它可以对 Web 服务器进行强度测试,分析 Web 应用程序(包括 ASPX 页及其使用的组件)的性能和可伸缩性问题。通过打开多个服务器连接并迅速发送 HTTP 请求,Application Center Test 可以模拟大量用户。 |
Microsoft Web Application Stress Tool | 由微软的网站测试人员所开发,专门用来进行实际网站压力测试的一套工具。可以数种不同的方式建立测试指令:包含以手动、录制浏览器操作步骤、或直接录入IIS的记录文件、录入网站的内容及录入其它测试程序的指令等方式。 |
…… | …… |
表7-3:免费性能测试工具介绍