性能测试.docx
- 文档编号:11219371
- 上传时间:2023-02-25
- 格式:DOCX
- 页数:40
- 大小:41.88KB
性能测试.docx
《性能测试.docx》由会员分享,可在线阅读,更多相关《性能测试.docx(40页珍藏版)》请在冰豆网上搜索。
性能测试
性能测试
51Testing软件测试网BXqkN9w+f
{+B8JWu4OA$t/~I0N(q281351 性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。
负载测试和压力测试都属于性能测试,两者可以结合进行。
通过负载测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况。
压力测试是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试。
51Testing软件测试网1z2}#G#I,hHBIH
51Testing软件测试网`:
yLR+Y
一、概述51Testing软件测试网2^k8M4FHF2^P?
51Testing软件测试网3aw0LY7No[H7K@
性能测试在软件的质量保证中起着重要的作用,它包括的测试内容丰富多样。
中国软件评测中心将性能测试概括为三个方面:
应用在客户端性能的测试、应用在网络上性能的测试和应用在服务器端性能的测试。
通常情况下,三方面有效、合理的结合,可以达到对系统性能全面的分析和瓶颈的预测。
0HXg!
z9^U281351
z0onwB%G\281351 ·应用在客户端性能的测试
Wee6A&U_281351
9k_"jV0i+sy281351 应用在客户端性能测试的目的是考察客户端应用的性能,测试的入口是客户端。
它主要包括并发性能测试、疲劳强度测试、大数据量测试和速度测试等,其中并发性能测试是重点。
(W2p0Qn"Dc,E?
.}Jq6FI281351
"A&Hk6_'U6k281351 并发性能测试是重点
C~.Eb1\]:
~5l28135151Testing软件测试网dR$Gn:
U1K-}
并发性能测试的过程是一个负载测试和压力测试的过程,即逐渐增加负载,直到系统的瓶颈或者不能接收的性能点,通过综合分析交易执行指标和资源监控指标来确定系统并发性能的过程。
负载测试(LoadTesting)是确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统组成部分的相应输出项,例如通过量、响应时间、CPU负载、内存使用等来决定系统的性能。
负载测试是一个分析软件应用程序和支撑架构、模拟真实环境的使用,从而来确定能够接收的性能过程。
压力测试(StressTesting)是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试。
51Testing软件测试网|*WV:
k)]`f
9LD4w8{C|0}281351 并发性能测试的目的主要体现在三个方面:
以真实的业务为依据,选择有代表性的、关键的业务操作设计测试案例,以评价系统的当前性能;当扩展应用程序的功能或者新的应用程序将要被部署时,负载测试会帮助确定系统是否还能够处理期望的用户负载,以预测系统的未来性能;通过模拟成百上千个用户,重复执行和运行测试,可以确认性能瓶颈并优化和调整应用,目的在于寻找到瓶颈问题。
bqUHk3x28135151Testing软件测试网9T_]4^8`_"_9d(f
当一家企业自己组织力量或委托软件公司代为开发一套应用系统的时候,尤其是以后在生产环境中实际使用起来,用户往往会产生疑问,这套系统能不能承受大量的并发用户同时访问?
这类问题最常见于采用联机事务处理(OLTP)方式数据库应用、Web浏览和视频点播等系统。
这种问题的解决要借助于科学的软件测试手段和先进的测试工具。
"ANLmv*[8x,s28135151Testing软件测试网zyT*sS_.|5AK0q&]C
举例说明:
电信计费软件51Testing软件测试网5Ez[u|h;F
51Testing软件测试网(aR^#j1e
众所周知,每月20日左右是市话交费的高峰期,全市几千个收费网点同时启动。
收费过程一般分为两步,首先要根据用户提出的电话号码来查询出其当月产生费用,然后收取现金并将此用户修改为已交费状态。
一个用户看起来简单的两个步骤,但当成百上千的终端,同时执行这样的操作时,情况就大不一样了,如此众多的交易同时发生,对应用程序本身、操作系统、中心数据库服务器、中间件服务器、网络设备的承受力都是一个严峻的考验。
决策者不可能在发生问题后才考虑系统的承受力,预见软件的并发承受力,这是在软件测试阶段就应该解决的问题。
51Testing软件测试网mxIE`"Lw.j
51Testing软件测试网2K~B0b;A[O-@zm!
QC
目前,大多数公司企业需要支持成百上千名用户,各类应用环境以及由不同供应商提供的元件组装起来的复杂产品,难以预知的用户负载和愈来愈复杂的应用程序,使公司担忧会发生投放性能差、用户遭受反应慢、系统失灵等问题。
其结果就是导致公司收益的损失。
Hl5u-F!
[{281351
{z3fS4V;Ek281351 如何模拟实际情况呢?
找若干台电脑和同样数目的操作人员在同一时刻进行操作,然后拿秒表记录下反应时间?
这样的手工作坊式的测试方法不切实际,且无法捕捉程序内部变化情况,这样就需要压力测试工具的辅助。
51Testing软件测试网1qag1}3m,R
*bpuXTSO281351 测试的基本策略是自动负载测试,通过在一台或几台PC机上模拟成百或上千的虚拟用户同时执行业务的情景,对应用程序进行测试,同时记录下每一事务处理的时间、中间件服务器峰值数据、数据库状态等。
通过可重复的、真实的测试能够彻底地度量应用的可扩展性和性能,确定问题所在以及优化系统性能。
预先知道了系统的承受力,就为最终用户规划整个运行环境的配置提供了有力的依据。
51Testing软件测试网|[.e^Cj
51Testing软件测试网BkLf\J
并发性能测试前的准备工作
Y0N1T$tq`v6@J)L281351
JTX'XL281351 测试环境:
配置测试环境是测试实施的一个重要阶段,测试环境的适合与否会严重影响测试结果的真实性和正确性。
测试环境包括硬件环境和软件环境,硬件环境指测试必需的服务器、客户端、网络连接设备以及打印机/扫描仪等辅助硬件设备所构成的环境;软件环境指被测软件运行时的操作系统、数据库及其他应用软件构成的环境。
Zkjv0F281351
!
FQ_l;x^281351 一个充分准备好的测试环境有三个优点:
一个稳定、可重复的测试环境,能够保证测试结果的正确;保证达到测试执行的技术需求;保证得到正确的、可重复的以及易理解的测试结果。
51Testing软件测试网
pJ3~z"Kw8`?
'{$c2k
51Testing软件测试网4JO#G[1zg]*Y
测试工具:
并发性能测试是在客户端执行的黑盒测试,一般不采用手工方式,而是利用工具采用自动化方式进行。
目前,成熟的并发性能测试工具有很多,选择的依据主要是测试需求和性能价格比。
著名的并发性能测试工具有QALoad、LoadRunner、BenchmarkFactory和Webstress等。
这些测试工具都是自动化负载测试工具,通过可重复的、真实的测试,能够彻底地度量应用的可扩展性和性能,可以在整个开发生命周期、跨越多种平台、自动执行测试任务,可以模拟成百上千的用户并发执行关键业务而完成对应用程序的测试。
51Testing软件测试网9Sb9zF5k6u
e't{5Um281351 测试数据:
在初始的测试环境中需要输入一些适当的测试数据,目的是识别数据状态并且验证用于测试的测试案例,在正式的测试开始以前对测试案例进行调试,将正式测试开始时的错误降到最低。
在测试进行到关键过程环节时,非常有必要进行数据状态的备份。
制造初始数据意味着将合适的数据存储下来,需要的时候恢复它,初始数据提供了一个基线用来评估测试执行的结果。
51Testing软件测试网C4V(`7}8oir;p
6hP7TVgEo281351 在测试正式执行时,还需要准备业务测试数据,比如测试并发查询业务,那么要求对应的数据库和表中有相当的数据量以及数据的种类应能覆盖全部业务。
51Testing软件测试网L9HLi_m8q%Z6K
7N.t$E'\4I9b5a281351 模拟真实环境测试,有些软件,特别是面向大众的商品化软件,在测试时常常需要考察在真实环境中的表现。
如测试杀毒软件的扫描速度时,硬盘上布置的不同类型文件的比例要尽量接近真实环境,这样测试出来的数据才有实际意义。
51Testing软件测试网b#p*\g'i+coH
51Testing软件测试网eu3}RlS-WV
并发性能测试的种类与指标
:
hi"@+k
w^
N3f8O8T281351
)U;_4~-\J
KW6K281351 并发性能测试的种类取决于并发性能测试工具监控的对象,以QALoad自动化负载测试工具为例。
软件针对各种测试目标提供了DB2、DCOM、ODBC、ORACLE、NETLoad、Corba、QARun、SAP、SQLServer、Sybase、Telnet、TUXEDO、UNIFACE、WinSock、WWW、Javascrīpt等不同的监控对象,支持Windows和UNIX测试环境。
51Testing软件测试网{4[4S/BPp[h
51Testing软件测试网$BO3F.b0luAVE
最关键的仍然是测试过程中对监控对象的灵活应用,例如目前三层结构的运行模式广泛使用,对中间件的并发性能测试作为问题被提到议事日程上来,许多系统都采用了国产中间件,选择Javascrīpt监控对象,手工编写脚本,可以达到测试目的。
iC-CmS28135151Testing软件测试网?
"Mf,z:
F7OnpIPI
采用自动化负载测试工具执行的并发性能测试,基本遵循的测试过程有:
测试需求与测试内容,测试案例制定,测试环境准备,测试脚本录制、编写与调试,脚本分配、回放配置与加载策略,测试执行跟踪,结果分析与定位问题所在,测试报告与测试评估。
51Testing软件测试网,x}m5gBL
\-i8f(v]"P281351 并发性能测试监控的对象不同,测试的主要指标也不相同,主要的测试指标包括交易处理性能指标和UNIX资源监控。
其中,交易处理性能指标包括交易结果、每分钟交易数、交易响应时间(Min:
最小服务器响应时间;Mean:
平均服务器响应时间;Max:
最大服务器响应时间;StdDev:
事务处理服务器响应的偏差,值越大,偏差越大;Median:
中值响应时间;90%:
90%事务处理的服务器响应时间)、虚拟并发用户数。
"OU1`5H6T0k28135151Testing软件测试网|dApN$wv
应用实例:
“新华社多媒体数据库V1.0”性能测试
\#m2n@:
Hc281351
)lC4eMs3g%`Cp281351 中国软件评测中心(CSTC)根据新华社技术局提出的《多媒体数据库(一期)性能测试需求》和GB/T17544《软件包质量要求和测试》的国家标准,使用工业标准级负载测试工具对新华社使用的“新华社多媒体数据库V1.0”进行了性能测试。
51Testing软件测试网G%Yyv@z#_MJ+Ml
51Testing软件测试网Er9z(k.G{:
Sb
性能测试的目的是模拟多用户并发访问新华社多媒体数据库,执行关键检索业务,分析系统性能。
1^;SO5\/_``\9f;v281351
#P"Tt;|p{281351 性能测试的重点是针对系统并发压力负载较大的主要检索业务,进行并发测试和疲劳测试,系统采用B/S运行模式。
并发测试设计了特定时间段内分别在中文库、英文库、图片库中进行单检索词、多检索词以及变检索式、混合检索业务等并发测试案例。
疲劳测试案例为在中文库中并发用户数200,进行测试周期约8小时的单检索词检索。
在进行并发和疲劳测试的同时,监测的测试指标包括交易处理性能以及UNIX(Linux)、Oracle、Apache资源等。
51Testing软件测试网yH9qkZf2|$F[JEM
kft/_.C6_F&p$f281351 测试结论:
在新华社机房测试环境和内网测试环境中,100M带宽情况下,针对规定的各并发测试案例,系统能够承受并发用户数为200的负载压力,最大交易数/分钟达到78.73,运行基本稳定,但随着负载压力增大,系统性能有所衰减。
X-e?
`(RDa&E0z!
z281351
!
mE.]:
PK[281351 系统能够承受200并发用户数持续周期约8小时的疲劳压力,基本能够稳定运行。
#JDW"em}28135151Testing软件测试网m?
/n[pC
通过对系统UNIX(Linux)、Oracle和Apache资源的监控,系统资源能够满足上述并发和疲劳性能需求,且系统硬件资源尚有较大利用余地。
51Testing软件测试网"l'uO0a?
*a;[$pw
51Testing软件测试网q~)kuTH$Xn
当并发用户数超过200时,监控到HTTP500、connect和超时错误,且Web服务器报内存溢出错误,系统应进一步提高性能,以支持更大并发用户数。
51Testing软件测试网TA,ry6AUkG'd9~;Y
e\4|y[+yy&oQ281351 建议进一步优化软件系统,充分利用硬件资源,缩短交易响应时间。
51Testing软件测试网j9`rvaE,k!
sTh
j
Kyi-Ly281351 疲劳强度与大数据量测试51Testing软件测试网r3D~!
^`
(c/iy
i:
i3u281351 疲劳测试是采用系统稳定运行情况下能够支持的最大并发用户数,持续执行一段时间业务,通过综合分析交易执行指标和资源监控指标来确定系统处理最大工作量强度性能的过程。
"]7_OUlLQL281351
I0yl/G4Xr*r281351 疲劳强度测试可以采用工具自动化的方式进行测试,也可以手工编写程序测试,其中后者占的比例较大。
)Gv4GdI-R28135151Testing软件测试网y,gfoP_
一般情况下以服务器能够正常稳定响应请求的最大并发用户数进行一定时间的疲劳测试,获取交易执行指标数据和系统资源监控数据。
如出现错误导致测试不能成功执行,则及时调整测试指标,例如降低用户数、缩短测试周期等。
还有一种情况的疲劳测试是对当前系统性能的评估,用系统正常业务情况下并发用户数为基础,进行一定时间的疲劳测试。
51Testing软件测试网NU@;|Y9nV9}
l4A}v~zL)v/p9g@281351 大数据量测试可以分为两种类型:
针对某些系统存储、传输、统计、查询等业务进行大数据量的独立数据量测试;与压力性能测试、负载性能测试、疲劳性能测试相结合的综合数据量测试方案。
大数据量测试的关键是测试数据的准备,可以依靠工具准备测试数据。
gNQ#`FUa281351
[i4]-f"gV0}281351 速度测试目前主要是针对关键有速度要求的业务进行手工测速度,可以在多次测试的基础上求平均值,可以和工具测得的响应时间等指标做对比分析。
51Testing软件测试网E2Pk^f
E+w!
m{f_#XXU]281351 ·应用在网络上性能的测试
Yrc(TtR28135151Testing软件测试网|7?
&v1dt
应用在网络上性能的测试重点是利用成熟先进的自动化技术进行网络应用性能监控、网络应用性能分析和网络预测。
3iU7T
zEP6K281351
-uW
Ief7n(n281351 网络应用性能分析
h$j)_/AXW28135151Testing软件测试网%[O
f)C1?
^;}Kxj
网络应用性能分析的目的是准确展示网络带宽、延迟、负载和TCP端口的变化是如何影响用户的响应时间的。
利用网络应用性能分析工具,例如ApplicationExpert,能够发现应用的瓶颈,我们可知应用在网络上运行时在每个阶段发生的应用行为,在应用线程级分析应用的问题。
可以解决多种问题:
客户端是否对数据库服务器运行了不必要的请求?
当服务器从客户端接受了一个查询,应用服务器是否花费了不可接受的时间联系数据库服务器?
在投产前预测应用的响应时间;利用ApplicationExpert调整应用在广域网上的性能;ApplicationExpert能够让你快速、容易地仿真应用性能,根据最终用户在不同网络配置环境下的响应时间,用户可以根据自己的条件决定应用投产的网络环境。
Q0Cn1u8q0R3DQr281351
8c]%k2k9|
M#O$l281351 网络应用性能监控51Testing软件测试网7gP9fdEAvJ
r3A:
_Fv281351 在系统试运行之后,需要及时准确地了解网络上正在发生什么事情;什么应用在运行,如何运行;多少PC正在访问LAN或WAN;哪些应用程序导致系统瓶颈或资源竞争,这时网络应用性能监控以及网络资源管理对系统的正常稳定运行是非常关键的。
利用网络应用性能监控工具,可以达到事半功倍的效果,在这方面我们可以提供的工具是NetworkVantage。
通俗地讲,它主要用来分析关键应用程序的性能,定位问题的根源是在客户端、服务器、应用程序还是网络。
在大多数情况下用户较关心的问题还有哪些应用程序占用大量带宽,哪些用户产生了最大的网络流量,这个工具同样能满足要求。
51Testing软件测试网d4N1LPe'Q#Ui
51Testing软件测试网0ZUP*rSmN]
网络预测51Testing软件测试网2[I;mW&sow{
1o?
-yY.Z9~!
~281351 考虑到系统未来发展的扩展性,预测网络流量的变化、网络结构的变化对用户系统的影响非常重要。
根据规划数据进行预测并及时提供网络性能预测数据。
我们利用网络预测分析容量规划工具PREDICTOR可以作到:
设置服务水平、完成日网络容量规划、离线测试网络、网络失效和容量极限分析、完成日常故障诊断、预测网络设备迁移和网络设备升级对整个网络的影响。
51Testing软件测试网Qy%N0@j2E_
by^0^'^LM9rM281351 从网络管理软件获取网络拓扑结构、从现有的流量监控软件获取流量信息(若没有这类软件可人工生成流量数据),这样可以得到现有网络的基本结构。
在基本结构的基础上,可根据网络结构的变化、网络流量的变化生成报告和图表,说明这些变化是如何影响网络性能的。
PREDICTOR提供如下信息:
根据预测的结果帮助用户及时升级网络,避免因关键设备超过利用阀值导致系统性能下降;哪个网络设备需要升级,这样可减少网络延迟、避免网络瓶颈;根据预测的结果避免不必要的网络升级。
51Testing软件测试网%AHH/O#lFQ6Q9_
51Testing软件测试网8ajg}'W;xwS;Ve
·应用在服务器上性能的测试
4n/}y9_h(?
hv281351
lu"mNT/bZ9W281351 对于应用在服务器上性能的测试,可以采用工具监控,也可以使用系统本身的监控命令,例如Tuxedo中可以使用Top命令监控资源使用情况。
实施测试的目的是实现服务器设备、服务器操作系统、数据库系统、应用在服务器上性能的全面监控,测试原理如下图。
HE1LLJ'Tl+i7bN+rg28135151Testing软件测试网6NwQ8w8tS'ld6SA6]A
UNIX资源监控指标和描述
C'f\Bh(Se281351
?
1f7t-["d"FP!
@Y281351 监控指标描述51Testing软件测试网p@,r6g8}O0[P
平均负载系统正常状态下,最后60秒同步进程的平均个数51Testing软件测试网8W9z&`&]'k9yEk(T
冲突率在以太网上监测到的每秒冲突数51Testing软件测试网3\"b\2?
ZX
进程/线程交换率进程和线程之间每秒交换次数51Testing软件测试网Q0Xs
E"v:
od#kf
CPU利用率CPU占用率(%)
#B'A%vI/R!
Nw{281351 磁盘交换率磁盘交换速率
;gP_6NK0~GA281351 接收包错误率接收以太网数据包时每秒错误数
s*NYN(Ga-of281351 包输入率每秒输入的以太网数据包数目51Testing软件测试网)~,?
co}R
中断速率CPU每秒处理的中断数51Testing软件测试网Wroas.f$w8dU
输出包错误率发送以太网数据包时每秒错误数
0p_Br/ey281351 包输入率每秒输出的以太网数据包数目51Testing软件测试网e^gQ0@&K;Z&]
读入内存页速率物理内存中每秒读入内存页的数目51Testing软件测试网QS0g6UiE1kQ
写出内存页速率每秒从物理内存中写到页文件中的内存页数
o/jl,yr9w281351 目或者从物理内存中删掉的内存页数目
l`.W@4DL;I281351 内存页交换速率每秒写入内存页和从物理内存中读出页的个数51Testing软件测试网#HD%zuwT
n.y
进程入交换率交换区输入的进程数目51Testing软件测试网%E:
QxMZfTj
进程出交换率交换区输出的进程数目
[O'D^:
U(d[281351 系统CPU利用率系统的CPU占用率(%)
to4SRM,F5x7a!
m281351 用户CPU利用率用户模式下的CPU占用率(%)51Testing软件测试网YXgf&d"c@
磁盘阻塞磁盘每秒阻塞的字节数
\B:
~
_(y[wir281351
G*{[+oyH281351二、为什么进行性能测试?
kC3I#Z0H1{x281351
us0zTwm281351 目的是验证软件系统是否能够达到用户提出的性能指标,同时发现软件系统中存在的性能瓶颈,优化软件,最后起到优化系统的目的。
w^6a)uE%moDj)YZ;K?
28135151Testing软件测试网/G
eW(v4O3J_
包括以下几个方面51Testing软件测试网@6\Vy|YB+}'f
51Testing软件测试网+MeG!
\E:
Uusu1A^9YD
1.评估系统的能力,测试中得到的负荷和响应时间数据可以被用于验证所计划的模型的能力,并帮助作出决策。
51Testing软件测试网o5A(p7f4v(mT{.l
2.识别体系中的弱点:
受控的负荷可以被增加到一个极端的水平,并突破它,从而修复体系的瓶颈或薄弱的地方。
ms8J2X,i2813513.系统调优:
重复运行测试,验证调整系统的活动得到了预期的结果,从而改进性能。
51Testing软件测试网5`Z.D8Fpv|%Z1VHp
检测软件中的问题:
长时间的测试执行可导致程序发生由于内存泄露引起的失败,揭示程序中的隐含的问题或冲突。
7dx$pw%Q2813514.验证稳定性(resilience)可靠性(reliability):
在一个生产负荷下执行测试一定的时间是评估系统稳定性和可靠性是否满足要求的唯一方法。
51Testing软件测试网R.`r(^U#kCR,C
51Testing软件测试网1YG/ByXG
性能测试类型包括负载测试,强度测试,容量测试等51Testing软件测试网BJ@8l_k
:
[Z.U4U6?
P5jT281351 负载测试:
负载测试
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 性能 测试