为什么进行性能测试?

2010-06-01  于帅 


cYT^3G^;H303244

51Testing软件测试网 a:^+A5Bf~R}qR?
     
目的是验证软件系统是否能够达到用户提出的性能指标,同时发现软件系统中存在的性能瓶颈,优化软件,最后起到优化系统的目的。51Testing软件测试网[1]SE ES+b)Se'L
51Testing
软件测试网Ae dS-W i­N M2@+y
Y B

     
包括以下几个方面51Testing软件测试网­n­M1k6\(vE{h
51Testing
软件测试网!ns
g\#e+a[1]S:T:fF

1
.评估系统的能力,测试中得到的负荷和响应时间数据可以被用于验证所计划的模型的能力,并帮助作出决策。
;TSQ o YP3032442
.识别体系中的弱点:受控的负荷可以被增加到一个极端的水平,并突破它,从而修复体系的瓶颈或薄弱的地方。
h0ql @R3032443
.系统调优:重复运行测试,验证调整系统的活动得到了预期的结果,从而改进性能。
5e${Tn9^&e6yo8[303244
检测软件中的问题:长时间的测试执行可导致程序发生由于内存泄露引起的失败,揭示程序中的隐含的问题或冲突。51Testing软件测试网8p"vWt7L/o?
4
.验证稳定性(resilience)可靠性(reliability):在一个生产负荷下执行测试一定的时间是评估系统稳定性和可靠性是否满足要求的唯一方法。51Testing软件测试网!Dibx0Y Y;a-A@0]
51Testing
软件测试网-xpj:A"~Z o
     
性能测试类型包括负载测试强度测试容量测试
HuKr-|f C%B3m5]z303244
?%E8T \w‑M303244     
负载测试:负载测试是一种性能测试指数据在超负荷环境中运行,程序是否能够承担。
hyQ'P5Co,Af303244
a2g
i­['`V j;B.C303244
     
强度测试: 强度测试是一种性能测试,他在系统资源特别低的情况下软件系统运行情况。
$l j`D\!r![/f30324451Testing
软件测试网 n[‑K­}5x)g
     
容量测试:确定系统可处理同时在线的最大用户数  
6U;\ }a&N*J N30324451Testing
软件测试网­B:G.G3o1~1G-ac
     
观察指标:51Testing软件测试网'Gmp5Cf8rQq

?U1[@ f#X k‑it303244     
性能测试主要是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于性能测试,两者可以结合进行。通过负载测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况。压力测试是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试。51Testing软件测试网 LO,@ w,v4N
51Testing
软件测试网7z'i A X3u%P.|
     
在实际中作中我们经常会对两种类型软件进行测试:bscs,这两方面的性能指标一般需要哪些内容呢?
8p
jg5G5s/S)D30324451Testing
软件测试网J}%zN^@7M
Bs
结构程序一般会关注的通用指标如下(简):
1D1B*eC*N&W30324451Testing
软件测试网 B:i%]9O6~-i1a Z5g
Web
服务器指标指标:51Testing软件测试网4`\Ym,t8lv$d

Q5t$o['I)uw­F303244* Avg Rps:
平均每秒钟响应次数=总请求时间 / 秒数;51Testing软件测试网'a#Y[1]?&UX rk e
51Testing
软件测试网­u+G\&L#Z4vU6a
* Avg time to last byte per terstion
mstes:平均每秒业务角本的迭代次数 ,有人会把这两者混淆;
F0R*~"Z­c @K[1]Np303244
s(pWSk EY.e303244* Successful Rounds
:成功的请求;51Testing软件测试网xRk n8p-Y/nr-R"CMm

!Z8l i#r0z1Q x]303244* Failed Rounds
:失败的请求;
~B#byY-f‑h(A*p4?S{30324451Testing
软件测试网LX%P$h&V]!E"^*M g
* Successful Hits
:成功的点击次数;51Testing软件测试网B[S
@ B*_

51Testing
软件测试网 Z#`*gF)I;^-z;p
* Failed Hits
:失败的点击次数;51Testing软件测试网D!}5OzJ j&z9@
51Testing
软件测试网wM$ek1usu x
* Hits Per Second
:每秒点击次数;
T&M'iz Q4IV:~+P30324451Testing
软件测试网FmTr)X1R/[)E2e
* Successful Hits Per Second
:每秒成功的点击次数;51Testing软件测试网YM'I'] Q|n[1]H Z

E[1]l5We;~e7o9b N303244* Failed Hits Per Second
:每秒失败的点击次数;51Testing软件测试网 FAQy+\­q
51Testing
软件测试网~ z^(Xr*} h
VvBP

* Attempted Connections
:尝试链接数;51Testing软件测试网4L2c#n(h[1]?O4@
51Testing
软件测试网 r+m|'Cb[7K
CS
结构程序,由于一般软件后台通常为数据库,所以我们更注重数据库的测试指标:51Testing软件测试网‑Z
nht `4]

51Testing
软件测试网-Hfl$hX7i
* User 0 Connections
:用户连接数,也就是数据库的连接数量;51Testing软件测试网]~(c'x$t NI

z+N a_ WpU&e303244* Number of deadlocks
:数据库死锁;
:s3n4h E {)FOk30324451Testing
软件测试网8S)z W9]$V j
* Butter Cache hit
:数据库Cache的命中情况
!W:K%L;}:i4h30324451Testing
软件测试网8V}_AV`%w
     
当然,在实际中我们还会察看多用户测试情况下的内存,CPU,系统资源调用情况。这些指标其实是引申出来性能测试中的一种:竞争测试。什么是竞争测试,软件竞争使用各种资源(数据纪录,内存等),看他与其他相关系统对资源的争夺能力。
!t-x%q'|7v303244
2c v%mE%M:m303244     
我们知道软件架构在实际测试中制约着测试策略和工具的选择。如何选择性能测试策略是我们在实际工作中需要了解的。一般软件可以按照系统架构分成几种类型:
n^N~‑{u1} f303244
n2n
D sM'G303244
c/s51Testing
软件测试网xV|#m-dyW
51Testing
软件测试网6L!nK&M _5H
client/Server
客户端/服务器架构
;l-i Q[1]P:Fa30324451Testing
软件测试网~jZL$KNg6V+_
基于客户端/服务器的三层架构
m/rM0L0~6Y303244
0iWH8^"R0z303244
基于客户端/服务器的分布式架构51Testing软件测试网#w e0g$wa­h
51Testing
软件测试网b g i(R I.ut
b/s51Testing
软件测试网C‑J(a L"Kf

$J!}/H-]­D-sJf303244
基于浏览器/Web服务器的三层架构51Testing软件测试网)t tYV r­z
51Testing
软件测试网c2I hD‑I)Y*v6mt4T#~
基于中间件应用服务器的三层架构l
5X­X!Z f(f/ja:z30324451Testing
软件测试网7?3P/|&w­Z ?
基于Web服务器和中间件的多层架构l

284°/2846 人阅读/0 条评论 发表评论

登录 后发表评论