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