量体裁衣性能测试在企业中的应用(之一)[原创]
上一篇 / 下一篇 2008-07-05 20:24:07 / 个人分类:其他
一个估计有百万用户的门户网站代码编写完成了。进行功能测试,运行效果良好,项目组为此欢呼雀跃。在产品的演示会上,风险投资商提出了一个问题-“咱们这个网站能支持多少用户同时在线啊?”。整个会场寂静,一会儿,项目经理说:“我们还没有进行这方面的测试。”会场哗然……
%}_ g1WSsO:r*I0性能测试介绍
只进行功能测试,而不进行性能测试,对一个拥有百万用户的门户网站来说,无疑是一个天大的笑话。一个好的网站(软件)应该是性能稳定的,经的起考验的。那么什么是性能测试呢?
$E~ B'bZB2fo0u 性能测试的概念及种类51Testing软件测试网H5kz}7I7o
性能测试是为描述测试对象与性能相关的特征并对其进行评价,而实施和执行的一类测试。它主要通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。通常大家把性能测试、负载测试、压力测试统称为性能测试。51Testing软件测试网 @5G$Y0S}"}
负载测试-通过逐步增加系统负载,测试系统性能的变化,并最终确定在满足系统的性能指标情况下,系统所能够承受的最大负载量的测试。
N9IL5U(G0压力测试-通过逐步增加系统负载,测试系统性能的变化,并最终确定在什么负载条件下系统性能处于失效状态,并来获得系统能提供的最大服务级别的测试。
'[Dk_,{J7f+t.O~@0u 性能测试的工具介绍
F(~.A!g:w8c JWp0n 开源工具
IA{$X)RX0开源工具以其源代码开放、针对性强、小巧灵活多变、免费的特性吸引着越来越多的企业和个人投入到开源项目研发当中。IBM投资1000万的Eclipse无疑是最为吸引大家眼球的开源项目。伴随着开源项目的蓬勃发展,很多非常优秀的开源性能测试工具也纷纷出炉,如:Jmeter、OpenSTA、DBMonster、TpTest等。51Testing软件测试网4P#Oobba!_6C
工具名称 O1isDOn.?/B0 |
功能简介51Testing软件测试网?W"~l b3pey'G |
51Testing软件测试网kb@?.g"y$w3j Jmeter 6a0LjW)mGyKP0 |
51Testing软件测试网2T'io1E-{f#A:_3l&Z{ Jmeter可以完成针对静态资源和动态资源(Servlets, Perl脚本, Java对象, 数据查询, FTP服务等)的性能测试、可以模拟大量的服务器负载、网络负载、软件对象负载,通过不同的加载类型全面测试软件的性能、提供图形化的性能分析。 ICT HWjNQ/r0 |
4|8R)Rcn g.X7o0OpenSTA51Testing软件测试网`Cel5t"~.B |
51Testing软件测试网 ?x${(^\{ g OpenSTA可以模拟大量的虚拟用户、结果分析包括虚拟用户响应时间、web服务器的资源使用情况、数据库服务器的使用情况,可以精确的度量负载测试的结果。 k@U;_9h1B"]0 |
51Testing软件测试网M\8zwZ{5C6j
t,? DbMonster51Testing软件测试网'?~ G3y4V:P9r |
51Testing软件测试网&CV'U2?;[u DBMonster是一个生成随机数据,用来测试SQL数据库的压力测试工具。 ?-RJW2uL0 |
51Testing软件测试网y:q&F'^ce p2p TpTest -qe c fN5[?f0 |
K@0n$B7m7q6{0TPTest的提供测试Internet连接速度的简单方法。51Testing软件测试网0[? @"d|0e)R |
51Testing软件测试网XCAukV)l0T …… ,Ac3s/Q4mPU+?gIu\0 |
51Testing软件测试网.iT3]9\5O k ……51Testing软件测试网3N4P{N\4e h2{F |
表7-1:开源性能测试工具介绍51Testing软件测试网Pn@!g`&I n*c7B
n 商业工具
o B[ N.J1xNAi#~0商业工具以其界面美观、功能强大、操作方便、插件种类多、统计分析项丰富、直观,同时提供产品的定期或者不定期的升级以及技术支持服务等优势也广泛的应用于各个企业。目前比较流行的商业性能测试工具也非常多,如Mercury LoadRunner、IBM Rational Performance Tester(RPT)等工具。51Testing软件测试网3Wt'M:@g,sf
工具名称51Testing软件测试网k!p,n|d*\!\-@S |
功能简介 yC5DWS5b9m9z0k^1@0 |
51Testing软件测试网6d/tl%oSwj K Mercury LoadRunner C}~(KD&`0 |
51Testing软件测试网BH9V2BLJI0b Mercury LoadRunner 是一种预测系统行为和性能的工业级标准性能测试负载测试工具。通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner 能够对整个企业架构进行测试。支持Web(HTTP/HTML)Windows Sockets、File Transfer Protocol(FTP) 、Media Player(MMS) 、ODBC、MS SQL Server等协议。51Testing软件测试网I*S4h6U1Z1t |
51Testing软件测试网c:R8aw1G%n
a IBM Rational Performance Tester51Testing软件测试网lR|f a$W | |
51Testing软件测试网N3Z#]GR{\`fY 适用于团队验证 Web 应用程序的可伸缩性的负载和性能测试工具,引入了新的技术进行负载测试的创建、修改、执行和结果分析。 vXR1qW T#F+m0 |
51Testing软件测试网&mb G*K] …… ]"kC/HsI#v|0 |
R2X d%W~"H#N;X7ukG0……51Testing软件测试网RR#X#f!KA |
表7-2:商业性能测试工具介绍
!oUL0LF ^7K9R i0n 免费工具
2DTE@U_t:`0免费工具以其界面美观、免费使用、统计分析项较多、操作较方便等优点也吸引了很多
`HW ?h4iPu.ow0的企业应用这类软件,比较出名的免费性能测试工具有Microsoft Application Center Test、Microsoft Web Application Stress Tool。
$d9x!g VB8[?0
工具名称 9S%u)l9D*fO)W0 |
功能简介51Testing软件测试网2uH2F7}(Vta |
@6D Eb.|R+V jK$h0Microsoft Application Center Test }B3A(dl'O*iK2N:u0 |
51Testing软件测试网&cv*z#e Y ].Uv 它可以对 Web 服务器进行强度测试,分析 Web 应用程序(包括 ASPX 页及其使用的组件)的性能和可伸缩性问题。通过打开多个服务器连接并迅速发送 HTTP 请求,Application Center Test 可以模拟大量用户。 #@u?Vbq"K0 |
T/A$OHi8^)l0Microsoft Web Application Stress Tool51Testing软件测试网,beo_P#l)^;^FFM |
Vj0aIbG7o2f9Zhi0由微软的网站测试人员所开发,专门用来进行实际网站压力测试的一套工具。可以数种不同的方式建立测试指令:包含以手动、录制浏览器操作步骤、或直接录入IIS的记录文件、录入网站的内容及录入其它测试程序的指令等方式。 Ol3B7HNm.n0 |
Ag)fBeV0……51Testing软件测试网Q"?#P&X1\l`7Ik` |
{ g'~ [X8]0……51Testing软件测试网 `@sS BG8s~ |
表7-3:免费性能测试工具介绍51Testing软件测试网kirGa8Z-X[
性能测试在软件企业的应用
随着软件行业的不断发展,越来越多的企业更加重视产品的质量。性能测试已经成为软件质量保障的一个重要因素。一个软件性能的优劣很有可能直接决定一个软件的成败,甚至一个企业的兴衰。每个软件企业都有各自不同的应用领域,有着不同的实际情况,这样必然要求每个企业量体裁衣,选择适合自己的应用策略。
K['T9S0i4|:D0大型企业、大型项目的应用策略
g]0VV-M0大型企业应用的软件系统,业务比较复杂、用户数很多、存在并发情况、业务的响应时间、操作的实时性、稳定性、安全性、可恢复性等都要求很高。51Testing软件测试网i:w&ssjx
象银行、电信、铁路等大型企业一般通过CMMI、ISO等认证,企业拥有先进的管理模式、人员储备丰富、实力雄厚,在涉足的领域基本处于不可撼动的地位。这些行业对性能的要求很高。在此仅举一个铁路售票系统的例子:每逢春节、五一、十一,相信坐火车回家探亲或度假的朋友一定身有体会。在火车站、车票零售点,人海茫茫,一望无际,此时火车售票系统正在经受着巨大的性能考验。全市几百个售票网点同时紧张忙碌工作。售票过程一般分为两步,首先根据购票者提供的要出行的日期、车次和目的地进行相关查询,然后在有票的情况下,收取现金,打印出相应的车票交付给购票者。一个看起来简单的两个步骤,但当成百上千的终端同时执行时,情况就复杂了。如此众多的交易同时发生,对应用程序本身、操作系统、中心数据库服务器、中间件服务器、网络设备的承受力都是一个严峻的考验。由这些行业的性质决定了决策者不可能在发生问题后才考虑系统的承受力, 预见并发承受力, 是这些行业应该考虑的一个很重要的问题。51Testing软件测试网n-c\U)I
鉴于大型企业资金雄厚、管理规范、人员分工明确,笔者认为主要可以有两种方式解决大型企业的性能测试问题。