性能测试培训(LoadRunner、JMeter、性能调优)

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

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

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

资源描述

性能测试培训中国塞宝(四川)实验室四川省电子产品监督检验所四川省软件和信息系统工程测评中心方建康1、性能测试基础2、Loadrunner工具介绍2.1、Loadrunner之VirtualUserGenerator2.2、Loadrunner之Controller2.3、Loadrunner之Analysis3、Jmeter工具介绍3.1、Jmeter概要3.2、Jmeter脚本录制3.3、Jmeter测试实践4、影响系统性能的因素5、性能调优培训章程性能测试是什么?使用自动化测试工具对产品按一定的性能指标进行测试,解决性能瓶颈,给用户最好的体验。性能测试的时代背景,作用?大数据时代、网址(百度、淘宝、京东)、软件(微信、QQ)、游戏(手游、页游、端游)、金融(银行、证券系统)、教育(教务系统)、交通(12306)通过性能测试,来保证以上系统的能够给用户更好的使用体验!性能测试基础性能测试基本流程项目经理、业务/框架专家、产品经理、高级性能测试工程师、开发经理性能测试需求分析项目经理、框架专家、产品经理、高级性能测试工程师性能测试计划性能测试工程师、外部支持(网络工程师、系统管理员)性能测试准备开发脚本/执行测试高级性能测试工程师、性能测试工程师测试结果分析高级性能测试工程师、外部支持(系统管理员、DBA)系统调优框架师、产品经理、高级性能测试工程师、外部支持(DBA)编写测试报告性能测试工程师、高级性能测试工程师响应时间(Responsetime)响应时间就是用户感受软件系统为其服务所耗费的时间,对应网站系统来说,响应时间就是从点击一个页面计时开始,到这个页面完全在浏览器里展现计时结束的这一段时间间隔。响应时间:2-5-8原则•当用户在2-5秒之间得到响应时,会感觉系统的响应速度还可以;•当用户在5-8秒以内得到响应时,会感觉系统的响应速度很慢,但是还可以接受;•而当用户在超过8秒后仍然无法得到响应时,会感觉系统非常慢,这样的系统一般不会被接受。(有研究显示,当网站的加载时间延迟1秒,那么会有1/4的用户流失。)性能测试常用指标吞吐量(Throughput)指在单位时间内客户端和服务器成功发送数据的数量。如网上下载文件,客户端向服务器发送下载请求,服务器发送文件内容到客户端,这个过程所产生的数据就为吞吐量,吞吐量越大越好。资源使用率(TresourceUtilization)常见的资源有:CPU占用率、内存使用率、磁盘I/O、网络I/O。每秒点击数(Hitspersecond)指客户端每秒钟向服务器提交的请求数量,如果客户端发送的请求数量越多,之间相对的平均吞吐量也应该越大。性能测试常用指标并发用户数(Concurrentusers)指在客户端的一批用户同时执行一个操作的数量。并发数反应了软件系统的并发处理能力。两种错误理解:1、使用系统的全部用户的数量2、用户在线数量(不做任何操作的用户)性能测试常用指标如果要做性能测试,传统方式该怎么做呢?传统性能测试方式-不精确、不严谨。Loadrunner安装、组件介绍Loadrunner介绍脚本录制、编辑、调试,支持最好的是C语言,也支持Java、C#、python等。压测场景,设置并发等参数,运行期间提供多种图标的实时展示。结果分析,图表维度、值等结果参数的展示及整合。Loadruner自带的自学网站。启动网站:LoadrunnerSample网址登录账号:用户名:jojo密码:bean1.提示1080端口被占用。Cmd:输入命令netstat–ano查找各端口所在进程的PID,找到1080的程序PID,在自由管理器中将其关闭,再重启服务。2.Internalerror:yourrequestwasunsuccessfulCatcreateCGIprocess–programnotfound安装strawberry-perl-5.12.3.0,和lr安装在一个盘符。LoadrunnerSample不能访问解决方法VirtualUserGenerator-创建测试脚本123VirtualUserGenerator-步骤把操作转换为脚本语言。检查转换脚本语言是否正确。设置注释、事务、参数化、时间间隔等。设置负载场景。VirtualUserGenerator-录制脚本准备工作VirtualUserGenerator-Init、Action、EndInit录制的一般是业务流程开始之前的初始化工作(如登录、服务器初始化)。Action录制的一般是业务流程操作的事件。End录制的一般是退出的时候执行的操作。(如用户退出、注销)init和end不能迭代多次,只能运行一次,action可以迭代多次运行。如果测试需求没有对业务流程设置重复的要求,可以都放在action部分。有重复的要求,如要求一个用户登录之后要求重复订票10次,就需要把订票部分的脚本放在action之中进行迭代。登录部分脚本放在init,退出部分放在end。VirtualUserGenerator-脚本录制测试需求:登录WebTours订票网站,预定一张机票后退出。脚本录制操作步骤:1、启动Web服务器。2、打开VirtualUserGenerator界面。3、选择脚本协议。4、进行页面操作。5、回放验证。6、增强脚本。具体观看演示。VirtualUserGenerator-运行时设置介绍VirtualUserGenerator-回放结果刷选器进行筛选VirtualUserGenerator-设置关联许多应用程序都使用动态值,每次使用应用程序时这些值都会变化,例如,有些服务器会为每个新会话分配一个唯一的会话ID。回放录制会话时,应用程序创建新会话ID与录制的会话ID不同。LoadRunner通过关联解决这种问题。关联将动态值保存到参数中。运行模拟场景时,Vuser并不使用录制的值,而是使用服务器分配的新的会话ID。VirtualUserGenerator-HTML模式与URL模式模式选择菜单:工具/录制选项/录制VirtualUserGenerator-HTML模式与URL模式在默认情况下,选择HTML模式,这种方式的脚本容易维护,容易理解,推荐使用这种方式录制脚本。URL模式说明:脚本中的表示采用基于URL的方式,所有的HTTP请求都会被录制下来,单独生成函数,所以URL模式生成的脚本会显示得比较杂乱。URL录制的脚本中Web_concurrent_start函数是并发组开始的标记,Web_concurrent_end是并发组的结束标记。在并发组中的函数不是立即执行的。在并发组开始时,所有的函数首先被记录下来,当并发组结束时,所有的函数并发执行。演示URL录制方式VirtualUserGenerator-HTML模式与URL模式选择HTML还是URL录制,有以下参考原则:1、基于浏览器的应用程序推荐使用HTML模式。2、不是基于浏览器的应用程序推荐使用URL模式。3、如果基于浏览器的应用程序中包含了javascript并且该脚本向服务器产生了请求使用URL模式。4、基于浏览器的应用程序中使用了HTTPS安全协议,使用URL方式录制。VirtualUserGenerator-添加事务定义:事务(Transaction),为了衡量某个操作的性能,需要在操作的开始和结束位置插入这样的一个范围,这就定义了一个transaction。原因:从性能测试的角度出发,我们需要知道不同的操作所花费的时间,这样我们就可以衡量不同操作对被测系统所造成的影响,那么我们如何知道不同操作所花费的时间,这就用到了事务,我们在操作之前插入一个事务开始标识,在操作完成后插入一个事务结束标识,这样我们就知道了这个操作所花费的时间。作用:LoadRunner运行到该事务的开始时,lr就会开始计时,直到运行到该事务的结束点,计时结束。这个事务的运行时间在lr的运行结果中会反映出来,通俗的讲lr中VirtualUserGenerator-添加事务的事务就是一个计时的标识,lr在运行过程中一旦发现事务开始标识,就开始计时,一旦发现事务的结束标识,则计时结束,这个过程中得到的时间即为一个事务时间。通常事务时间反应的是一个操作过程的响应时间。函数构造:事务开始函数共包括一个参数,就是事务名称,事务结束函数共包括两个参数,第一个参数是事务名称,第二个参数是事务的状态,事务状态可以分为LR_PASS:返回PASS;LR_FAIL:返回Fail;LR_STOP:返回Stop;LR_AUTO:自动返回检测到的状态。Duration表示事务的完成响应时间,wastedtime包括事务中函数自身执行所消耗的时间。演示添加事务,两种方式…VirtualUserGenerator-添加事务注意:在应用事务的过程中,不要将思考时间(lr_think_time函数)放在事务开始和结束之间,否则在回放思考时间设置被允许的情况下,思考时间将被算入事务的执行时间,从而影响对事务的执行时间的分析和统计。VirtualUserGenerator-脚本参数化VirtualUserGenerator-脚本参数属性介绍选择下一行:顺序(Sequence):按照参数化得数据顺序,一个一个的来取。随机(Random):参数化中的数据,每次随机的从中抽取数据。唯一(Unique):为每个虚拟用户分配一条唯一的数据。更新值的时间:每次迭代(Eachiteration):每次迭代时取新的值。每次出现(Eachoccurrence):每次参数化时取新的值,这里强调前后两次取值不能相同。只取一次(once):参数化中的数据,一条数据只能被抽取一次。以上两个属性组合就有9种方式,这里不一一进行说明,可以亲自尝试看效果。VirtualUserGenerator-设置检查点内容检查菜单:Vuser/运行时设置/Internet协议/内容检查VirtualUserGenerator-设置检查点VirtualUserGenerator-日志解析1、回放日志(Replaylog):脚本回放运行时输出都记录在这个log里输出窗口的回放日志显示得消息用于描述Vuser运行时执行的操作,该信息可以说明在方案中执行脚本时,该脚本的运行方式,脚本执行完成后,可以检查回放日志中的消息,以查看脚本在运行时是否发生了错误。回放日志中使用了不同的颜色的文本。黑色:标准输出消息。红色:标准错误消息。绿色:用引号括起来的文字字串(例如URL)。蓝色:事务信息(开始、结束、状态和持续时间)。橙色:迭代次数信息。如果双击以操作名开始的行,光标将会跳转到生成脚本中的相应步骤上。VirtualUserGenerator-日志解析2、录制日志当录制脚本时,Vugen会捕捉Client端(浏览器)与Server端(服务器)之间的对话,并且通过日志记录下来,产生脚本。在Vugen的RecordingLog中,我们可以找到浏览器与服务器之间的所有对话,包括通信内容、日期、时间、浏览器请求、服务器的响应内容等。3、生成日志记录了脚本的设置、网络事件到脚本函数的转换过程。VirtualUserGenerator-错误处理函数错误处理设置:Vuser/运行时设置/常规/其他VirtualUserGenerator-错误处理函数VuGen提供了错误处理函数lr_continue_on_error,用来在脚本中实时修改Vuser的错误设置。lr_continue_on_error函数的语法结构如下:voidlr_continue_on_error(intvalue);Value是脚本运行出错设置的取值,具体取值及相应值得含义如下表所示。在使用表中的参数时,既可以使用常量名称作为参数,也可以直接使用对应常量值作为参数。常量名称常量值含义LR_ON_ERROR_NO_OPTIONS0取消出错继续执行设置LR_ON_ERROR_CONTINUE1发生错误继续运行脚本LR_ON_ERROR_SKIP_TO_NEX

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

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

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

×
保存成功