LoadRuner入门.ppt_第1页
LoadRuner入门.ppt_第2页
LoadRuner入门.ppt_第3页
LoadRuner入门.ppt_第4页
LoadRuner入门.ppt_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

性能测试工具LoadRunner 2012 4 1 性能测试相关术语 概念 性能 performance 计算机系统或子系统实现其功能的能力 对计算机系统或子系统执行其功能的能力的度量 例如 响应时间 吞吐量 事务数等 性能测试 Performancetesting 是通过自动化的测试工具模拟多种正常 峰值以及异常负载条件来对系统的各项性能指标进行测试 负载测试 LoadTesting 通过测试系统在资源超负荷情况下的表现 以发现设计上的错误或验证系统的负载能力 压力测试 StressTesting 是对系统不断施加压力的测试 是通过确定一个系统的瓶颈或者不能接收的性能点 来获得系统能提供的最大服务级别的测试 例如测试一个Web站点在大量的负荷下 何时系统的响应会退化或失败 容量测试 VolumeTesting 确定系统可处理同时在线的最大用户数 性能测试相关术语 概念 并发测试 Concurrencytesting 主要指当测试多个用户并同时访问同一个应用程序 同一个模块数据记录时是否存在死锁或其他性能问题 几乎所有的性能测试都会涉及并发测试 并发用户数的计算 强度测试 稳定性测试 疲劳度测试 大数据量测试 配置测试 峰谷测试 异常测试等等 事务场景集合点参数化思考时间 性能测试相关术语 概念 TPS吞吐量资源利用率响应时间在线用户数并发用户数 性能测试的目的 性能测试的目的是为了验证软件系统是否能够达到用户提出的性能指标 或通过分析获得 同时发现软件系统中存在的性能瓶颈 从而进行优化整个系统性能的目的 包括以下几个方面1 评估系统的能力2 识别系统中的弱点3 系统调优4 验证可靠性和稳定性 问题LoadRunner是什么 LoadRunner能做什么 为何使用LoadRunner 如何使用LoadRunner MercuryInteractive MI 公司开发的一套预测系统行为和性能的工业标准级负载测试工具 用于测试应用程序的性能 在可控制的峰值负载条件下测试系统 轻松创建虚拟用户创建真实的负载大量实时监测器精确分析结果自动重复测试支持最广泛的协议 Loadrunner的工作原理 代理 Proxy 是客户端和服务器端之间的中介人 LoadRunner就是通过代理方式截获客户端和服务器之间交互的数据流 1 虚拟用户脚本生成器通过代理方式接收客户端发送的数据包 记录并将其转发给服务器端 接收到从服务器端返回的数据流 记录并返回给客户端 这样服务器端和客户端都以为在一个真实运行环境中 虚拟脚本生成器能通过这种方式截获数据流 虚拟用户脚本生成器在截获数据流后对其进行了协议层上的处理 最终用脚本函数将数据流交互过程体现为我们容易看懂的脚本语句 2 压力生成器则是根据脚本内容 产生实际的负载 扮演产生负载的角色 3 用户代理是运行在负载机上的进程 该进程与产生负载压力的进程或是线程协作 接受调度系统的命令 调度产生负载压力的进程或线程 4 压力调度是根据用户的场景要求 设置各种不同脚本的虚拟用户数量 设置同步点等 5 监控系统则可以对数据库 应用服务器 服务器的主要性能计数器进行监控 6 压力结果分析工具是辅助测试结果分析 性能测试的准备工作 深入了解系统功能深入了解系统架构设计性能测试用例准备基础数据和测试数据 VugenLoadRunner用Vuser模拟实际用户的操作 开发Vuser脚本的过程 生成脚本 增强 编辑脚本 配置运行时设置 调试 运行脚本 Vugen增强 编辑脚本事务 Transaction 集合点 Rendezvous 关联检查点 EnableImageandtextcheck 其它 注释 thinktime 优化等 为了衡量某个任务的性能 需要在该任务的开始和结束位置插入事务 每个事务度量服务器响应指定的Vuser请求所用的时间 LoadRunner使用 Vugen调试 运行脚本参数化 Selectnextrow 有以下几种选择 多个VU如何取值Sequential 按照顺序一行行的读取 每一个虚拟用户都会按照相同的顺序读取Random 在每次循环里随机的读取一个 但是在循环中一直保持不变Unique 每个VU取唯一的值 注意 使用该类型必须注意数据表有足够多的数 SameLineAs某个参数 比如Name 和前面定义的参数Name取同行的记录 通常用在有关联性的数据上面 Updatevalueon 有如下几种选择 多次迭代如何取值once在所有的反复中都使用同一个值 eachiteration则每次反复都要取新值 eachoccurrence则只要发现该参数就要重新取值 也就是如果一个action中有多个该参数 每遇到一个就要重新取一个值 LoadRunner使用 Controller场景类型ManualScenario 手动设置场景 这项下面还可以设置为每一个脚本分配要运行的虚拟用户的百分比 可在Controller的Scenario菜单下设置 Goal OrientedScenario 如果测试计划是要达到某个性能指标 比如 每秒多少点击 每秒多少transactions 能到达多少VU 某个Transaction在某个范围VU 500 1000 内的反应时间等等 那么就可以使用面向目标的场景 LoadRunner使用 Controller场景计划 Schedule 以ManualScenario为例 LoadRunner使用 Controller集合点策略 LoadRunner使用 IP欺骗网卡的IP地址是怎么获取的 多机联合测试ScenarioSchedule Generators Add Connect 关注 Status 小问题 脚本中的Init Action End三个部分有什么区别 在运行时设置中设定迭代次数或在执行计划中设置了场景持续时间后 Init和End中的部分将只执行一次 不会参与迭代 只有Action中的脚本会重复执行 只有在Action中才能够添加事务和集合点 在Init和End中不能添加 通常将初始化 释放资源 或者只需要执行一次的代码放在Init和End中 如登录 退出 或打开 关闭数据库 打开 关闭文件等 小问题 一个Action是一个事务吗 在运行时 General AutomaticTransactions中可以进行选择 第一项就是默认的 一个Action就是一个事务 选择第二项时 就是每一个步骤都是一个事务 小问题 如何进行带宽模拟 在运行时 NetWork NetWorkSpeed中可以进行选择 模拟各种带宽情况下 对服务器的请求 带宽越大 对服务器的压力越大 小问题 TotalThroughput bytes 在整个测试过程中 从服务器返回给客户端的所有字节数量 吞吐率 吞吐量 测试时间TotalHits 按照客户端向后台发起了多少次请求进行计算 记住 不是点击了页面多少次 而是看页面中的引用的图片或视频有多少个 TotalHits 图片数量 1 点击率 点击量 测试时间 小问题 如何进行手动关联手动关联的执行过程大致如下 使用相同的业务流程和数据 录制两份脚本使用WinDiff工具或者通过TreeView视图找出需要关联的部分使用web reg save param函数手动建立关联将脚本中有用到关联的部分 以参数取代 小问题 如何实时显示当前的正回放的操作 Tools GeneralOptions Display Showbrowserduringreplay选择即可 小问题 为什么无法监控系统的资源情况 如果是Windows操作系统 则必须保证有系统管理员权限 先使用系统管理员身份访问该服务器 机器名 一次 在LoadRunner中重新添加Windows性能计数器即可 如果是Unix操作系统 则必须确保rstatd进程已启动 小问题 运行脚本后 在运行日志中显示 Pass 是否表示脚本执行成功 脚本运行状态为 Pass 表示服务器返回的Http状态为正常 但并不能说明脚本所完成的操作一定如你所期望的那样 你还需要通过其它方式来确保脚本执行的正确性 如在脚本中添加文本检查点 图像检查点 查看应用系统的日志以及查看数据库等 小技巧 Http协议中的两种录制方式如何选择 1基于浏览器的应用程序推荐使用HTML basedScript2不是基于浏览器的应用程序推荐使用URL basedScript 3如果基于浏览器的应用程序中包含了JavaScript并且该脚本向服务器产生了请求 比如DataGrid的分页按钮等 也要使用URL based方式录制4基于浏览器的应用程序中使用了HTTPS安全协议 使用URL based方式录制 小技巧 由于在VuGen脚本中使用最多的还是字符串 所以字符串函数在脚本中使用非常频繁 具体的语法请参考帮助说明 strcmp比较两个字符串strcat连接两个字符串strcpy拷贝字符串注意 在VuGen中 以char 声明的字符串是只读的 如果试图给char 类型的字符串赋值的话 编译会通过 但在运行时会产生 AccessViolation 的错误 解决这类问题 就是把字符串声明为字符数组 比如char 100 小技巧 每次在Controller中运行一个场景时 LR都会把返回结果保存在指定的目录下 场景运行结束后 你可以在该目录中找到一个扩展名为 lrr 的文件 双击这个文件就可以在Analysis中看到在本次场景运行过程中LR收集到的各种信息 但是每次在Analysis中打开返回结果时 LR都要去ACCESS数据文件中读取数据 然后初始化图表 耗时太长 解决办法 将返回结果保存成Session 保存成Session可以将当前Analysis中的所有内容以文件的形式保存下来 下次打开Session 扩展名为 lra 的文件 时LR直接读取这些文件 并在Analysis中还原为最近一次保存的状态 比直接打开返回结果快多了 打开LoadRunner运行日志 帮助调试脚本 把所有响应日志都打印出来的方法 默认情况下是不打印全部日志的 RuntimeSettings General Log 将Extendedlog中的选项打勾 如果需要在controller中查看vuser的日志 同样可以在RuntimeSettings里设置 如果在录制的过程中有一些多余的操作 在实际的回放和测试时不需要 因此不需要录制的 如点击页面上的 下一页 等 可点

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论