不要追求绝对的公平,红尘之中没有公平而言,人活一世,难得糊涂。                                           it is no use doing what you like, you have got to like what you do.

压力测试实例

上一篇 / 下一篇  2006-12-14 15:48:21 / 个人分类:软件测试技术

51Testing软件测试网HcS7V4W$d/q6OT
      利用现代的设计技术和正式的技术复审可以减少代码中存在的初始错误,但是错误总是存在的,如果开发者找不到错误,那么,客户就会找到它们。越来越多的软件 组织认识到软件测试是软件质量保证的重要元素之一,很多软件开发组织将30%—40%甚至更多的项目资源用在测试上,软件测试技术和软件测试策略受到了高 度的重视和广泛的应用
;G@yIg?051Testing软件测试网p:JIN|$_-Y
      本文不想就软件测试技术和软件测试策略作深入的理论分析,而是列举一个在软件系统测试阶段进行的压力测试实例,希望能通过这个实例与从事软件测试相关工作的朋友进行交流。51Testing软件测试网%qnW2[b VIg

&q$@r0VK E9h)h1B0      首先介绍一下实例中软件的项目背景,该软件是一个典型的三层C/S架构的MIS系统(客户端/应用服务器/数据库管),中间层是业务逻辑层,应用服务器处 理所有的业务逻辑,但应用服务器本身不提供负载均衡的能力,而是利用开发工具提供的ORB(对象请求代理)软件保证多个应用服务器间的负载均衡。本次测试 的目的是:进行单个应用服务器的压力测试,找出单个应用服务器能够支持的最大客户端数。测试压力估算的依据是:假定在实际环中,用户只启用一个应用服务器 进行所有的业务处理。方法是:按照正常业务压力估算值的1~10倍进行测试,考察应用服务器的运行情况。
o pImT*[)c_0
1\/a2l5_+[/\7k$Ga S0      压力测试的详细计划如下:51Testing软件测试网V'yR aS~!_^+m:Y

)n/R%VS6|+_T'p0压力测试计划51Testing软件测试网|E,Zwy-CJi v
51Testing软件测试网,M/d1I'Y6v
1、测试计划名称51Testing软件测试网A/fq#wj n2t#L
河北省公安交通管理信息系统压力测试计划。
;Q8X5SP#K|'{(^ @02、测试内容51Testing软件测试网zv VW.`
2.1背景51Testing软件测试网*T,p)iEV
本次测试中的压力测试是指模拟实际应用的软硬件环境及用户使用过程的系统负荷,长时 间运行测试软件来测试被测系统的可靠性,同时还要测试被测系统的响应时间。51Testing软件测试网t~~(ZJT8S1p
用户的实际使用环境:
)?j#c+AP0◇由两台IBM XSeries250 PC Server组成的Microsoft Cluster;51Testing软件测试网o~:Q U(L0s O
◇数据库管理系统采用Oracle8.1.6;
6pX FkvXD5T~ wA2C0◇应用服务器程序和数据库管理系统同时运行在Microsoft Cluster上。
tO lCirN;O y U0◇有200个用户使用客户端软件进行业务处理,每年通过软件进行处理的总业务量为:150万笔业务/年。
"b"Ti"Gm%{S Dqyy02.2测试项
`+q ul ^9D6Ve0应用服务器的压力测试;
2l3V-@$Qr @2H\ D02.3不被测试的特性
-E1ol3[ ~,^s0◇系统的客户端应用程序的内部功能;
3O3Fj [{;`0◇数据库中的数据量对程序性能的影响。51Testing软件测试网9g f rL4df
3、测试计划51Testing软件测试网HI!NP&o)_r,l~ G
3.1测试强度估算
&g5R9W^8_} x"Nk0测试压力估算时采用如下原则:
T\[+O*^7@m} j"q)B0◇全年的业务量集中在8个月完成,每个月20个工作日,每个工作日8个小时;
2}w&_tO(`3u8X0◇采用80—20原理,每个工作日中80%的业务在20%的时间内完成,即每天80%的业务在1.6小时内完成;
~@`R _0测试压力的估算结果:
a7oto1rT p E0去年全年处理业务约100万笔,其中15%的业务处理每笔业务需对应用服务器提交7次请求;70%的业务处理每笔业务需对应用服务器提交5次请求;其余 15%的业务每笔业务向应用服务器提交3次请求。根据以往统计结果,每年的业务增量为15%,考虑到今后三年业务发展的需要,测试需按现有业务量的2倍进 行。
4S U;mwh6JC0每年总的请求数量为:(100*15%*7+100*70%*5+100*15%*3)*2=300万次/年。51Testing软件测试网},hg;J:~R_@
每天的请求数量为:300/160=1.875万次/天。51Testing软件测试网&c b ]&GA$V3g
每秒的请求数量为:(18750*80%)/(8*20%*3600)=2.60次/秒。51Testing软件测试网*t8n)JP7?N`$l1x
正常情况下,应用服务器处理请求的能力应达到:3次/秒。51Testing软件测试网0|"}A0OKyR
3.2测试环境准备51Testing软件测试网U7rc3L:x3j\
3.2.1基本硬件及软件环境的准备51Testing软件测试网n |G/cY I6p'f
1)网络环境:公司内部的以太网,与服务器的连接速率为100M,与客户端的连接速率为10/100M自适应。
(ZSa xf |B%S!I\(f02)使用两台IBM XSeries250(1G内存)PC Server作Microsoft Cluster,安装系统软件 Windows 2000 Advance Server及Microsoft Cluster Server(MSCS)。51Testing软件测试网$z x8VU RD_2Q0T%x3I
3) 数据库管理系统的安装及配置:在测试用的IBM XSeries服务器上安装Oracle8.1.6,数据 库采用Oracle Fail Safe(ofs)的Active/Passive配置。 安装数据库管理系统及支撑软件(包括VisiBroker和BDE Administrator)。51Testing软件测试网B+M ECf+c8MU3p+c
4)安装被测的应用服务器程序。51Testing软件测试网f1ncS@o zd0?
5)客户端的PC机:10台(PⅢ600/128M RAM)。51Testing软件测试网%L){"}lQ%qcF
3.2.2系统客户端测试程序的编写系统客户端测试程序使用Delphi编写,要求测试程序实现如下功能:
{8f.UkF+Fp w01)模拟一个主要的向应用服务器发送请求并接收响应信息的功能。要求交替模拟两种情况:第一种,发送的请求至少包括10个参数,参数类型涵盖字符、日期、 数字种类型;接收的 响应信息不少于1个参数;第二种,发送的请求不少于1个参数;接收的响应信息至少包括10个参数,参数类型涵盖字符、日期、数字种类型。51Testing软件测试网Ze*N0I+T-ARn
2)必须能够通过参数设定在每台PC机上运行的客户端测试程序个数、请求的时间间隔(单位:毫秒)、运行时间(单位:小时)。51Testing软件测试网7GTx4|"j@+e-V B
3) 在数据库中建立测试记录表,生成测试记录,向数据库写入测试记录的功能不通过被测的应用服务器实现。日志内容包括:发送测试请求的机器名、客户端测试程序 序号、发出请求时间、收到响应时间、处理是否成功。表名:TEST_LOG,字段名:MACHINE、ID、START_TIME、END_TIME、 FLAG。
;~od/s7W Ri03.2.3系统本底数据的准备51Testing软件测试网L"[2HK(k8w:Yh,i
为考察系统运行一段时间后系统的响应性能,参照实际运行情况及发展进行系统的本底数据准备。业务处理中涉及到的业务表中都要求按设计规模进行本底数据的准备。要求准备的数据记录的有效性符合系统要求,数据有效性的具体要求参见数据库设计及系统设计文档。
2yF@-~:v03.3破坏性测试
]QgN-E~+j3AjTe0按照设计连接的客户端连接数量进行测试,把应用服务器处理请求的设计频度增加1-10倍,分别测试出现错误的状态和和出现错误的比率,考察是否出现不可恢复错误,系统设计要考 虑出现严重错误情况下负荷减轻错误自动恢复的实现方法。51Testing软件测试网Ue#@1O)V%L b/DIt
计划时间:2天;这个时间包括破坏性的修复和自动恢复的实现需要的时间。
B]L`w |B0在测试过程中每10分钟记录一次IBM Xseries PC Server的内存及CPU使用情况,包括被测程序的内存占用百分比、数据库管理系统的内存占用百分比、操作系统的内存占用百分比。
?-uwV~N ?03.4强度稳定性测试51Testing软件测试网WVIfi8q;?
选择一种负荷比设计负荷重的情况(应用服务器处理请求的频度为应用服务器处理请求的 设计频度的1.5倍),进行24小时稳定性测试。51Testing软件测试网8w2wh M z G~+p+|&_
3.5测试方法和工具
u/H,gF/ND0黑盒测试
)hr:[ @'C9];g3\0测试工具:无外购的测试工具,自己编制的测试工具。
l@F$b$s| n6j03.6测试时间计划51Testing软件测试网[ U3q\5mh
3.6.1环境准备:2天。
7O8C"zW\OJU b0其中:基本硬件、软件环境及系统本底数据的准备:1天,
9dAB,P TCs5w$z0系统客户端测试程序的编写及测试:1天。51Testing软件测试网G\u(G8t!r]YS
3.6.2破环性测试:2天。51Testing软件测试网4KTx(Ge_ `
3.6.3强度稳定性测试:1天。51Testing软件测试网-K n8d3b^ h0v l ~
3.7测试中的问题及处理
:Y+`q1KG$S6iBW9U03.7.1暂停标准和再启动要求51Testing软件测试网F*CQ q#e9kT,tjB
暂停标准:被测试软件在强度稳定性测试中频繁出现异常(每小时出现1次以上)时。用户或公司要求暂停测试时。51Testing软件测试网$f H+wUK F
再启动要求:通过调试后,预计被测试软件的可靠性有所提高时,可再次启动测试。
:w4OU8TsaN:peg.g03.7.2不可预见问题
B+gAY'Mg0不可预见问题包括:51Testing软件测试网E vL1?O @u+M
◇测试环境被破坏而导致测试无法进行;51Testing软件测试网8` | `/\g
◇当出现上述不可预见问题时,测试终止,就已完成的测试内容编制测试总结报告,并在报告中说明测试终止的原因。51Testing软件测试网1WGlo Ne3?V
3.8测试报告 2002.06.21
jy*IEH r'PK$W0测试总结报告提交日期:2002.06.21。
#@ |$n6M zK4J&T+nhKR03.8.1应生成的测试文件
LKb t` ^0测试记录(测试负责人和参与测试的人员签字);
&fF0^;B^IQ o0测试总结报告。51Testing软件测试网y1kdcQ)wD
3.8.2测试总结报告中必须包含的内容
7uE~rZIBM0被测试软件名称、测试项、测试环境;51Testing软件测试网 ciJXb%D-l(F)H7@4~d
被测试软件的压力测试结论:响应时间、最大/最小并发数、失败的次数、正常连续运行的最长/最短时间,并发数与失败的关系。
6R3yA#u*x_04、人员和职责
wjY%q;O uV04.1职责51Testing软件测试网(uRc T ~F
测试工程师:负责编写测试计划,组织测试,对测试过程进行记录,收集、整理测试记录数据,对测试结果进行分析,编写测试总结报告。
n)e9S+T`/auf0软件工程师:负责编写、调试客户端测试软件;数据库管理系统的安装、ofs配置及系统的本底数据准备。
7yR&xx[&\F z+@t^q}%U0系统工程师:负责测试用的硬件维护及操作系统安装、MSCS配置。
FoK?tWw0总工程师:负责对测试计划及测试总结报告进行批准。51Testing软件测试网;R$y0?5F7^&@/ta
用户:必要时可参加测试,并提出具体的测试要求;可要求暂停测试。51Testing软件测试网D Dc-q^\YO.fDU
4.2人员和训练要求51Testing软件测试网4Xb#Z(H'J*\eH%v3nrIx
本次测试无特别的人员及培训要求。51Testing软件测试网k@~$x$F
5、批准
J.Ev)yd0本测试计划必须经过总工程师批准后才能开始实施。

相关阅读:

TAG: 压力测试实例 软件测试技术

子木清风 引用 删除 Spark.lee   /   2009-09-15 17:59:49
引用 删除 樱qq   /   2009-09-11 10:45:32
子木清风写的文章,偶每篇都看,真的有深度
 

评分:0

我来说两句

Open Toolbar