51Testing软件测试论坛

标题: Loadrunner压力测试工具使用教程(转载)) [打印本页]

作者: 梦幻小丑灯    时间: 2021-11-23 16:06
标题: Loadrunner压力测试工具使用教程(转载))
作者:丽霞   loadrunner是一款基于项目的简化版性能负载测试基金方案,帮助用户快速识别程序的异常行为。loadrunner的兼容性很强大,支持Web/移动、Web服务、MQTT、HTML5等等,有效减少了脚本编制的时间。由于这款软件功能强大、可操作范围极广,所有今天小编特地带来了loadrunner的部分使用教程。

1.1loadrunner压力测试原理
  本质就是在loadrunner上模拟多个用户同时按固定行为访问web站点。其固定行为loadrunner中是通过录制脚本定义的,多用户同时访问的策略是在loadrunner的场景中定义的。
  1.2压测思路
  通过loadrunner进行压力测试web应用的主要思路分两步:
  第一步 录制脚本
先录制用户请求访问的行为,如用户访问首页,或用户先登陆,后浏览页面,后搜索;录制完后会生成用户请求行为的脚本;然后我们按需要修改脚本,使脚本更符合实际请求情况;
  第二步 运行场景
  在第一步中录制了单个用户请求流程的脚本,第二步主要是设置用户按照脚本同时访问的并发数以及并发访问的时间和策略,使其更接近真实高并发访问的场景;在模拟并发访问后,会形成测试报告,包括服务器数据流吞吐量、每秒请求次数、事务响应时间等。
  1.3压测步骤简介
  以测试A应用首页为例,主要分为以下5个步骤
  1、设置录制选项
  2、录制脚本
  3、脚本优化
  4、设置场景
  5、运行场景及查看报告
  具体配置如下图所示,其中有些配置步骤可以用loadrunner默认的,不是必须项。

  2压力测试步骤详细说明
  2.1设置录制选项
  2.1.1选择首页中的创建/编辑脚本

  2.1.2选择协议
  对web站点进行压力测试,选择web(HTTP/HTML)

  2.1.3输入系统url,设置录制选项

  【要录制的程序】:这个是打开url的浏览器,默认为IE,不过loadrunner11支持到IE8,可以自定义浏览器。
  【URL地址】:需要进行测试的链接
  2.2录制脚本
  2.2.1录制脚本
  在上一步点击“确定”后,会自动打开浏览器并定位到配置的url地址中。然后需要在浏览器中模拟用户的行为,我们执行一个搜索功能。

  在模拟用户行为完后,点击蓝色按钮停止录制,会生成脚本,如下一步所示
  2.2.2验证回放脚本

  在生成脚本后,可以点击验证回放,会根据生成的脚本在浏览器中回放用户的行为,来验证用户的行为是否符合要求。
  2.3脚本优化
  回放验证成功后,可以进行事务、参数、并发用户的设置、脚本运行时设置。此操作为可选项,可以不用配置,系统采用默认配置。
  事务:根据项目需要,除了衡量整个脚本的性能外,还想获取到脚本中的某一段或几段操作,例如:想知道从单击“确定”按钮到显示首页这一登录过程的性能数据,以便更详细的知道具体是用户的哪些动作对系统性能的影响比较大。这时候,可以将登录的运行脚本标记在一个事务内。
  在脚本中没有事务时,可以在脚本开始和结束的地方分别加上
  lr_start_transaction(“xxx”);
  lr_end_transaction(“xxx”, LR_AUTO);
  表示整个脚本为一个事务。否则,可能监控不到事务响应时间
  参数化:所谓参数化,针对的是脚本中的某些常量。让不同的虚拟用户在执行相同的脚本时,分别使用单数数据源中的不同数据代替这些常量,从而达到模拟多用户真实使用系统的目的。例如在‘用户搜索’的事务脚本中,搜索的关键字是‘AAA’。但实际情况中,每个并发访问的用户搜索的关键字是不一样的。所以要使每个用户执行脚本时的关键字都不一样,这个过程就需要对关键字参数化。
  脚本运行时设置:设置每个action的执行次数、设定思考时间、步等

  【步】:每个用户请求事务的时间间隔,一般选第一个,上一个事务一结束就开始下一个
  【思考时间】:思考时间是为了模拟时更加接近用户的真实行为。实际中,用户进行一系列的操作之间会有停顿,即思考时间,例如:加载出数据后,用户会阅读数据,而浏览数据的过程对服务器是没有压力的。因此,在脚本中用函数lr_think_time(double time)来模拟用户停顿过程(未执行任何操作的过程),执行该函数时,用户线程会按照相应的time值进行等待。如果选择忽略思考时间,会对服务器造成更大的压力。







欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2