2023年软件性能测试过程详解与案例剖析学习笔记_第1页
2023年软件性能测试过程详解与案例剖析学习笔记_第2页
2023年软件性能测试过程详解与案例剖析学习笔记_第3页
2023年软件性能测试过程详解与案例剖析学习笔记_第4页
2023年软件性能测试过程详解与案例剖析学习笔记_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一章性能测试基本概念I41软件性能从用户的角度,软件性能就是软件对用户操作的响应时间。从管理员的角度,软件性能一方面表现在响应时间上。还涉及资源运用率、可扩展性、系统容量(并发等)和系统稳定性等。为r保证系统的稳定运营和连续的良好性能。④对于开发人员而言,最想知道“如何通过调整设计和代码实现,或是如何通过调整系统设立等方法提高软件的性能表现”和“如何发现并解决软件设计和开发过程中产生的由于过多用户访问引起的缺陷”,也就是性能瓶颈和大量用户访问时的缺陷。关注的是系统架构、数据库设计、代码和设计所以在性能测试时,既要关注响应时间,还要关注软件可扩展性、并发能力等指标,还要为性能问题定位。1.2术语口、响应时间A系统响应时间为应用系统从发出请求开始到客户端接受到响应所消耗的时间。合理的响应时间取决于实际用户的需求。2、并发用户数A有两种理解,一种是同一时间段访问系统的用户数量,一种是服务器所能承受的压力(同时发出请求的客户)。在性能测试中我们更关注前者,业务并发用户数。公式c=nL/T,计算平均并发用户数,还可用c=n/10还做简朴的估计。n为天天访问系统的用户数。还可以通过度析服务器的口记来了解用户的使用状态。3、吞吐量上单位时间内系统解决的客户请求的数量,请求数/秒,页面数/秒,访问数/天,业务数/小时,字节数/天。可用于衡量是否达成了预期设计目的,协助分析性能瓶颈。A4、性能计数淤描述服务心或操作系统性能的•些数据指标。例如,内存数、进程时间。用于监控和分析。常与资源运用率进行横向对比,例如cpu占用率68%。八、思考时间(休眠时间八用户在进行操作时,每个请求之间的间隔时间。上1.3方法口、SEI负载测试计划过程关注于负载测试计划的方法,目的是产生清楚、易理解、可验证的负载测试计划。关注目的、用户、用例、生产环境、测试环境和测试场景。2、RBI方法arapidbootieneckidentify,用于快速辨认系统性能瓶颈的方法。3A、性能下降曲线分析法会描述性能随用户数量增长而出现下降趋势的曲线。M、LoadRunnei■的性能测试过程a涉及计划测试、测试设计、创建VU(virtualuser)脚本、创建测试场景、运营测试场景、分析结果。X、Segue提供的性能测试过程a先拟定性能基线,然后设定可接受的性能目的,用不同的并发用户数等反复测试。适合性能调优和性能优化,通过不断的try-check过程,逐渐找到也许导致性能瓶颈的地方并对其优化。6、PTGM模型performancetestinggeneralmode1.分为测试前期准备、测试工具引入、测试计划、测试设计与开发、测试执行和管理以及测试分析。

3.性能下降曲线分析方法:四个区域a.单用户区域baselineb.性能平坦区benehmarkc.压力区域d.性能拐点4.4.常用理论公式思考时间Rrc-4.常用理论公式思考时间4.常用理论公式思考时间Rrc-TxeakIonlonxil>/Tihir*tie,PS:在压力测试的时候,一般不需要思考时间,测试系统满负荷的情况下所能支撑的用户数。在负载测试的时候,需要一定的思考时间,来模拟真实的用户体验。PSPS:在压力测试的时候,一般不需要思考时间,测试系统满负荷的情况下所能支撑的用户数。在负载测试的时候,需要一定的思考时间,来模拟真实的用户体验。方涔一:jf"^5(C.-orenrtmt,方涔一:jf"^5(C.-orenrtmt,"/r—Nu,erniriirr*moionln>Cth大并发数:CmaxconcurrrnIuser।/Ttot”1ttm。+3*sqrt(Ccuncurn,n(方法二:根据2.8原则,计算并发用户数。最大并发数=并发数*r<r,2~3)方法二:根据2.8原则,计算并发用户数。最大并发数=并发数*方法二:根据2.8原则,计算并发用户数。最大并发数=并发数*r<r,2~3)方法三:根据经验,始终有10%用户•直作用于应用系统。吞吐量FUaver9g«reqneslrw»b»r*0concurrrntuser'Nnuobcrusct*Rrequestrate/Ttut•ItIrePS:相同的吞吐量下,并发用户数不同可以得到不同的结果。《软件性能测试过程详解与案例剖析》学习笔记22023年10月20日星期二13:405.性能调优常见的错误a.数据库记录,每次做测试前后要保证数据量的一致。b.java和.net应用在使用前需要预热。6.调优标准过程.稳定性测试.稳定性测试MTBF平均无端障时间,假如在CPU处在较大压力下运营一段时间,则“等同”于让系统在压力较小的情况下较长时间的运营,因此通过在压力测试环境下进行测试,可以当作是一种''压缩时间的测试方法”。a.这种性能测试方法的重要目的是验证系统是否支持长期稳定的运用,在大的压力下进行一个较长的时间的测试,假如系统不出现问题或是不好的征兆,基本上可以拟定系统具有长期稳定运营的条件。b.这种性能测试方法需要在压力卜连续一段时间的运营,对于一般的非关犍的大型应用来说,一般让系统处在也许的峰值压力3进行2~3天的稳定性测试基本就够了。c.测试过程中需要观测系统运营状况,随着时间的推移,响应时间有明显变化或者资源使用率有明显的波动,都也许是系统部稳定的征兆,需要重点观测。.PTGM模型a.测试前期准备a.a.保证系统的稳定a.b.建立核算的测试团队b.测试工具的引入c.测试计划d.测试设计与开发d.a.测试环境设计d.b.场景设计c.测试执行和管理e.a.建立测试环境部署测试脚本和场景e.b.执行测试和记录结果f.测试分析PS:测试执行完后,即分析,同时记录结构和场景,维护和管理测试场景测试计划中的环节:1.测试目的,明确性能测试领域测试领域1性能测试目的1性能目的1能力验证验证系统在给定环境中的性能重点关注的关健业务响应时间、吞吐量规划能力验证系统的性能能力,找出系统能力扩充的关键点,给出改善其性能扩展能力的建议业务的性能瓶颈性能调优提高系统的性能表现重点关注的关键业务响应时间、吞吐量发现缺陷发现系统中的缺陷无2.用户活的剖析于业务建模2.1.用户活动的剖析1.1.通过系统日记,了解用户的活动,业务途径,分型出用户关注,常用业务模块2.通过用户调查.2.业务建模,采用流程图方式绘出个进程之间的交互关系和数据流向,业务建模是对业务系统中的行为及其实现方式和发件的建模.性能目的.制定测试时间计划S:1.多台服务器和pc机进行性能测试的时候需要时间同步2,用户数是用户数,业务数是业务数,1个用户可以进行多次同样的业务。3.基础数据量,需要我们来核算数据是否足够,因此在测试前了解数据库中将用到的表,以及表维护的的周期。a.用到表,需要确认。b.表维护,(清理周期)。c.按周期和业务量估算基础数据。第2章性能测试的应用领域性能测试的方法1、性能测试(performancetesting)A模拟生产运营的业务压力量和使用场景组合,测试系统的性能是否满足生产性能的规定。2a、负载测试(Ioadtestingh通过在系统上不断增长压力,直到性能指标超过预定或某种资源的使用达成饱和。找到系统的解决极限…3、压力测试($tresstesting)A测试系统在一定饱和状态下,系统可以解决的会话能力,以及系统是否会出现错误。常用于测试系统的稳定性。M、配置测试(configurationtesting)通过对被测软件的软/硬件环境的调整,了解各种不同环境对系统性能的影响的限度,从而找到系统各项资源的最优分派原则。5、并发测试(concurrencytesting)A模拟用户的并发访问,测试多用户并发访问同一个应用、同一个模块或者数据记录时是否存在死锁或者其他性能问题。关注内存是否有太多临时对象、超过设计生命周期的对象、数据库死锁、经常出现长事务、是否出现线程/进程同步失败、资源争用导致死锁、未解决异常导致死锁。6A、可靠性测试(re1iabilitytesting)通过给系统加载一定的业务压力的情况下,让应用系统连续运营一段时间,测试系统在这种条件下能否移定运营。7a实效恢复测试(fai1overtesting)^针对冗余备份和负载均衡的系统。检查假如系统局部发生故障,用户是否可以继续使用系统,假如这种情况发生,用户将受多大限度影响。应用领域分析1a、能力验证▲performancetesting,re1iabilitytesting,stresstesting,fai1overtesting%、能力规如loadtesting,configurationtesting,stresstesting'、性能调优configurationgtesting,1oadtesting,stresstesting,failovertesting^4、缺陷发现concurrencytesting,stresstesting,failovertesting第3章性能计数器及性能分析方法用来衡量被测系统当前的状况和进行性能测试结果分析。可在操作系统级、应用服务器级和数据库级别上查看和记录性能计数器的数值。1操作系记录数器及分析1a、Windows*Memory:availab1embytes,pages/sec.pagesread/sec,pagefaults/sec,cachebytesaProcess:%processortime,pagefaults/sec,workset,privatebytesAProcessor:%processortime,%usertime,%privilegedtime.%dpctimePhysica1Disk:%disktime,averagediskqueuelength,averagediskread/writequeue1ength,diskrcads(writes)/see,averagcdisksec/read,averagcdisksee/transfer-*NetworkInterface:bytestotal/seoSystem:%totaiprocessortime,fiiedataoperation/sec,processorqueuelength

3、内存分析方法③用于分析系统有无碰到内存瓶颈,是否需要通过增长内存等手段提高系统性能大现。A一方面查看memory/availablembytes;注意pages/scc,pagesread/sec,page「aulis/$ec(反映进行磁盘互换的频率):根据physicaldisk分析。4、解决器分析方法a先看system\%Totaiprocessortime,然后看每个cpu的指标,最后分析。5、磁盘I/O分析方法计算每个磁盘的I/O数;然后与processor\privilegedtime合并分析;最后根据disksec/transfer分析。6、进程分析方法a察看而rocessortime,反映进程消耗的解决其时间:然后查看每个进程产生的页面失效,对于产生最多页面失效的进程要重点分析;了解进程的process/privatebytes,看是否存在内存泄露。④7、网络分析方法£networkinterface\bytestotal/sec为发送和接受字节的速率,与当前带宽进行比较。3.2应用服务器计数器1、IIS2a、J2EE应用服务器计数器*weblogic:aJVM:heapsize;heapfreeJDBCconnectionpool:waitingforconnectioncurrentcount;connectiontota1count;maxcapacily;activeconnectionscurrentcountexecutequeue:executethreadcurrentidlecount:pendingrequestoldesttime:servicedrequestoldesttime;servicedrequesttota1count;pendingrequestcurrentcount;4、数据库计数器第4章性能测试工具原理a4.1性能测试工具模型性能测试工具可以根据您的规定以各种方性能测试工具只能帮助您实行性能测试,并不能帮助您完毕性能测试的需求:④式提供报表,这些报表是分析的基础。性能测试工具可以根据您的规定以各种方式提供报表,这些报表是分析的基础。a式提供报表,这些报表是分析的基础。a性能测试工具一般涉及虚拟用户脚本产生器:压力产生器;用户代理:压力调度和控制式提供报表,这些报表是分析的基础。a4.2性能测试脚本录制时的协议类型4.2性能测试脚本录制时的协议类型▲对于j2ec,建议选择http/https协议。3性能测试工具的选择与评估工具支持被;则系统运营的平台吗?支持被测系统使用的协议吗?人可以支持我们的特殊规定?a可以提供对我们关心的服务器、应用服务器或是数据库类型计数器的监控吗?a支持被测系统使用的协议吗?人可以支持我们的特殊规定?a可以提供对我们关心的服务器、应用服务器或是数据库类型计数器的监控吗?a工具使用的脚本语言功能完善吗?④常用的涉及Loadrunner和silkperformer0第5第5章性能测试的组织5.la人员构成a5.2过程模型基于ATLM和TMap模型。口、前期准备保证系统稳定、建立合适的测试团队、测试工具需求确认。沙、测试工具引入选择;培训:应用过程。43、测试计划a测试目的(应用领域,测试目的):用户活动剖析与业务建模(系统日记与用户调杳分析):拟定性能目的:制定计划。6测试设计与开发a测试环境设计;测试场景设计;测试用例设计:脚本和辅助工具开发活动。5、测试执行与管理a建立漏试环境;部署测试脚本和测试场景;执行测试和记录结果。佻、测试分析根据测试的目的和目的给出测试结论。第8章案例三某通信公司的web业务系统性能测试心.1背景该系统用于管理公司的备品和备件,涉及网络设备的库存管理、库存流转、备品备件的杳询记录。测试的重要目的是验证系统的性能是否达成用户规定。8.2项目特点采用J2ee,tomcat,struts+ejb+hibernate»一台unix服务器用作数据库服务器,一台unix服务器用作应用服务器。性能体现重要是响应时间。协议为http/httpSo8.3测试过程1、前期准备5人:一个数据库工程师、一个性能测试设计和分析人员、三名性能测试开发和实行人员。工具需要支持Http/https协议,监控unix/windows服务器的重要性能计数器值,支持oracle数据库计数器值监控,支持tomcat应用服务器的jvm内存使用状况监控。2、测试工具引入选择LoadRunnder;lomacat的jvm自行开发工具来实现。3、测试计划(D测试目的:验证系统是否达成预期性能指标(2)用户活动剖析与业务建模:得到典型用户活动分析表,并发用户数和吞吐量用户活动分析表业务名称实际使用用户数量业务发生数(笔/天)aa备件信息2001500Aa库存流转一申请20040004A库存流转一审批1004000

库存流转-借用15030004库存流转-还库150库存流转-报废100200查询记录-备件查询2005000导入备件Exce1文献查询记录一申请单查询1002023a20平均天天该系统的用户为600;库存流转-借用15030004库存流转-还库150库存流转-报废100200查询记录-备件查询2005000导入备件Exce1文献查询记录一申请单查询1002023a20所以并发用户数:600*4/8=300吞吐量:300*500/(4*60*60)=10,浏览数/秒具体描述at在典型数据量,页面响数据规模备件5000具体描述at在典型数据量,页面响数据规模备件500000条记录,应时间不超过应时间不超过10秒应时间不超过10秒半年流转数据应时间不超过10秒半年流转数据750000条记录4系统可以稳定运营压力条件)高于实际系统运营压力1倍系统稳定鉴定条件:件)测试中,各进程内存没有明显变化测试中,响应时间和业务能力没有明显变化连续测试时间72小时典型规模的excel典型规模的excel备文献规模20M,包含记录50000条件文献导入时间性能在10秒的响应时间下,以响应时间〉10下,以响应时间〉10秒作为负载测试的结束条件,A能承受的用户数获得系统能承受的最大用户数量▲-A在典型用户数量下,CPU平均使用率不高于75K内存使用率不高于75与:在稳定性测试的压力条件下,CPU使用率不高于95%,内存使用率不高于90%。4(a)制定期间计划。-A▲子项目名称子项目起止时间里程碑成果参与者测试环境和场景设计2023.3.1-2023.3.2测试环境文档、测试场景文档同则试用例设计和脚本开发2023.3.3-2023.3.10测试用例文档、测试脚本a测试环境构建2023.3.3-2023.5测试环境、测试环境描述文档测试工具和场景部署2023.3.11-2023.3.12测试工具部署说明、场景部署说明执行性能测试2023.3.13-2023.3.15测试结果记录▲稳定性测试20216-2023.3.20测试结果记录碉试结果分析和报告编写测试报告4、测试设计与开发(1)测试环境设计山于本测试重要与于验证系统在实际环境中的性能能力,因此尽也许选择接近实际环境的配置。测试环境备硬件配置软件配置》4数据库服务器SUNV880服务器(1台)So1aris844PU8GR内存磁盘阵列Oracle0.1服务器性能计数器脚本A应用服务器SUNV880服务器(1台)Solaris8a4CPU8GB内存磁盘阵列Tomeat5服务器端应用入服务器性能计数器脚本4性能测试ConsolePC机(1台)WindowsXP+SPlCPU2.4GHZ512MB内存LoadRunnerContro1ler40GB硬盘LoadRunnerAnalysis40GB硬盘负载产生设备PC机(5负载产生设备PC机(5台)WindowsXP+SPlCPU2.4GHZ512MB内存CPU2.4GHZCPU2.4GHZ512MB内存LoadRunnerAgenlAenlA40基础数据量在需求中已有描述enlA40基础数据量在需求中已有描述基础数据量在需求中已有描述(2)基础数据量在需求中已有描述(2)测试场景设计a(2)测试场景设计a设计并发用户数(2)测试场景设计a设计并发用户数300,每个VL.操作之间的时间间隔为30机典型测试场景a场景名称场景业务及分派比例测试指标性能计数器场景名称场景业务及分派比例测试指标性能计数器场景名称场景业务及分派比例测试指标性能计数器派:派:页面数据库服务罂常用性能计数器A应用A系统派:页面数据库服务罂常用性能计数器A应用A系统备件信息100用户分应用服务器cpu使用率应用服务器cpu应用服务器cpu使用率典型典型申请单100时间应用服务器内存使用率A场景1备件查询100小于应用服务器典型申请单100时间应用服务器内存使用率A场景1备件查询100小于应用服务器JVM可用内存用户增长模式:10秒响应时间rampup,每15秒增长4个rampup,每15秒增长rampup,每15秒增长4个迭代时间间隔30秒运营时间30分钟a系统系统用户分派:页面数据库服务器常用性能计数器A应用申请单10响应应用服务器cpu使用率A典型系统用户分派:页面数据库服务器常用性能计数器A应用申请单10响应应用服务器cpu使用率A典型审批I00应用服务器内存使用取场景2还库50小于应用服务器JVM可用内存报废10报废10响应时间用户增长模式:rampup,报废10响应时间用户增长模式:rampup,每15秒增长4个迭代时间间隔30机迭代时间间隔30机迭代时间间隔30机运营时间30分钟4公系统公系统用户分派:页而数据库服务曙常用公系统用户分派:页而数据库服务曙常用性能计数曙应用申请单100响应应用服务器cpu使用率典型审批100时间应用服务器内存使用率场景3备件查询100小于应用服务器JVM可用内存a报废1010秒响应时间上用户增长模式:rampup,每15秒增长4个迭代时间间隔30秒运营时间30分钟a稳定用户分派:页面数据库服务器常用性能计数器a性测典型场景3用户数响应应用服务器cpu使用粕试场的两倍时间应用服务器内存使用率景备件查询100小于应用服务器JVM可用内科运营时间72小时10秒响应时间数据用户分派:页面数据库服务器常用性能计数都导入导入Excel文献10响应应用服务器cpu使用率场景申请单100时间应用服务器内存使用率a审批100小于应用服务器JVM可用内存a用户增长模式:1。秒响应时间为rampup,每15秒增长4个a迭代时间间隔30秒冷运营时间30分钟(3)测试用例设计上将用户业务操作形成更具体的用例环节。a审批业务:用例编号:TC_xxxx_xxx-1用例条件:用户已经登录,具有审批的权限用户环节和验证方法:1A、用户单击“库存流转”链接,进入库存流转页面A验证:页面出现库存流转提醒字符串42、用户在页面左侧树试图上单击“审批”链接,进入审批页面A验证:页面上出现审批单:列表提醒字符串3、用户在页面给出的等待审批的申请单列表中选择最上方的一个,单击审批按钮,进入审批页面验证:给出选中审批单信息、,页面上出现被选中审批单的编号4、用户输入审批信息,单击通过按钮A验证:页面上出现审批通过提醒字符串(4)脚本和辅助工具开发活动。A5、测试执行与管理A建立测试环境:部署测试脚本和测试场景;执行测试和记录结果。㈠、测试分析A根据测试的目的和目的给出测试结论。《软件性能测试过程详解与案例剖析》学习笔记12023年10月20日星期二13:39RBI(RapidBottleneckIdentify)方法是一种用于快速辨认系统性能瓶颈的方法。该方法基于以下一些事实:a.发现的80%系统的性能瓶颈都由吞吐量制约;b.并发用户数和吞吐量瓶颈之间存在•定的关联;c.采用吞吐量测试可以更快速定位问题。rbi方法一方面访问服

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论