软件性能测试培训―中级篇

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

内容概要1.LR介绍2.性能测试过程3.LR工具的使用LoadRunner工具组成1、虚拟用户脚本生成器:捕获最终用户业务流程和创建自动性能测试脚本,即我们在以后说的产生测试脚本;2、压力产生器:通过运行虚拟用户产生实际的负载;3、用户代理:协调不同负载机上虚拟用户,产生步调一致的虚拟用户;4、压力调度:根据用户对场景的设置,设置不同脚本的虚拟用户数量;5、监视系统:监控主要的性能计数器;6、压力结果分析工具:本身不能代替分析人员,但是可以辅助测试结果的分析。LR工作原理代理(Proxy)是客户端和服务器端之间的中介人,LoadRunner就是通过代理方式截获客户端和服务器之间交互的数据流。1、虚拟用户脚本生成器通过代理方式接收客户端发送的数据包,记录并将其转发给服务器端;接收到从服务器端返回的数据流,记录并返回给客户端。这样服务器端和客户端都以为在一个真实运行环境中,虚拟脚本生成器能通过这种方式截获数据流;虚拟用户脚本生成器在截获数据流后对其进行了协议层上的处理,最终用脚本函数将数据流交互过程体现为我们容易看懂的脚本语句。2、压力生成器则是根据脚本内容,产生实际的负载,扮演产生负载的角色。3、用户代理是运行在负载机上的进程,该进程与产生负载压力的进程或是线程协作,接受调度系统的命令,调度产生负载压力的进程或线程。4、压力调度是根据用户的场景要求,设置各种不同脚本的虚拟用户数量,设置同步点等。5、监控系统则可以对数据库、应用服务器、服务器的主要性能计数器进行监控。6、压力结果分析工具是辅助测试结果分析。对测试工具误解或模糊的方面1.性能测试就是用性能测试工具进行测试?2.性能测试工具可以完成性能测试结果分析工作?3.性能测试工具与功能测试工具区别?4.何时选择何种协议?答案1.学好工具的使用不等于学会了性能测试,自动化您的大脑,而不是您的双手,性能测试工具只能帮您实施测试工具,不能帮助您完成性能测试的需求,设计和分析工作。2.性能测试工具能够根据您的要求以各种方式提供报表,这些报表可以被您用来分析穖性能状态。3.功能测试工具针对GUI的操作录制,脚本中记录的是用户对控件的操作,功能测试工具通过操作和数据难功能的正确性,评价标准是界面可见内容的正确性。性能测试工具录制的是服务端和应用之间的通信。4.见文档性能测试过程当我们接受一个性能测试任务时,首先想些什么?需要做哪些准备?答案1.大体估计一下,使用系统的用户数是多少(最好和客户沟通确认一下),经常要使用系统的用户和不怎么经常用系统的用户最好要分开,这对估算并发用户数有关联。2.被测试系统中,哪些功能是后台处理的,哪些功能是前台操作,其中哪些功能是使用人数最多的,每个功能大约有多少用户使用?3.系统一年的数据量到底有多大?数据要求保存几年?每天的增量是多少?4.系统是否有数据量超过百万、千万以上的表?这些表索引是否建了?索引有效吗?针对这些大表的功能操作有哪些?5.在前台执行哪些操作明显能感觉到慢(等待超过10s以上的)?6.目前,客户现场给提供的机器型号、硬件配置、网络带宽(下级机构访问速度受带宽影响很大)是多少?7.被测试系统是如何部署的,有无其它应用程序,或应用服务8.其他能够提供的信息,最好提供详细一些。2.性能测试过程测试需求分析制定测试策略制定测试方案执行测试方案测试结果分析编写测试报告2.1测试需求分析测试需求分析主要有以下的几个关键点:测试的目的是什么性能符合性验证:验证是否满足应用的需要。性能能力验证:确定性能极限、是否存在性能瓶颈。性能调优:对系统的性能进行调试、优化。2.1测试需求分析测试要素分析:用户数量测试执行的功能用户分布(即执行每种功能的用户数)硬件环境(包括网络环境)软件环境数据量其它分析系统运行中所出现的问题有什么特征或规律疲劳测试执行时间多少性能需求的指标是什么等2.2制定测试策略测试目的不同,则相应的测试策略不同。性能符合性验证—负载测试、疲劳强度测试。性能能力验证—压力测试、疲劳强度测试。性能调优—测试-调整-测试。负载测试、压力测试、疲劳强度测试。2.3制定测试方案测试需求测试策略测试场景测试环境测试准备人员及时间安排问题与对策2.4执行测试方案搭建测试环境录制脚本、编辑脚本布置测试场景执行测试场景2.5测试结果分析性能符合性验证:查看测试结果是否满足要求,比如响应时间、资源利用率、吞吐量等等。性能能力验证:查看测试结果是否满足要求,记录软件系统的性能变化曲线。对于确定是否存在性能瓶颈,首先判断是否存在硬件(包括网络)瓶颈问题,若不存在硬件瓶颈问题,则按照应用软件到系统软件(应用服务器、数据库服务器、操作系统)的顺序进行分析,确定瓶颈点。性能调优:同性能能力验证确定性能瓶颈分析方法。2.5测试结果分析硬件瓶颈分析方法内存分析方法处理器分析方法磁盘I/O分析方法网络分析方法2.5测试结果分析内存分析方法1.首先查看可用内存(Memory\AvailableMbytes)计数器指标。若值较小则可能有内存问题,需进一步分析。2.注意Pages/sec、PagesRead/sec和PageFaults/sec计数器的值。Pages/sec和PageFaults/sec的值持续很高,很可能内存问题,若PagesRead/sec的值超过5,则可判断存在内存问题。3.根据PhysicalDisk计数器的值分析性能瓶颈。如果磁盘的AverageDiskQueueLength计数器增加的同时PagesRead/sec并未降低,则可判断内存有问题。2.5测试结果分析处理器分析方法1.首先查看System\%TotalProcessorTime计数器的值。该值体现的是CPU的平均利用率,若超过90%,则说明存在处理器方面的瓶颈。2.其次查看每个CPU的Processor\%UserTime计数器的值。若应用服务器的%UserTime值较大,可以考虑是否能通过算法优化等方法降低这个值。若数据库服务器的%UserTime值较大,可考虑对数据库系统进行优化。3.查看System\ProcessorQueueLength计数器的值。当该值大于CPU数量的总数+1时,说明存在处理器方面的问题。2.5测试结果分析磁盘I/O分析方法1.查看%DiskTime计数器的值。该值较大,则可能存在磁盘瓶颈问题。2.与Processor\PrivilegedTime合并进行分析。若%DiskTime值较大,而Processor\PrivilegedTime的值适中,则可判断存在磁盘问题。若Processor\PrivilegedTime较大,持续超过80%,则可能是内存泄漏。3.根据Disksec/Transfer进行分析。该值超过60ms,则磁盘存在问题。2.5测试结果分析网络分析方法1.查看NetworkInterface\BytesTotal/sec计数器的值。用BytesTotal/sec计数器的值和网络的带宽进行比较,若超过50%,则说明网络存在性能瓶颈问题。2.5测试结果分析软件瓶颈分析方法分析事务响应时间、吞吐量,确定是否存在性能问题,若发现存在性能问题,则找出响应时间不符合要求或者出现多个失败的事务,对其进行分解,然后对其进行网页细分,以确定影响性能的元素。2.6编写测试报告测试指标:描述与测试场景对应的事务平均响应时间、事务吞吐率、资源消耗指标、运行的用户数等信息。结果分析与总结:根据测试目标,描述最后分析得到的结果,并给出相应的建议。3.LR工作使用手工演示以下内容一VuGen1录制基本用户脚本2完善测试脚本(插入事务,集合点,注释参数化,插入函数,检查点)3Run-Timesetting4单机执行脚本5参数化某一变量(例如用户名、密码)二场景1创建运行场景(设置用户,设置schedule,Run-Timesetting等)三分析结果1如何添加并监控操作系统资源2如何生成报告(word\html等格式)3如何查看更多的计数器及结果4图形综合分析(包括页面分解等内容)谢谢!

1 / 24
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功