,e;X+Pax"z0 在每种不同的系统架构的实施中,开发人员可能选择不同的实现方式,造成实际情况纷繁复杂。我们不可能对每种技术都详细解说,这里只是介绍一种方法提供给你如何选择测试策略,从而帮助分析软件不同部分的性能指标,进而分析出整体架构的性能指标和性能瓶颈。
51Testing软件测试网
TX?7lV51Testing软件测试网[G-W6zp9\ 由于工程和项目的不同,所选用的度量,评估方法也有不同之处。不过仍然有一些通用的步骤帮助我们完成一个性能测试项目。步骤如下
iA.w%dr\1gYo:c051Testing软件测试网9Z5T(^8y%L@1. 制定目标和分析系统
51Testing软件测试网,IP/u5p{2. 选择测试度量的方法
?FX+M.b B03. 学习的相关技术和工具
T'{@&c8lT(eXF04. 制定
评估标准&o(nA%}2D w4y?05.
设计测试用例XTU)~Y5t06.
运行测试用例ov}4D6p IY-t8Ne$g07.
分析测试结果51Testing软件测试网)Y/L?_#R#t;P'R b51Testing软件测试网'Sz+FU1R\)w4e·制定目标和分析系统
9?,X1{(e$l6|0
T9G`7Yf6W w%s}0 每一个性能测试计划中第一步都会制定目标和分析系统构成。只有明确目标和了解系统构成才会澄清测试范围,知道在测试中要掌握什么样的技术。
'ep^A0CX4e&Q0/i Bl(_n$Z.T.?"o:s0目标:
?ld2F7X7e(Jp+F0-e7U_*OuI,]01. 确定客户需求和期望
51Testing软件测试网X
vvrx2Leq`7m&P3oV"DJ#_02. 实际业务需求
51Testing软件测试网*du2D?`&o,ww51Testing软件测试网l!E/?#y4L4e0xxff
s3. 系统需求
6^1so/Ad {EK"D051Testing软件测试网x'i
Q*n2F|
p Q1k?系统组成
z0]K8mf
u051Testing软件测试网qd8dp/@8a+TX1e 系统组成这里包含几方面含义:系统类别,系统构成,系统功能等。了解这些内容的本质其实是帮助我们明确测试的范围,选者适当的测试方法来进行测试。
eWsYjR(X5cp051Testing软件测试网&{1AP"}&t 系统类别:分清系统类别是我们掌握什么样的技术的前提,掌握相应技术做性能测试才可能成功。例如:系统类别是bs结构,需要掌握 http协议,java,html等技术 。或者是cs结构,可能要了解操作系统,winsock,com等。所以甄别系统类别对于我们来说很重要。
51Testing软件测试网)ed9M
_(`i6M.g?6n9jH*?%teK4K
x0 系统构成:硬件设置,操作系统设置是性能测试的制约条件,一般性能测试都是利用测试工具模仿大量的实际用户操作,系统在超负荷情形下运作。不同的系统构成性能测试就会得到不同的结果。
cu5dOc5rG0cCGKj'p\?!zZqbx0 系统功能:系统功能指系统提供的不同子系统,办公管理系统中的公文子系统,会议子系统等,系统工能是性能测试中要模拟的环节,了解这些是必要的。
;MC!o%c*j8l|+]u0%zL+ZPg3C5{0·选择测试度量的方法
$V_h7n;pGktH4Ewe"d051Testing软件测试网"vzC$g"GUJ经过第一步,将会对系统有清醒的认识。接下来我们将把精力放在
软件度量上,收集系统相关的数据。
t8|H]
GY8kY1Af8_0Mj uS7D)K\\m_0度量的相关方面:
V ]YxY E051Testing软件测试网?dW6A_]Y k* 制定规范
51Testing软件测试网S)^&Msl+f8p_"o
ZJE]
Krstp4A0* 制定相关流程, 角色,职责
51Testing软件测试网uX*nK#R6P%_6}*ujc-R_9e0* 制定改进策略
)s{1q&r'R%q8U0%px+v4F%y+R-f/R0* 制定结果对比标准
51Testing软件测试网,WBY1Rv%x(R4s sh51Testing软件测试网X8uov-cJ
D·学习的相关技术和工具
51Testing软件测试网8_@tdE8cp3K51Testing软件测试网be2?
_Y] 性能测试是通过工具,模拟大量用户操作,对系统增加负载。所以需要掌握一定的工具知识才能进行性能测试。大家都知道性能测试工具一般通过winsock, http等协议纪录用户操作。而协议选择是基于软件的系统架构实现(
web一般选择http协议,cs选择winsock协议),不同的性能测试工具,脚本语言也不同,比如rational robot中vu脚本用类c语言实现。
gIC.D&{7}0-]Y4?Hz/TdQ'z0 开展性能测试需要对各种性能测试工具进行评估,因为每一种性能测试工具都有自身的特点,只有经过工具评估,才能选择符合现有软件架构的性能测试工具。确定测试工具后,需要组织测试人员进行工具的学习,培训相关技术。
51Testing软件测试网3VosU!XC$l8s$Ut,s2D2H1Y)dKc^\N0·制定评估标准
*j,j/P)v(E051Testing软件测试网$IqU r4^,{ 任何测试的目的都是确保软件符合预先规定的目标和要求。性能测试也不例外。所以必须制定一套标准。
!x
B
Y%dO4e?4q'c_051Testing软件测试网
H g{-t}T(~NW 通常性能测试有四种模型技术可用于评估:
51Testing软件测试网Pm2l!YA&zv(Yek$|$p:K0 *线性投射:用大量的过去的,扩展的或者将来可能发生的数据组成散布图,利用这个图表不断和系统的当前状况对比。
4[Y
`7K1\9U[)A0.XI*H!z~0S w}-?0 *分析模型:用排队论公式和算法预测响应时间,利用描述工作量的数据和系统本质关联起来
51Testing软件测试网?5zl4Z\(Ylb }4vpWUi0 *模仿:模仿实际用户的
使用方法测试你的系统
%{_8Y8Q:L"D&|c051Testing软件测试网6Y&y/jW3LK%~ *基准:定义测试和你最初的测试作为标准,利用它和所有后来进行的测试结果进行对比
uU"|
n
FuQ$S0Y!S ebO2Ao0·设计测试用例
&K(Lu1d$K1v `Z3~"x01F/U&FTU8sD4t0 设计测试用例是在了解软件业务流程的基础上。设计测试用例的原则是受最小的影响提供最多的测试信息,设计测试用例的目标是一次尽可能的包含多个测试要素。这些测试用例必须是测试工具可以实现的,不同的测试场景将测试不同的功能。因为性能测试不同于平时的测试用例,尽可能把性能测试用例设计的复杂,才有可能发现软件的性能瓶颈。
51Testing软件测试网^#GZIm!{#q$|"tR&\
rgzpz0·运行测试用例
51Testing软件测试网E(@a \#t(S`} xpJ9KHq$O.t0 通过性能测试工具运行测试用例。同一环境下作的性能测试得到的测试结果是不准确的,所以在运行这些测试用例的时候,需要用不同的测试环境,不同的机器配置上运行。
51Testing软件测试网#o.Ra[
JUin.o@0R51Testing软件测试网lUI;GnD1aUL[·分析测试结果
a3}Y0mB
^{A0Hhq5O){X;p0 运行测试用例后,收集相关信息,进行数据统计分析,找到性能瓶颈。通过排除误差和其他因素,让测试结果体现接近真实情况。不同的体系结构分析测试结果的方法也不同,bs结构我们会分析网络带宽,流量对用户操作响应的影响,而cs结构我们可能更关心会系统整体配置对用户操作的影响。