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. 转一篇OpenSSL的例子:简单的TLS服务器

    原名:Simple TLS Server 原址:https://wiki.openssl.org/index.php/Simple_TLS_Server Windows下就不要从源码编译OpenSSL ...

  2. DVWA 黑客攻防演练(七)Weak Session IDs

    用户访问服务器的时候,一般服务器都会分配一个身份证 session id 给用户,用于标识.用户拿到 session id 后就会保存到 cookies 上,之后只要拿着 cookies 再访问服务器 ...

  3. Windows2012R2 NTP时间同步

    Windows2012R2 NTP时间同步 Windows2012R2里没有了internet时间,需要使用另外的方式去做时间同步 下面分两个情况 两个情况,两个情况都需要用修改组策略的方式来做 情况 ...

  4. iead2018创建JavaWe工程

    菜单栏中 File-> Project,弹出如下界面,选择 Java并勾选 Web Application 填写 Project Name 配置 tomcat 点击右上角的绿色的小锤子,然后打开 ...

  5. hive笔记:复杂数据类型-map结构

    map 结构 1. 语法:map(k1,v1,k2,v2,…)   操作类型:map ,map类型的数据可以通过'列名['key']的方式访问 案例: select deductions['Feder ...

  6. Java中console类的简单用法

    Java.io.Console 只能用在标准输入.输出流未被重定向的原始控制台中使用,在 Eclipse 或者其他 IDE 的控制台是用不了的. import java.io.Console; pub ...

  7. Vue学习之路2-项目初搭建

    1.检查环境是否全部安装成功 2.创建项目 2.1.打开dos命令窗口,使用dos命令转到项目文件夹下: 2.2.输入创建项目命令:vue init webpack myproject1 创建不同的打 ...

  8. 英语口语练习系列-C18-Wildest Dreams

    词汇复习 actor 演员 afternoon 下午 alive 活着的 apple 苹果 adjective 形容词 air 空气 animal 动物 April 四月 adult 成年人 airp ...

  9. kernel笔记——块I/O

    Linux下,I/O处理的层次可分为4层: 1. 系统调用层,应用程序使用系统调用指定读写哪个文件,文件偏移是多少  2. 文件系统层,写文件时将用户态中的buffer拷贝到内核态下,并由cache缓 ...

  10. day2 and day3 总结-python基础-坚持就是胜利

    今日份快捷键学习,pycharm中按CTRL+ALT+L 自动规范化操作,不过和QQ的快捷键会有冲突,建议更改QQ的 知识点: 1.编码 2.while循环 3.运算符 4.数字int 5.布尔值 6 ...