uH;V4jUA^Sje.R303244 在每种不同的系统架构的实施中,开发人员可能选择不同的实现方式,造成实际情况纷繁复杂。我们不可能对每种技术都详细解说,这里只是介绍一种方法提供给你如何选择测试策略,从而帮助分析软件不同部分的性能指标,进而分析出整体架构的性能指标和性能瓶颈。51Testing软件测试网 _J6u,ZiE9v
51Testing软件测试网 W.Z tl'O
由于工程和项目的不同,所选用的度量,评估方法也有不同之处。不过仍然有一些通用的步骤帮助我们完成一个性能测试项目。步骤如下
I${MU*z7yIt30324451Testing软件测试网+vk W7m g
1. 制定目标和分析系统
-M#g8E8^[~`'w/xv3032442. 选择测试度量的方法
#}1Vf S5@#Z2E!_3032443. 学习的相关技术和工具
't+lLB_3032444. 制定评估标准51Testing软件测试网+wK~ Pi,Y8|W1^m
5. 设计测试用例
+RG fF4pq+GD&z7?K3032446. 运行测试用例51Testing软件测试网BV%m0@8} g
7. 分析测试结果
3v ] lU g0~0hw303244
sqxh-u%Ru303244·制定目标和分析系统51Testing软件测试网,[ h,z{"n3?]
CRYtEAh303244 每一个性能测试计划中第一步都会制定目标和分析系统构成。只有明确目标和了解系统构成才会澄清测试范围,知道在测试中要掌握什么样的技术。
(J S-x.[F'K303244
@/J\h4kfw? @X303244目标:
M9S?P o:T%f303244
d.J N[2CL3K6P3032441. 确定客户需求和期望
)W!z _\5E)s#kOK-V303244
K-bW+s3eE@3032442. 实际业务需求
)P|a;Ym{m{Tm303244
;}!G1f1FbO3032443. 系统需求51Testing软件测试网WQ$oyIV3l]_?x
51Testing软件测试网dE|6c#j5W|
系统组成51Testing软件测试网 A7_:_ boIS
2h+X'O$T+Pz+k4^5L~%G303244 系统组成这里包含几方面含义:系统类别,系统构成,系统功能等。了解这些内容的本质其实是帮助我们明确测试的范围,选者适当的测试方法来进行测试。
-O'o8b$T3iU9z6}7T303244
8W2X1[,s/li dA;o303244 系统类别:分清系统类别是我们掌握什么样的技术的前提,掌握相应技术做性能测试才可能成功。例如:系统类别是bs结构,需要掌握 http协议,java,html等技术 。或者是cs结构,可能要了解操作系统,winsock,com等。所以甄别系统类别对于我们来说很重要。51Testing软件测试网dnh X\q,V5u
51Testing软件测试网|i:XUSa}
系统构成:硬件设置,操作系统设置是性能测试的制约条件,一般性能测试都是利用测试工具模仿大量的实际用户操作,系统在超负荷情形下运作。不同的系统构成性能测试就会得到不同的结果。51Testing软件测试网o:mt_:g
o)B'@sJm5[ D303244 系统功能:系统功能指系统提供的不同子系统,办公管理系统中的公文子系统,会议子系统等,系统工能是性能测试中要模拟的环节,了解这些是必要的。51Testing软件测试网m.m&P6]s3U&U
51Testing软件测试网@{+u`bQJr
·选择测试度量的方法51Testing软件测试网bZ.?'_&M
51Testing软件测试网1G!\ a'o#l$`
经过第一步,将会对系统有清醒的认识。接下来我们将把精力放在软件度量上,收集系统相关的数据。51Testing软件测试网)uN],d QGQ8L
51Testing软件测试网(@/u;?;eX,`J
度量的相关方面:51Testing软件测试网l(Nc }7K4t
51Testing软件测试网Ss7s*bZ*b5O.p![+zi:o
* 制定规范51Testing软件测试网 A$r"sw+z[
%J!I ?gJP303244* 制定相关流程, 角色,职责51Testing软件测试网1vz"cge4woq;F
51Testing软件测试网\YO*x?8`1W
* 制定改进策略
Va+xi7e30324451Testing软件测试网^!@2G/|Da0s o*S0?8q r1q
* 制定结果对比标准51Testing软件测试网:bd7~cf?4~
%\p7|YL/Q303244·学习的相关技术和工具
&wH2iz'S/H7N"Kf'D30324451Testing软件测试网 c j VL}*w lV
性能测试是通过工具,模拟大量用户操作,对系统增加负载。所以需要掌握一定的工具知识才能进行性能测试。大家都知道性能测试工具一般通过winsock, http等协议纪录用户操作。而协议选择是基于软件的系统架构实现(web一般选择http协议,cs选择winsock协议),不同的性能测试工具,脚本语言也不同,比如rational robot中vu脚本用类c语言实现。51Testing软件测试网L KWt}'nKdwg
K7}0ubg;T;G303244 开展性能测试需要对各种性能测试工具进行评估,因为每一种性能测试工具都有自身的特点,只有经过工具评估,才能选择符合现有软件架构的性能测试工具。确定测试工具后,需要组织测试人员进行工具的学习,培训相关技术。51Testing软件测试网!hH3h,o!d3f2q BYav.J
51Testing软件测试网T)\$d_(?i1h.k
·制定评估标准51Testing软件测试网G&E.{D/~2B9Tt
F{[Bw(]zuKu303244 任何测试的目的都是确保软件符合预先规定的目标和要求。性能测试也不例外。所以必须制定一套标准。51Testing软件测试网F-gB'^(q9klF
6c2[rk$u M(Y303244 通常性能测试有四种模型技术可用于评估:
2lX%EUW30324451Testing软件测试网|DA8P(k'g9c o6q
*线性投射:用大量的过去的,扩展的或者将来可能发生的数据组成散布图,利用这个图表不断和系统的当前状况对比。
#P m*p0jAw Rc30324451Testing软件测试网x Hsc'o
*分析模型:用排队论公式和算法预测响应时间,利用描述工作量的数据和系统本质关联起来
e:q1RuN5tA*J.SH303244
-^m xS.m303244 *模仿:模仿实际用户的使用方法测试你的系统51Testing软件测试网:i qbGv O$~j
)QR k nv/t-Y303244 *基准:定义测试和你最初的测试作为标准,利用它和所有后来进行的测试结果进行对比51Testing软件测试网+Pp'M7Y)XU7}3H
51Testing软件测试网lk{ Z'|A
·设计测试用例
2{2A0P8p| JB/I4k303244
&e'bf:](Dd&E*Z+H)mg6^303244 设计测试用例是在了解软件业务流程的基础上。设计测试用例的原则是受最小的影响提供最多的测试信息,设计测试用例的目标是一次尽可能的包含多个测试要素。这些测试用例必须是测试工具可以实现的,不同的测试场景将测试不同的功能。因为性能测试不同于平时的测试用例,尽可能把性能测试用例设计的复杂,才有可能发现软件的性能瓶颈。
a,z%x'j)hm.YQ2W30324451Testing软件测试网0a&K9j]h1~3p?
·运行测试用例51Testing软件测试网 { l0]A%vM
:kTANk/sE303244 通过性能测试工具运行测试用例。同一环境下作的性能测试得到的测试结果是不准确的,所以在运行这些测试用例的时候,需要用不同的测试环境,不同的机器配置上运行。51Testing软件测试网t9E$Cz$sO
51Testing软件测试网!V+gV#]Z6j2U
·分析测试结果
Uskt R8m'[,x'ig [q2u30324451Testing软件测试网!s9^:rM0ce&A D
运行测试用例后,收集相关信息,进行数据统计分析,找到性能瓶颈。通过排除误差和其他因素,让测试结果体现接近真实情况。不同的体系结构分析测试结果的方法也不同,bs结构我们会分析网络带宽,流量对用户操作响应的影响,而cs结构我们可能更关心会系统整体配置对用户操作的影响。