lR RZt
of0 目的是验证软件系统是否能够达到用户提出的性能指标,同时发现软件系统中存在的性能瓶颈,优化软件,最后起到优化系统的目的。
_|t*x+}0
j(]
U*zF2O:J} r0 包括以下几个方面
51Testing软件测试网1@q_O)j*uK?a*i2G}Z'_X01.评估系统的能力,测试中得到的负荷和响应时间数据可以被用于验证所计划的模型的能力,并帮助作出决策。
51Testing软件测试网 l,g7g)Wa!J2.识别体系中的弱点:受控的负荷可以被增加到一个极端的水平,并突破它,从而修复体系的瓶颈或薄弱的地方。
51Testing软件测试网p[!J?JSh3.系统调优:重复运行测试,验证调整系统的活动得到了预期的结果,从而改进性能。
"b0i`OZ0检测软件中的问题:长时间的测试执行可导致程序发生由于内存泄露引起的失败,揭示程序中的隐含的问题或冲突。
#@^ao"Zc@04.验证稳定性(resilience)可靠性(reliability):在一个生产负荷下执行测试一定的时间是评估系统稳定性和可靠性是否满足要求的唯一方法。
7M3Q[h\0n/R'~*G ql"L0 性能测试类型包括
负载测试,
强度测试,
容量测试等
;h$gR6\-Im0S7HL0_
SW:KT0 负载测试:负载测试是一种性能测试指数据在超负荷环境中运行,程序是否能够承担。
}
Nmm-j-@k)Q04CFL)~f0 强度测试: 强度测试是一种性能测试,他在系统资源特别低的情况下软件系统运行情况。
51Testing软件测试网v/vp(Y$vLRRFJz51Testing软件测试网K4r7RoPK)h 容量测试:确定系统可处理同时在线的最大用户数
e7IlZ:JM(R$U9p0 g!lI4rBUxAN;k3r0 观察指标:
"x]l*VZ0.J:wI8| CVp6|e\0 性能测试主要是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。负载测试和
压力测试都属于性能测试,两者可以结合进行。通过负载测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况。压力测试是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试。
51Testing软件测试网g-Oa0ozd:n/?5Z_ p2K+hs+oJ:X0 在实际中作中我们经常会对两种类型软件进行测试:bs和cs,这两方面的性能指标一般需要哪些内容呢?
$?-upv]051Testing软件测试网f2D8N7h M7XBs结构程序一般会关注的通用指标如下(简):
YdL
EEt6I'[0:LT9cU!dPwV*o[0Web服务器指标指标:
51Testing软件测试网%lrQ:[`5Z6J4T(zb@Q\ NJ0* Avg Rps: 平均每秒钟响应次数=总请求时间 / 秒数;
51Testing软件测试网,@)v"gj7sK(X
dDvv/B t2[0* Avg time to last byte per terstion (mstes):平均每秒业务角本的迭代次数 ,有人会把这两者混淆;
51Testing软件测试网2cEB
Pka
V51Testing软件测试网+R/IcY\4\3J$l7X[* Successful Rounds:成功的请求;
L
Q+J(U } oBy0qD.[#J^+p#Fa0* Failed Rounds :失败的请求;
IFf\!N1T
\m
?051Testing软件测试网K!LL&oM B* Successful Hits :成功的点击次数;
51Testing软件测试网9RFu%Z5kDG:ZI:`"b4~K s0* Failed Hits :失败的点击次数;
51Testing软件测试网Xzn{y3K51Testing软件测试网r
{G!HV*k8moI* Hits Per Second :每秒点击次数;
f%v
Ji e051Testing软件测试网 Fu/qQIOu7o* Successful Hits Per Second :每秒成功的点击次数;
ut,q8L+Df7R051Testing软件测试网+T%fy;S)c* Failed Hits Per Second :每秒失败的点击次数;
51Testing软件测试网;xP d[-O
JG2B#huH5hm4@0* Attempted Connections :尝试链接数;
51Testing软件测试网.FnR*]2x.f7V|[YD.x0CS结构程序,由于一般软件后台通常为
数据库,所以我们更注重数据库的测试指标:
eL:K(CBG*l0:h9S1h[G\zw0* User 0 Connections :用户连接数,也就是数据库的连接数量;
8b1\6e!Z+pK051Testing软件测试网k5?i5E&[s"P* Number of deadlocks:数据库死锁;
51Testing软件测试网#l]L+ztz&S51Testing软件测试网I L.a2a(E,o* Butter Cache hit :数据库Cache的命中情况
51Testing软件测试网ibe,L/YL8UQu$oJ%~&[G7\#z,HF#I8D6?H8k0 当然,在实际中我们还会察看多用户测试情况下的内存,CPU,系统资源调用情况。这些指标其实是引申出来性能测试中的一种:竞争测试。什么是竞争测试,软件竞争
使用各种资源(数据纪录,内存等),看他与其他相关系统对资源的争夺能力。
\\!rk*h,vtn+]!}OJ5v051Testing软件测试网 un\X5Q#eP] 我们知道软件架构在实际测试中制约着测试策略和工具的选择。如何选择性能测试策略是我们在实际工作中需要了解的。一般软件可以按照系统架构分成几种类型:
51Testing软件测试网PM0~C3M51Testing软件测试网{B*N%sJ|
c%j#g-Hc/s
7`L2c5pha;x*F4D0Znxg5L0client/Server 客户端/服务器架构
51Testing软件测试网_jh%e$J.j8f@m^jzRE;w%G[P$\gc0基于客户端/服务器的三层架构
51Testing软件测试网]vCW#i8X51Testing软件测试网I2u{ F+h基于客户端/服务器的分布式架构
51Testing软件测试网!{h/}0v6es51Testing软件测试网7e]#cPWb/s
51Testing软件测试网1R9L VZe@7Fc'f2D3w
K5C0基于浏览器/Web服务器的三层架构
x(s
v1@'p/aK051Testing软件测试网:gM:Hl:?基于中间件
应用服务器的三层架构l
5Se!y6mbY1]0J051Testing软件测试网%mYMm&Z-i基于Web服务器和中间件的多层架构l