Loadrunner在脚本录制过程中,我们会先后分别碰见init、action、transaction、end、block等概念。本次打算以图文并茂的形式为大家分别讲解。
以下为一个简要的网站操作逻辑流程:

init
用于录制测试用例的初始化操作脚本。负载场景中只会执行一次,并且只在开始阶段执行。
通常将加载操作放置于此。
当且仅当测试用例没有将登陆操作作为测试点时,将登陆操作放置于此。
action
用于录制测试用例的测试点操作脚本。负载场景中会持续重复执行,当负载退出时停止执行。
通常将验证、检索、展示、提交等操作放置于此。
当且仅当测试用例涵盖登出操作作为验证点时,将登出操作放置于此。(不过我没遇见过这种事,我这样说的目的在于别僵化于我片面的描述,要按照实际情况录制脚本)
transaction
用于记录脚本回放与负载场景中脚本执行消耗时间,此时间通常被称作响应时间(英 response time)。
当然同时记录事务处理总数也会被记录,最后通过计算得出每秒处理事务数(英Transaction Per Second,缩写TPS)。
响应时间与每秒处理事务数,是性能瓶颈分析过程中极为重要的两大指标。
     

事务(Transaction)是访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。通常由高级数据库操纵语言或编程语言(如SQL,C++或Java)书写的用户程序的执行所引起,并用形如begin transaction和end transaction语句(或函数调用)来界定。事务由事务开始(begin transaction)和事务结束(end transaction)之间执行的全体操作组成。(在此我不想把大家的思维局限于loadrunner中transation的概念。在做unit级别的性能分析时,事务的概念是极为重要滴!)

      通常在设置事务,以一次单独操作或者一次request作为begin,以一次此次操作响应结束作为end。
 

transaction延伸

      事务特性:ACID是原子性(atomicity)、一致性(consistency)、隔离性(isolation)和持久性(durability)的缩写。
  • 原子性:即不可分割性,事务要么全部被执行,要么就全部不被执行。如果事务的所有子事务全部提交成功,则所有的数据库操作被提交,数据库状态发生转换;如果有子事务失败,则其他子事务的数据库操作被回滚,即数据库回到事务执行前的状态,不会发生状态转换。
  • 一致性或可串性:事务的执行使得数据库从一种正确状态转换成另一种正确状态。
  • 隔离性:在事务正确提交之前,不允许把该事务对数据的任何改变提供给任何其他事务,即在事务正确提交之前,它可能的结果不应显示给任何其他事务。
  • 持久性:事务正确提交后,其结果将永久保存在数据库中,即使在事务提交后有了其他故障,事务的处理结果也会得到保存。   
      关于事务,其实可以延伸很多内容出来,给大家几个关键字自己去查吧。事务隔离级别、事务的状态、事务回滚
 

end

      用于录制测试用例的退出操作脚本。负载场景中只会执行一次,并且只在退出阶段执行。
      通常将登出操作放置于此。
 

block

      用于将action分块管理,以实现较为复杂的测试场景。
      分别有sequential 与 random可选特性。

Loadrunner 脚本录制策略的更多相关文章

  1. [转]LoadRunner脚本录制常见问题整理

    LoadRunner脚本录制常见问题整理 1.LoadRunner录制脚本时为什么不弹出IE浏览器? 当一台主机上安装多个浏览器时,LoadRunner录制脚本经常遇到不能打开浏览器的情况,可以用下面 ...

  2. Loadrunner脚本录制常见问题整理

    1.LoadRunner录制脚本时为什么不弹出IE浏览器? 当一台主机上安装多个浏览器时,LoadRunner录制脚本经常遇到不能打开浏览器的情况,可以用下面的方法来解决. 启动浏览器,打开Inter ...

  3. Loadrunner 脚本录制-通过代理录制脚本

    脚本录制-通过代理录制脚本 by:授客 QQ:1033553122 版本:Loadruner 11.0 A.PC端录制Web应用程序 步骤1:根据实际情况,选择对应的协议 本例中选择Web(HTTP/ ...

  4. LoadRunner脚本录制常见问题

    LoadRunner录制脚本时为什么不弹出IE浏览器?当一台主机上安装多个浏览器时,LoadRunner录制脚本经常遇到不能打开浏览器的情况,可以用下面的方法来解决. 启动浏览器,打开Internet ...

  5. loadrunner 脚本录制-录制选项设置HTML-based URL-based Script

    脚本录制-录制选项设置, HTML-based Script与URL-based Script by:授客 QQ:1033553122 Access:Vugen->Tool->Record ...

  6. loadrunner 脚本录制-Action分类

    脚本录制-Action分类 by:授客 QQ:1033553122 Action分类 l . Vuser_init 2. Vuser_end 3.  Action 在lr中用户的初始化操作应该存放在V ...

  7. loadrunner 脚本录制-Protocol Advisor协议分析器的使用

    脚本录制-Protocol Advisor协议分析器的使用 by:授客 QQ:1033553122 1.启动Protocol Advisor File > Protocol Advisor &g ...

  8. Loadrunner脚本录制注意事项(七)

    1.手动走一遍被测业务,达到熟悉理解业务,注意是否和服务器有数据交互,为脚本是否需要关联做准备: 2.浏览器选择IE8/9较好,选择其他浏览器可能会有各种问题.(a.IE设置:内容-设置-去掉所有选项 ...

  9. 一、loadrunner脚本录制及回放

    录制及回放的注意点: 1.测试系统教复杂时,正确的划分action,对监控的每一个业务模型和操作,起到重要作用 2.录制完成后,先进行编译(改动脚本之后检查下有没有语法错误):工具栏Vuser下有一个 ...

随机推荐

  1. Java NIO Overview

    Java NIO Overview Channels and Buffers Selectors   Jakob JenkovLast update: 2014-06-23

  2. vue-concise-slider 一个轻量的vue幻灯片组件

    vue-concise-slider 一个轻量的vue幻灯片组件 阅读 541 收藏 35 2017-07-03 原文链接:github.com 外卖订单处理有烦恼?试试美团点评餐饮开放平台吧,可实现 ...

  3. excel 数据量较大边查询边输入到excel表格中

    public Resultmodel getexpenseMessagx(HttpServletResponse response, String date1, String date2) { lon ...

  4. ORACLE grant权限

    oracle的系统和对象权限 本文转自: http://hi.baidu.com/zhaojing_boy/blog/item/0ffe95091266d939e824885f.html alter ...

  5. metasploit framework(十一):获取漏洞信息

    查看参数 这个模块运行需要一个session 所以需要先获取到一个session 就获得了一个session 再回到枚举补丁模块 添加session 查看参数看到session已经添加上去了 run ...

  6. Ubantu和CentOS设置静态ip

    Ubantu设置ip: 1.sudo vim /etc/NetworkManager/NetworkManager.conf 将false改成true 2.修改配置文件/etc/network/int ...

  7. JMeter学习(二)录制脚本(转载)

    转载自 http://www.cnblogs.com/yangxia-test 环境 Badboy  version 2.1.1 JDK: 1.7.0_67 Apache  JMeter-2.11 - ...

  8. 第一次登录mysql,使用任何命令都报错ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

    问题: 使用临时密码登录成功后,使用任何myql命令,例如show databases;都提示下面的报错 ERROR 1820 (HY000): You must reset your passwor ...

  9. Django项目的创建与管理和pycharm与Github的秘密

    随笔 - 174  文章 - 21  评论 - 19 Django项目创建与管理   1.主题 这部分教程主要介绍如何通过Pycharm创建.管理.运行一个Django工程.对于Django模块的相关 ...

  10. laravel框架部署后有用命令

    1.重新生成APP_KEY php artisan key:generate执行后.env文件内的APP_KEY重新生成. 2.修改.env文件内系统运行环境,由debug环境设置为生产环境 APP_ ...