欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    《性能测试培训》PPT课件.ppt

    • 资源ID:70315699       资源大小:2.63MB        全文页数:91页
    • 资源格式: PPT        下载积分:11.9金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要11.9金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    《性能测试培训》PPT课件.ppt

    主讲:王春梅性能测试 培训培训内容本次培训主要内容:性能测试理论 脚本录制 场景设置 性能分析性能测试性能测试:通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。性能测试的分类性能测试类型包括负载测试,强度测试,容量测试等 负载测试:负载测试是一种性能测试,指数据在超负荷环境中运行,程序是否能够承担。强度测试:强度测试是一种性能测试,他在系统资源特别低的情况下软件系统运行情况。容量测试:确定系统可处理同时在线的最大用户数测试流程目标计划:创建Vuser脚本:定义场景:运行场景:监测场景:分析结果:测试工具-loadrunner8.0 Loadrunner工具是一种预测系统行为和性能的工业标准级负载测试工具,通过以模拟大量用户实施并发,性能监测来确认和查找问题 现在软件的复杂程度以某种惊人的速度在增加,那么性能测试是量化和减少业务风险中最常见的策略.Mercury Loadrunner是现在最流行的性能自动测试工具之一LR脚本录制脚本流程及脚本结构录制脚本选项脚本中插入事务、集合点、检查点及参数化创建测试脚本的工作流程创建测试脚本的工作流程nPlan:规划nRecord:录制:(可手工开发但是基于WEB 的系统工作量太大)nEnhance:增强(加检查点等)nTest:回放(目的在于验证脚本录制是否正确)planrecordenhancetest录制脚本的过程 新建-选择协议-设置录制选项-按计划操作系统-停止录入-保存New virtual userNew virtual userStart recordingStart recordingnewnewApplication typeApplication typeProgram to recordProgram to recordURL adressURL adressWorking directoryWorking directoryRecord into actionRecord into actionPlanned operation Planned operation stopstopsavesaveStart recording 设置录制选项Application type:IE、win32(自己编的Clientserver的程序但是也是基于HTTP协议的。)Start recording 设置录制选项Program to record:浏览器的可执行文件如果想用其他浏览器就把浏览器的可执行文件的路径找到即可,比如IE的,C:WINDOWSexplorer.exeURL adress:录制脚本的网址Working directory:缺省值 不用管Record into action:init action end三个函数,头和尾只执行一次,action重复执行。LR是怎么录制脚本的 截获客户端和服务器端之间的通讯包。通常的测试工具录制脚本有一共有两种方式。Sniffer的方法:利用以太网(局域网)的广播特性。(客户端和服务器在同一个网段不能跨网段)Proxy的方法(代理的方式):更加有通用性。LR采用的就是此种方式。(客户端发出请求给VUG转发给服务器,从而VUG捕获客户端可服务器之间的通讯包。)录制的测试脚本的规律脚本的语句是按照“发-收-发-收”的次序排列(客户端先有发出请求,提供服务者接受请求,再回馈给客户端。)脚本是顺序执行的,没有分支判断和循环。以上两种规律适用于任何协议的录制脚本。脚本结构三个函数:init、action、end startVuser_initactionVuser_endendVuser_Init:脚本启动时运行一次Action:脚本的主体函数,可以运行任意次,由run time setting进行设置。Vuser_End:脚本退出时运行一次(回放)VUG回放脚本的目的确定是否好用:标准:如果能正常的向数据库发出请求并正常的得到回应。是否达到正常的目的。(发出请求是否正常)当录制是业务的流程时,脚本比较多,确保脚本好用录制基本的用户脚本录制基本的用户脚本 协议 协议:其实就是客户端和服务器端之间的通讯方式(通讯语言)。例子:不同的客户端和不同的服务器之间的通讯方式是不一样的,比如中国与外部国家用英语进行沟通,这个英语就是一种通讯的方式,也可以叫做协议。录制基本的用户脚本在此可执行循环在此可执行循环Init。end不可不可录制基本的用户脚本录制基本的用户脚本顺序性顺序性可有多个可有多个可执行多次可执行多次录制基本的用户脚本脚本中采用脚本中采用HTML 页面的页面的形式来表示形式来表示录制基本的用户脚本录制基本的用户脚本录制基本的用户脚本完善测试脚本 当录制完一个基本的用户脚本后,在正式使用前我们还需要完善测试脚本,增强脚本的灵活性。一般情况下,我们通过以下方法来完善测试脚本。Loadrunner中的事务 定义:事务又称为Transaction,事务(Transaction)是这样一个点,我们为了衡量某个action(动作)的性能,需要在action的开始和结束位置插入这样一个“范围”,这就定义了一个transaction。事务的作用例子:瘸子走路,判断哪条腿是残疾,判断的依据:时间-两条腿迈步的时间,那条腿慢就说明哪条腿有问题。事务的作用loadrunner运行到该事务的开始点时,loadrunner就会开始计时,直到运行到该事务的结束点,计时结束。这个事务的运行时间在loadrunner的运行结果中会有反映。通俗的讲loadrunner中的事务就是一个计时标识,loadrunner在运行过程中一旦发现事务的开始标识,就开始计时,一旦发现事务的结束表示,则计时结束,这个过程中得到的时间即为一个事务时间。通常事务时间所反映的是一个操作过程的响应时间。为什么在LR中使用事务1、事务是loadrunner度量系统性能指标的唯一手段;(没有事务则没有办法衡量系统的响应时间,也许有人说loadrunner可以通过编程来计时得到,不错如果你编程能力够强是能够实现的,但肯定不如loadrunner中的事务用的简单而且方便)为什么在LR中使用事务2、事务能够用于度量高风险业务流程的性能指标;3、事务能够度量在一组操作中每一步的性能指标;4、通过事务计时实现了不同压力负载下的性能指标对比;5、通过事务计时可以帮助定位性能瓶颈;使用事务的方法方法一:脚本生成后,手动插入事务;方法:在loadrunner脚本中点击鼠标:右键,选择“Insert”“Start Transaction”弹出一个对话框,输入一个事务名字(注:事务名字可以为中文、可以为英文,也可以中英文混合,但推荐的做法是起一个容易理解的名称,例如想知道登录所花费的时间,则插入事务可以命名为login或登录);使用事务的方法“Start Transaction”插入完成后,还需要插入一个“End Transaction”,用以标识事务结束;注:Start Transaction和End Transaction需要成对出现,如果仅插入Start Transaction则脚本编译会提示错误;此外,还可以通过loadrunner vixen中的“Insert”菜单插入Start Transaction和End Transaction;使用事务的方法2、方法二:在脚本录制过程中插入Start Transaction和End Transaction;在脚本录制过程中,通过录制工具条上的Start Transaction和End Transaction图标插入事务,如下图所示:使用事务的方法3、方法三:通过Run-time Settings中的Automatic Transactions自动生成事务,如下图所示:使用事务的方法注:该种方法插入的事务仅能在loadrunner Controller中的图表和报告中看到在脚本的log中看不到。以上为事务的插入方法,无论是那种方法,插入事务后,我们都可以在脚本中看到如下两个函数:lr_start_transaction(事务)和lr_end_transaction(事务,LR_AUTO),前一个为事务开始函数,后一个为事务结束函数,括号中引号中的内容为事务名称。插入集合点 插入集合点是为了衡量在加重负载的情况下服务器的性能情况注意:集合点经常和事务结合起来使用。集合点只能插入到 Action 部分,vuser_init和 vuser_end中不能插入集合点。集合点定义:在事务中,用户集体并发的点。要素:1、必须在action函数中插集合点 2、必须在事务开始点之前插集合点目的:检测某一事务什么时候设集合点:1、有并发事务2、担心进程不能同时启动,可以用这个集合函数来做限制。例子:例如两个线程,A先到了B没到,按照操作系统处理方式,时间切片上是先进先出的,不可能有什么并发,那么就设个锁,所以有的集合点集合点3、集合点是一种特殊情况下的并发,通常是在以调优为目的的性能测试中才会用得到,目的是有针对性地对某个可能存在性能问题的模块施压,以便找到性能。集合点例子:大家等在一个地方(食堂这个集合点),人都到了并且到开饭的时间(集合点的等待时间的结束点),集体吃饭。即,多个用户,同一时刻,执行同一个事务。集合点的作用集合点可以控制各个vuser在同一时刻执行任务。借助集合点,可以在LR中实现真正意义的完全一样的并发。问题:在实践中,我们经常会碰到这样的情况:测试需求说,该系统应支持200个并发用户。那么我们就开始测,录制好脚本,下一步就是在场景中执行了,在控制台中设置某脚本并发用户数为200,测试结果为通过或未通过。此时争议就来了:这200个用户的脚本如果执行通过,测试结果可以接受,是否可以说这个系统支持了200个并发呢?并发“并发用户数”、“系统用户数”和“同时在线用户数”。假设有一个OA系统,该系统有2000个使用用户这就是说,可能使用该OA系统的用户总数是2000名,这个概念就是“系统用户数”,该系统有一个“在线统计”功能(系统用一个全局变量记数所有已登录的用户),从在线统计功能中可以得到,最高峰时有500人在线(这个500就是一般所说的“同时在线人数”),那么,系统的并发用户数是多少呢?Controller中设置集合点策略Controller中设置集合点策略参数化含义:用参数来替换一些常量。作用:执行脚本时,vuser将使用指定数据源的值来替换参数。参数数据源:可以是一个文件;内部生成的变量;源于数据库中的查询结果。什么可以参数化:用户名,密码,日期,用户ID。即、数据库中存在的数据。例子:登陆参数化参数化选择“Replace with a parameter.”,出现以下窗口:插入Text/Imag检查点在进行压力测试时,为了检查 Web 服务器返回的网页是否正确,VuGen 允许我们插入Text/Imag 检查点,这些检查点验证网页上是否存在指定的 Text 或者Imag,还可以测试在比较大的压力测试环境中,被测的网站功能是否保持正确。插入检查点的步骤比较简单。添加 Text/Imag 检查点,可以在录制过程中,也可以在录制完成后。推荐该项。检查点含义:LR用来检查服务器端返回给客户端的结果是否正确的点。什么时候用:1、压力测试时,检查WEB服务器返回的网页结果是否正确。哪些可以设为检查点:文本或者图片检查点的作用:验证网页是否存在指定的的文本或者是图片。例子:213公交站牌,等待213班车。为什么要插入检查点为什么需要检查点 LoadRunner的很多API函数的返回值会改变脚本的运行结果。比如 web_find函数,如果它查找匹配的结果为空,它的返回值就是LR_FAIL,整个脚本的运行结果也将置为FAIL;反之,查找匹配成功,则 web_find返回值是LR_PASS,整个脚本的运行结果置为PASS。而脚本的结果则反应在Controller的状态面板上和Analysis统计结果中。为什么要插入检查点 web_image_check也是一个决定脚本运行结果的函数。但仅仅通过脚本函数执行结果来决定整个脚本的成功/失败,这未免太草率了。因为脚本往往是在执行一个业务流程,VU脚本函数本身是协议级的,它执行的失败会引起整个业务的失败,但它运行成功却未必意味着业务会成功。比如,我们要测100人登录一个Web邮件系统,此邮件系统有个限制,即不允许使用同一个IP登录两个用户。为什么要插入检查点 显然,如果LoadRunner没有开启多IP欺骗功能的话,第一个虚拟用户登录成功后,第二个虚拟用户试图登录,系统将返回一个页面,提示用户“您已经登录本系统,请不要重复登录!”。在这种场景下,如果没有设检查点来判断这个页面,那么 VU认为它已经成功地发送了请求,并接到了页面结果(http状态码为200,虽然是个错误页面)。这样VU就认为这个动作是成功的。但事实如我们所见,并非如此。因此我们要采用检查点来判断结果。为什么要插入检查点检查点(CheckPoint)并不是一个LoadRunner里专有的概念。在 WinRunner和QTP中就有检查点。对于自动化测试来讲,检查点是一个很重要的功能,它的作用是验证程序的运行结果是否与预期结果相符。Run-Time SettingRun-Time SettingRun-Time Setting运行测试脚本 经过以上的各个步骤后,脚本就可以运行了。运行脚本可以通过菜单或者工具栏来操作。VuGen 先编译脚本,再运行。如果编译通过,就会开始运行。然后会出现运行结果。创建运行场景运行场景描述在测试活动中发生的各种事件。一个运行场景包括一个运行虚拟用户活动的 Load Generator 机器列表,一个测试脚本的列表以及大量的虚拟用户和虚拟用户组。创建运行场景使用 Controller。在开始菜单中,启动 Controller 程序,出现“New Scenario”窗口创建运行场景创建运行场景Manual Scenario:该项要完全手动的设置场景。更加详细的信息,Manual Scenario with Percentage Mode:该项只有在“Manual Scenario”选中的情况下才能选择。选择该项后,在场景中我们需要定义要使用的虚拟用户的总数,Load Generator machine 机器集,然后我们为每一个脚本分配要运行的虚拟用户的百分比。选择场景类型为 Manual Scenario添加Load Generator Machines设置虚拟用户总数设置Schedule 设置结果文件保存路径设置集合点 Run-Time Setting 设置Schedule设置Schedule设置Schedule设置Schedule启用 IP Spoofer(IP欺骗当运行场景时,虚拟用户使用它们所在的 Load Generator 的固定的 IP 地址。同时每个Load Generator 上运行大量的虚拟用户,这样就造成了大量的用户使用同一 IP 同时访问一个网站的情况,这种情况和实际运行的情况不符,并且有一些网站会根据用户 IP 来分配资源,这些网站会限制同一个 IP 的登陆,使用等等。为了更加真实的模拟实际情况,LoadRunner允许运行的虚拟用户使用不同的 IP 访问统一网站,这种技术称为“IP 欺骗”。启用 IP Spoofer(IP欺骗第一次运行 IP Wizard 需要选择第一项“Create new settings”,如果以前运行过,可以选择第二项“Load previous settings from file”,选择保存好的文件;第三项用于使用IP 欺骗进行测试完成后,释放 IP 的过程(因为该机会占用大量的 IP 资源,可能会导致其他机器没有 IP 可用的尴尬局面,使用该项,可以恢复到原来的状况)。在 Controller 的场景中,启用 IP Spoofer 即可启用 IP Spoofer(IP欺骗 分析以及监视场景在运行过程中,可以监视各个服务器的运行情况(DataBase Server、Web Server 等)。监视场景通过添加性能计数器来实现。这一章非常的重要,确定系统瓶颈全靠它了。性能指标响应时间响应时间是反映完成某个业务所需要的时间。例如:从单击登陆按钮到登陆完成返回登陆成功页面需要消耗1秒钟,那么就说这个操作的响应时间是1秒,性能指标在性能测试中是通过事务函数来完成对响应时间的统计,事务是指做某件事情的操作,事务函数会记录开始做这件事情和该事情做完之间的时间差,使用transaction response time这个词来说明,也称为事务响应时间。性能指标吞吐量吞吐量反映单位时间内能够处理的事务条目。例如对于系统来说一个用户登陆需要1秒钟,如果系统同时支持10个用户登陆,且相同时间是1秒,那么系统的吞吐量就是10个/秒。性能指标在性能测试工具中,吞吐量也被称为TPS(transaction per second,每秒事务数)也就是说在单位时间内能完成的事务数目。TPS的计算一般是通过的事务除以时间。性能指标服务器资源占用服务器资源占用反映在负载下系统的资源利用率。资源的占有率低,说明系统越优秀。资源并不仅仅指运行系统的硬件,而是支持整个系统运行程序的一切软硬件平台。例如CPU的占有率、内存使用率、查询cache命中率等。性能指标有调查统计,对于一个用户来说,如果访问某系统的响应时间小于2秒,那么用户会感觉系统很快,比较满意;如果访问某系统的响应时间在25秒,那么用户可以接受,但是对速度有些不满;如果系统的响应时间超过10秒,用户将无法接受。性能指标所以对于一个系统来说,需要尽可能保证每一个操作的响应时间控制在5秒以内,当然某些特殊的操作可能会大大超出这个响应时间,可以通过loading bar的方式来提前告诉用户。性能分析及调优性能测试的目的是为了发现性能的瓶颈并解决。性能分析是为了确定导致性能瓶颈的原因,而调优就是用来解决性能瓶颈。提高某些手段来让系统的性能得到提升是性能调优的主要目的。性能分析及调优性能分析主要有以下两种方法:指标达成法将测试结果与客户需求进行比较,如果达成用户需要则测试通过性能分析及调优服务器资源利用率在满负荷的情况下,忙时的峰值CPU负载不超过75%,内存的占用不超过80%。性能分析及调优最优化分析方法 通过分析消除系统性能瓶颈,使系统的处理能力最大化,系统资源实现充分利用。应用程序诊断性能分析及调优 应用程序的诊断是性能测试的最初目的。通过模拟多用户操作形成的负载,检查应用程序是否能够满足用户性能需求。如果不能满足,则定为应用瓶颈,并寻找解决该瓶颈的方案,确保系统在修正后能够满足用户需求。对于一个项目来说,一般都以应用诊断为主。性能分析及调优系统调优 性能测试的目的不是为了满足用户,而是超越自己,这个时候需要做的是让系统能够比以前更加优秀的运行,通过生成负载,对测试结果进行分析,并且准备大量的软硬件环境进行迭代测试,找出影响性能的要素,最终提升系统的性能。一般产品都会采用系统调优的方式逐步完善系统性能。常见的性能瓶颈硬件上的性能瓶颈 一般指的是CPU、RAM方面的问题,分为服务器硬件瓶颈、网络瓶颈(对局域网可以不考虑)服务器操作系统瓶颈(参数配置)、中间件瓶颈(参数配置、数据库、web服务器等)、应用瓶颈(SQL语句、数据库设计、业务逻辑、算法等)。常见的性能瓶颈例如确定了在数据库服务器上需要6个CPU、12GB内存。但是在测试时,发现CPU的持续利用率超过95%,这时可以认为在硬件上出现了性能瓶颈。常见的性能瓶颈应用软件上的性能瓶颈一般指的是应用服务器、web服务器等应用软件,还包括数据库系统。常见的性能瓶颈例如:在web logic平台上配置了JDBC的连接池的参数,最大连接数为50,最小连接数为5,增加量为10。在测试时发现,当负载增加时,现有的连接数不足,系统会动态生成10个心的连接,导致交易处理的响应时间大大的增加。这时可以认为在应用软件上出现了性能瓶颈。常见的性能瓶颈应用程序上的性能瓶颈一般指的是开发人员新开发出来的应用程序。例如,某程序员开发了一个缴费处理程序。在测试时发现,这个缴费处理程序在处理用户的并发缴费请求时,只能串行处理,无法并行处理,导致缴费交易的处理响应时间非常长,这时就可以认为在应用程序上出现了性能瓶颈。常见的性能瓶颈操作系统上的性能瓶颈一般指的是windows、UNIX、Linux等操作系统。例如:在windows操作系统中,对某软件进行性能测试,出现物理内存不足时,如果虚拟内存设置也不合理,虚拟内存的交换效率就会大大降低,从而导致行为的响应时间大大增加。这时就可以认为在操作系统上出现了性能瓶颈。常见的性能瓶颈网络设备上的性能瓶颈一般指的是防火墙、动态负载均衡器、交换机等设备。例如:在动态负载均衡器上设置了动态分发负载的机制,当发现某个应用服务器上的应用资源已经到达极限时,动态负载均衡器将后续的交易请求发送到其他负载较轻的应用服务器上。在测试时发现,动态负载均衡机制没有起到相应的作用,这时可以认为在网络设备上出现了性能瓶颈。利用Analysis 分析结果页面分解报表组合利用Analysis 分析结果 培训结束!

    注意事项

    本文(《性能测试培训》PPT课件.ppt)为本站会员(wuy****n92)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开