性能测试开展指导 (转自CSDN博客)
上一篇 / 下一篇 2007-06-05 08:55:11 / 个人分类:技术文摘
本文档从性能工程的角度提出开展性能测试工作的流程,和进行性能测试工作的策略,下面我们讨论性能工程的需求阶段、设计阶段、实施阶段、产品部署阶段、维护阶段所要开展的工作,和相应要采取的策略。TestAge 中国软件测试时代/Nq8G"nzl
2.1性能测试需求的确立
2.1.1 性能测试需求的来源
性能测试需求的来源有三个方面:TestAge 中国软件测试时代2~!nep"Vm9\ ]
1、 需求文档TestAge 中国软件测试时代WdkH[od
2、 设计文档TestAge 中国软件测试时代dH$a S+u,nOj
3、 客户备忘录TestAge 中国软件测试时代nh I!@8b#i+E@b
2.1.2 确定性能测试需求的解决方法
在没有需求文档和设计文档的情况下,我们需要对TSP系统上的客户业务使用情况进行分析,提出我们所关注的性能测试需求,并告知业务人员。让业务人员来判断我们的性能需求是否能满足客户的真实要求。
.xr`e8@N\N0在通过TSP系统分析业务使用状况时,我们可以从以下方面来关注:
Gx{7z)mFA3D01、确定当前系统的业务使用状况:通过TSP的日志记录-客户端模块使用情况了解在某个时间段内,客户执行某个操作的具体情况。TestAge 中国软件测试时代j.K5v/o6`V
2、了解不同视角的用户性能:
%E"xE8U |%K:y3w0ⅰ)用户视角:TestAge 中国软件测试时代2kyW%fnN,j
响应时间:用户所能感受到的响应时间,也是用户最重视的性能体验。
d$V%k(dh]Y!?y+SH0 确立响应时间的原则:
2:2秒钟用户会觉得是一个很好的体验。TestAge 中国软件测试时代qMmX/Z"BX
5:5秒钟用户可能会觉得差了一点,还行,比较好。
Hk6s%W#Ol2v010:10秒钟是用户所能承受的最大极限。
"lC3A;[@6A@%bN4~0鉴于不同地区的网络环境,将用户所能承受的响应时间极限定为12~15秒。TestAge 中国软件测试时代(o,t|2W2O%d~D
此部分需与业务人员讨论。
稳定性:系统长时间运行不会出现错误的能力。TestAge 中国软件测试时代 F+_ea2L5xE#x
验证方法:系统在满负载的运行8小时,系统是否会出现服务不可用,Connection Refused
H"w F i js0HTTP 404,500错误。TestAge 中国软件测试时代_[@Sr5t^
ⅱ)系统视角:延迟,系统资源使用状况
延迟:包括数据库延迟和网络延迟
此部分需与DBA及系统部人员讨论。
系统资源使用状况:服务器的CPU使用率是否长期高于80%,达到90%,100%的程度,整个磁盘的I/O是否达到极限。内存的使用数是否只剩下极少的几兆,几十兆。
fj\"i2F I(a6tB0ⅲ)开发者视角:从代码实现和数据库实现来考虑性能。看看这两方面得到实现是否足够好。TestAge 中国软件测试时代z&Ke^+ZRf9C
3、了解真正的性能测试需求TestAge 中国软件测试时代0b}4~'Bi
方法:ⅰ)识别项目干系人:指的是和项目相关的人,开发人员,设计人员,需求人员,业务人员,上层领导,了解他们对性能测试的考虑。
j[xL[w&@$Q0ⅱ)隐藏在“性能测试”之后的实际想法,比如:是因为开发人员对所完成的代码没有信心,又不愿意做修改,要求我们对其所作的程序进行性能测试,还是设计人员使用了一项新技术,心里没低,所要求作的性能测试,等等。TestAge 中国软件测试时代\'P4I GJ
2.2确立性能测试目标
2.2.1 确立性能测试目标的原则
1、以“需求”为本
考虑系统需不需要作性能测试,性能测试的内容和范围。TestAge 中国软件测试时代B ~"}~ E{!i'`;J
2、测试目标确定的经济性考虑
ⅰ)投入到性能测试的人员是多少?
ⅱ)具备可以确定性能测试需求,制定性能测试方案的人员是多少?可以执行性能测试的人员是多少?
ⅲ)这些人员需要投入多长时间?
ⅳ)所要开发系统的运行环境和设备,这些设备的配置对于性能测试的影响,比如说:tomcat4.1的应用服务器,它的配置文件缺省的jvm的使用空间是
ⅴ)内部的人员无法满足性能测试的要求,通过外聘,采用外聘的方式,公司所能承受的成本是多高。TestAge 中国软件测试时代_K'uL p p9c0|pL~
3、基于风险的测试目标确定
ⅰ)系统如果不做性能测试,会有多大的风险,如果在性能指标上达不到用户的要求会有多大的风险。需要进行评估。
*M6H? h2T0ⅱ)如果做性能测试会有多大的风险,性能测试的投入会有多大,会有多大的风险需要进行评估。
"U N:H+W"F!k.N:O02.2.2 确定性能测试目标的方法
我们要确定系统的吞吐量和并发用户数的设计目标可以采用以下三种方式:TestAge 中国软件测试时代 [$LH.m] o
l 确定在某个特定时间端内,估计系统会有多少用户同时访问
B;@q |m \0l 在某个特定的时间端内,正在访问系统的用户的典型操作是什么?哪个页面的访问量最大?TestAge 中国软件测试时代@wC0wvM
l 在某个特定的时间端内,系统需要处理多少种用户场景TestAge 中国软件测试时代3GV3?x??4V~1H
这些数据可以在系统服务器的日志文件、TSP监视数据种找到,也可以通过监视数据库的活动情况来获得。
,DAU)D f3y02.3不同阶段的性能测试目标
2.3.1 设计阶段的性能测试目标
设计阶段的性能测试目标为考察系统是否满足预期的性能要求。
(zB D/hM,l02.3.2 开发阶段的性能测试目标
ⅰ)将开发阶段的性能测试目标作为对系统进行调优的参考:考虑在每个开发阶段,性能是否能够达到标准,考虑当前阶段的性能瓶颈,及其性能瓶颈出现的原因是在于数据库访问(SQL语句或者存储过程写的不够好)还是其他的原因。
ykx4j\c0ⅱ)用性能测试手段发现系统存在的问题:通过模拟真实场景,发现在现场测试中可能存在的问题,比如说:用户数的突然增加,导致的应用程序崩溃,服务器崩溃的问题。
a,i#TY G B02.3.3 产品部署阶段的性能测试目标
提供部署方案的参考,确定合适的硬件设备,虽然更高的设备可以获取商业上的利益,但应考虑客户的具体情况。
IQ+i3OL"wM1|k0v02.3.4 系统维护阶段的性能测试目标
考察系统的可扩展性:从系统的视角考虑,在用户数扩大,在业务量增大的情况下,是一个怎样的表现。
ic*kb ^o8i"P,I03 设计阶段
3.1性能测试方案的确立
在确立性能测试方案之前,需要作的工作
%H~(] bJL3g*m#y3X01、确定测试目标和需求TestAge 中国软件测试时代BD8e7WsnP5gal
这里的灵活性比较大,与性能测试成败有很大的关系。TestAge 中国软件测试时代mk E5^ ?_
2、了解现状
c(E9W qX#I0ⅰ)业务使用状况TestAge 中国软件测试时代O,OQ8C$eG:]
通过日志记录,在某个时间段内,用户的操作。