loadrunner工作原理

性能测试只关注底层数据,不关注业务,不关注客户端动作。所以,脚本运行正确不一定业务就正确(业务是否正确,如果是查询,我们可以通过检查点来判断;如果是增删改操作,可以看通过事务数和查询数据库数据数据增删改的数量做比对来判断),脚本运行正确只能说明服务器做了正确的响应,比如请求的文件不存在,则服务器返回了404,loadrunner认为这是正确的处理,但是业务上是不正确的。loadrunner只监控客户端和服务器端之间发送了什么数据(前提是要知道通信协议,能解码通信内容),不关注行为(即发送方式,如何发送)。loadrunner有协议探测功能,最后一个图标就是【协议探测】。

另外,不能解析出东西和解析出乱码是不同的,前者说明协议不对,后者说明协议正确,可能是字符集问题,对应到loadrunner中,前者就是无脚本内容;后者是有脚本内容,但是是乱码。

举例:比如下载图片,用loadrunner登录到页面,在图片上右键→另存为…,loadrunner不能完成下载图片这个动作,因为loadrunner只关注数据传递,而不关注动作(“右键—另存为”等动作)。

loadrunner和qtp对比

qtp是hp系列中做功能自动化的工具,它关注的是业务,loadrunner关注请求和响应(即底层数据通信);

响应和业务没有关系,做出了正确响应,但是业务不一定正确,如错误的登录信息,服务器给出正确的响应。

loadrunner使用流程

1.录制脚本

  划分action,且改action名字

  备注:本人只在以前学习的时候用过录制,录制受环境影响,有时录制不到脚本或者录制过程中卡死,所以,在实际工作中,都是直接写脚本,不用loadrunner的录制功能,直接写loadrunner脚本也不是大家想象中的那么难,还是有些偷懒的小技巧的,具体方式参考:录毛线脚本,直接抓包手写最简洁的LoadRunner性能测试脚本,但是,为了帮助想学录制的朋友,后续我们还是会介绍如何录制脚本。

2.脚本优化

  a.为每个action插入注释,这样增加脚本的可读性以及易维护性;

  b.添加登录操作集合点;

  c.添加事务点;

  d.修改思考时间;

  e.保存脚本,回放,设置关联函数的置换;

  f.根据实际情况进行参数化,如对登录用户名参数;

3.场景执行

4.结果收集

5.结果分析

LoadRunner【第二篇】原理及使用流程的更多相关文章

  1. 第二篇:git创建流程

    1.创建组织 2.创建 3.点击项目 创建完: 4.选择管理——>选择公钥——>添加个人公钥: 5.怎样生成公钥 5.1.如何生成ssh公钥 你可以按如下命令来生成 sshkey: ssh ...

  2. RobotFrameWork+APPIUM实现对安卓APK的自动化测试----第二篇【原理】

    http://blog.csdn.net/deadgrape/article/details/50574459 接着上一篇,我们开始聊聊APPIUM的框架和运行模式.废话不多说直接上图. 1.首先自动 ...

  3. 第2章 rsync算法原理和工作流程分析

    本文通过示例详细分析rsync算法原理和rsync的工作流程,是对rsync官方技术报告和官方推荐文章的解释. 以下是本文的姊妹篇: 1.rsync(一):基本命令和用法 2.rsync(二):ino ...

  4. rsync算法原理和工作流程分析

    本文通过示例详细分析rsync算法原理和rsync的工作流程,是对rsync官方技术报告和官方推荐文章的解释.本文不会介绍如何使用rsync命令(见rsync基本用法),而是详细解释它如何实现高效的增 ...

  5. 并发编程之J.U.C的第二篇

    并发编程之J.U.C的第二篇 3.2 StampedLock 4. Semaphore Semaphore原理 5. CountdownLatch 6. CyclicBarrier 7.线程安全集合类 ...

  6. [翻译]Go与C#的比较,第二篇:垃圾回收

    Go vs C#, part 2: Garbage Collection | by Alex Yakunin | ServiceTitan - Titan Tech | Medium 目录 译者注 什 ...

  7. Python开发【第二篇】:初识Python

    Python开发[第二篇]:初识Python   Python简介 Python前世今生 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏 ...

  8. iOS开发Swift篇—(六)流程控制

    iOS开发Swift篇—(六)流程控制 一.swift中的流程控制 Swift支持的流程结构如下: 循环结构:for.for-in.while.do-while 选择结构:if.switch 注意:这 ...

  9. 第二篇 :微信公众平台开发实战Java版之开启开发者模式,接入微信公众平台开发

    第一部分:微信公众号对接的基本介绍 一.填写服务器配置信息的介绍 登录微信公众平台官网后,进入到公众平台后台管理页面. 选择 公众号基本设置->基本配置 ,点击“修改配置”按钮,填写服务器地址( ...

  10. IIS负载均衡-Application Request Route详解第二篇:创建与配置Server Farm(转载)

    IIS负载均衡-Application Request Route详解第二篇:创建与配置Server Farm 自从本系列发布之后,收到了很多的朋友的回复!非常感谢,同时很多朋友问到了一些问题,有些问 ...

随机推荐

  1. Android为TV端助力(转载)

    作者地址http://www.jianshu.com/u/63915ef020e2 针对Android Tv的自定义RecyclerView 作者 wenju_song 关注 2016.12.09 1 ...

  2. C# Debug和release判断用法

    C# Debug和release判断用法 #if (!DEBUG) Response.Write("DEBUG下运行");#else Response.Write("re ...

  3. C#比较两个由基本数据类型构成的object类型

    /// <summary> /// 比较查询条件 /// </summary> public class ModelExtensions { /// <summary&g ...

  4. SQLServer之删除视图

    删除视图注意事项 删除视图时,将从系统目录中删除视图的定义和有关视图的其他信息. 还将删除视图的所有权限. 使用 DROP TABLE 删除的表上的任何视图都必须使用 DROP VIEW 显式删除. ...

  5. 网络中的NAT模式

    一.概述 NAT英文全称是"Network Address Translation",中文意思是"网络地址转换",它是一个IETF(Internet Engin ...

  6. IOS判断NSArray是否为空

    场景描述:判断一个集合是否为空,如果不为空执行A,如果为空执行B Java实现方法 public void exec(){ List<String> list = this.getCont ...

  7. springboot项目屏蔽mq或者mongodb的监控日志输出

    最近写项目,用的是springboot,其中用到了rabbitmq和mongodb,配置完成 项目启动后,会输出如下日志: mongodb和mq的检测,会一直打印日志,这样会影响开发人员的测试. 如何 ...

  8. kafka-rest:A Comprehensive, Open Source REST Proxy for Kafka

    Ewen Cheslack-Postava  March 25, 2015  时间有点久,但讲的还是很清楚的 As part of Confluent Platform 1.0 released ab ...

  9. Java注解开发与应用案例

    Java注解开发与应用案例 Annotation(注解)是JDK5.0及以后版本引入的,可以对包.类.属性.方法的描述,给被述对象打上标签,被打上标签后的类.属性.方法将被赋予特殊的“功能”:打个比喻 ...

  10. CentOS 7 安装Kubernetes(单机版)

    一.关闭CentOS自带的防火墙服务 #  systemctl disable firewalld # systemctl  stop firewalld 二.安装etcd和Kubernetes软件( ...