51Testing软件测试网}T.a0Sf 在每种不同的系统架构的实施中,开发人员可能选择不同的实现方式,造成实际情况纷繁复杂。我们不可能对每种技术都详细解说,这里只是介绍一种方法提供给你如何选择测试策略,从而帮助分析软件不同部分的性能指标,进而分析出整体架构的性能指标和性能瓶颈。
51Testing软件测试网 ? CD'rd.py9Vc0zPSER1N5k6|L0 由于工程和项目的不同,所选用的度量,评估方法也有不同之处。不过仍然有一些通用的步骤帮助我们完成一个性能测试项目。步骤如下
_Q2d
]9ASMs\gQR051Testing软件测试网fh-Rh4OqD*}d e{i1. 制定目标和分析系统
IP&g3H}Q,N}02. 选择测试度量的方法
Lz*@9p5g'^,Rs03. 学习的相关技术和工具
9|fv#uk AX*f:h@04. 制定
评估标准51Testing软件测试网4K"y F S!a:t~5.
设计测试用例B!xj3C9Q+A"J%w06.
运行测试用例t5gnh!G
h$a07.
分析测试结果i(}#ZQX]051Testing软件测试网
s$DU!Q0Jt;t·制定目标和分析系统
t9b*z2l1o ]9l051Testing软件测试网YexE3D4pT 每一个性能测试计划中第一步都会制定目标和分析系统构成。只有明确目标和了解系统构成才会澄清测试范围,知道在测试中要掌握什么样的技术。
51Testing软件测试网}"C:?SWZ`%l:l*J
H`VnV*D0目标:
51Testing软件测试网Lte/@C#[0z?(Instj01. 确定客户需求和期望
R tcd4xj#Ix;}0+aI\,g2Lv\%q]02. 实际业务需求
t |wg+f3i0l6V}/cjm N[iS"A~03. 系统需求
`7oi}SZ9b051Testing软件测试网V!U5]6fH&Ca系统组成
#o7U-J p(f^Q)A051Testing软件测试网O%C(F.T.A3f 系统组成这里包含几方面含义:系统类别,系统构成,系统功能等。了解这些内容的本质其实是帮助我们明确测试的范围,选者适当的测试方法来进行测试。
51Testing软件测试网'Gfz-|UY
[4o9?\a
Dr \.|j0 系统类别:分清系统类别是我们掌握什么样的技术的前提,掌握相应技术做性能测试才可能成功。例如:系统类别是bs结构,需要掌握 http协议,java,html等技术 。或者是cs结构,可能要了解操作系统,winsock,com等。所以甄别系统类别对于我们来说很重要。
51Testing软件测试网s3LH-Tdlcn9it*Z%{Qn*]"L?0 系统构成:硬件设置,操作系统设置是性能测试的制约条件,一般性能测试都是利用测试工具模仿大量的实际用户操作,系统在超负荷情形下运作。不同的系统构成性能测试就会得到不同的结果。
51Testing软件测试网1Y l3pH-R#e*~:|Kg:ge
O%U5H0 系统功能:系统功能指系统提供的不同子系统,办公管理系统中的公文子系统,会议子系统等,系统工能是性能测试中要模拟的环节,了解这些是必要的。
51Testing软件测试网5]-G1tcG]p+Q{1Uf0·选择测试度量的方法
51Testing软件测试网?!F3U5Yp51Testing软件测试网-}F3?!`_\+R~?经过第一步,将会对系统有清醒的认识。接下来我们将把精力放在
软件度量上,收集系统相关的数据。
51Testing软件测试网*VKC${SIkIi"s[a.{X'O0度量的相关方面:
51Testing软件测试网9qwSW!Uw~zo51Testing软件测试网/mn~/X D]'~* 制定规范
51Testing软件测试网 B&S4H'`WVl5pQ51Testing软件测试网o1Ol%N*f'w5Y* 制定相关流程, 角色,职责
51Testing软件测试网5T
r:fy9b4hn)};|.SuB%{0* 制定改进策略
51Testing软件测试网YEqmdZ UM8`51Testing软件测试网L5hh)YWGyN* 制定结果对比标准
51Testing软件测试网N&P6_P'@;[2`w51Testing软件测试网A hadrT;m1u·学习的相关技术和工具
w3F)a0Mvf3E0"sW*}n5SDY0 性能测试是通过工具,模拟大量用户操作,对系统增加负载。所以需要掌握一定的工具知识才能进行性能测试。大家都知道性能测试工具一般通过winsock, http等协议纪录用户操作。而协议选择是基于软件的系统架构实现(
web一般选择http协议,cs选择winsock协议),不同的性能测试工具,脚本语言也不同,比如rational robot中vu脚本用类c语言实现。
iw0Ss?Gnj?k0,WB9j K)C#]G3a0 开展性能测试需要对各种性能测试工具进行评估,因为每一种性能测试工具都有自身的特点,只有经过工具评估,才能选择符合现有软件架构的性能测试工具。确定测试工具后,需要组织测试人员进行工具的学习,培训相关技术。
51Testing软件测试网)w] Oj+XjT51Testing软件测试网~q-bF#n3f|^I·制定评估标准
%Q7b,IG,K wWub0n_y'k|0 任何测试的目的都是确保软件符合预先规定的目标和要求。性能测试也不例外。所以必须制定一套标准。
51Testing软件测试网6F%O{l,WU:eDS!b9j/D H!}9O~C,Po"W0 通常性能测试有四种模型技术可用于评估:
51Testing软件测试网q#j%A/j9a&D a51Testing软件测试网0{&W eA$JY5h0L *线性投射:用大量的过去的,扩展的或者将来可能发生的数据组成散布图,利用这个图表不断和系统的当前状况对比。
{2l9Q5\5\~g.Y0B9FUYG%~ Xb0 *分析模型:用排队论公式和算法预测响应时间,利用描述工作量的数据和系统本质关联起来
51Testing软件测试网I z']8|/c"M0xNe'g:X,U)rW\n0 *模仿:模仿实际用户的
使用方法测试你的系统
51Testing软件测试网0XUYu.e*Og51Testing软件测试网Uh6Ly.OLk *基准:定义测试和你最初的测试作为标准,利用它和所有后来进行的测试结果进行对比
51Testing软件测试网Jg!rdDg2i;I-CeV-x
YJT7w%k0P0·设计测试用例
51Testing软件测试网EE3~F;ns7[FG^J)i!e:E0as[9}0fW2h0 设计测试用例是在了解软件业务流程的基础上。设计测试用例的原则是受最小的影响提供最多的测试信息,设计测试用例的目标是一次尽可能的包含多个测试要素。这些测试用例必须是测试工具可以实现的,不同的测试场景将测试不同的功能。因为性能测试不同于平时的测试用例,尽可能把性能测试用例设计的复杂,才有可能发现软件的性能瓶颈。
51Testing软件测试网J#Xi9J
_U"V D51Testing软件测试网+`$m+V#bL,f"X&v·运行测试用例
51Testing软件测试网C6nIt;Z uN;B4l2_GF/X [iO)h+T0 通过性能测试工具运行测试用例。同一环境下作的性能测试得到的测试结果是不准确的,所以在运行这些测试用例的时候,需要用不同的测试环境,不同的机器配置上运行。
QO O;oIiG051Testing软件测试网%q)?&Kj6X0z Y·分析测试结果
51Testing软件测试网~} H,}o
T@t7j+a f(xz!?.M(LW0 运行测试用例后,收集相关信息,进行数据统计分析,找到性能瓶颈。通过排除误差和其他因素,让测试结果体现接近真实情况。不同的体系结构分析测试结果的方法也不同,bs结构我们会分析网络带宽,流量对用户操作响应的影响,而cs结构我们可能更关心会系统整体配置对用户操作的影响。