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. float double 如何存储

    类型float大小为4字节,即32位,内存中的存储方式如下: 符号位(1 bit)   指数(8 bit)   尾数(23 bit) 类型double大小为8字节,即64位,内存布局如下: 符号位(1 ...

  2. java 递归 树形

    //菜单树形结构 public JSONArray treeMenuList(JSONArray menuList, int parentId) { JSONArray childMenu = new ...

  3. Spark Streaming之五:Window窗体相关操作

    SparkStreaming之window滑动窗口应用,Spark Streaming提供了滑动窗口操作的支持,从而让我们可以对一个滑动窗口内的数据执行计算操作.每次掉落在窗口内的RDD的数据,会被聚 ...

  4. async.waterfall

    [async.waterfall] if any of the tasks pass an error to their own callback, the next function is not ...

  5. shiro 入门

    参考文章: https://www.cnblogs.com/maofa/p/6407102.html https://www.cnblogs.com/learnhow/p/9747134.html h ...

  6. ucore-lab1-练习1report

    练习1 report 问题1:OS镜像文件ucore.img是如何一步一步生成的(需要比较详细地解释Makefile中的每一条相关命令和命令参数的含义,以及说明命令导致的结果)? GNU make是一 ...

  7. 第十章 优先级队列 (a1)需求与动机

  8. 2018年全国多校算法寒假训练营练习比赛(第四场)B:道路建设

    传送门:https://www.nowcoder.net/acm/contest/76/B 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 65536K,其他语言131072K 64b ...

  9. mybatis知识点(已掌握)

    1.${} 和 #{} 的区别? ${} 直接显示传入数据,不能防止sql注入,一般用于传数据库对象(比如表名). #{} 传入数据被当成字符串,自动加上双引号,防止sql注入. 2.有哪些Execu ...

  10. Mobile Game Development with Unity Build Once, Deploy Anywhere

    本书从自上而下的角度介绍了Unity游戏引擎的功能,并提供了具体的.面向项目的指导,说明了如何在真实的游戏场景中使用这些功能,以及如何从头开始构建让玩家爱不释手的2D和3D游戏.主要内容有:探索Uni ...