by:授客 QQ1033553122

场景设计-制定负载测试计划

步骤1.分析应用程序

你应该对硬件和软件组建,系统配置和典型的使用场景很熟悉。这些应用程序的分析保证你在使用loadrunner进行测试时,创建的测试环境可比较准确的反应应用程序环境和配置。

a)   确定系统组建

画张示意图对你的应用程序架构进行说明。如果要测试的系统是一个大的网络系统的一部分,你应该确定这个网络系统要测试的系统组建。确保示意图包含了所有系统组建,如客户端机器,网络,中间件和服务器。

示例:

以下示意图描述一个多web用户访问的在线银行系统。web用户每次连接到相同数据库进行资金转账和余额查询。 顾客通过web,使用各种浏览器连接到数据库服务器。


b)  


描述系统配置

用更详细的信息优化示意图,描述每个系统组建配置。可以从下几个方面进行考虑:

有多少用户连接到系统?

应用程序客户端配置咋样?(硬件,内存,操作系统,软件,开发工具等)

用的是哪种类型的数据库和Web服务器?(软件,数据库类型,操作系统类型,文件服务器等等)

服务器和客户端是怎么通讯的?

前端客户端和后端服务器之间的中间件和应用服务器是什么配置?

通信设备的吞吐量咋样?每个设备每次可以处理多少并发用户?

示例:

以下这张表说明了前端客户端的配置信息


c)  


分析使用场景

定义系统的典型使用场景并决定哪些功能是测试重点。考虑哪些用户使用系统,用户的数量,每个用户的常用操作。此外,考虑考虑任何可能会影响系统响应时间的后台负载。

例子:

假设每天早上都有200个员工登录帐号系统并且同样办公网络上有一个恒定后台负载--50个用户执行各种word处理和打印任务。你可以创建一个拥有200个虚拟用户登录银行数据库的场景并测试服务器响应时间。

为了检查后台负载是怎么影响反应时间的,你可以在员工执行文字处理和打印活动的网络上运行模拟场景。


d)  


检查任务分布

除了定义一般用户操作,还要检查操作任务的分布。.

例子:

假设银行使用中央数据库来服务来自各个州和时区的客户端。有250个客户端位于两个不同的时区,都连接到同样的Web服务器。有150个在芝加哥,100个在底特律,每个客户端都在早上9点开始他们的业务,但是因为他们在不同时区,任何时刻不应该有多余150个用户登录。你可以分析任务分布来决定数据库活动高峰期,哪些典型活动在高峰期出现。


步骤
2.定义测试目标

测试计划应该基于一个清晰定义的测试目标。


a)  


决定总体目标

以下表展示了使用lr测试一般应用程序的测试目标。


说明:

1  Measuring
end-user response time

检查用户执行业务过程并接收服务器返回的时间要多久。例如,假设你想确认当你系统运行于正常负载条件下,在20秒内响应终端用户操作。

以下图形展现一个负载样例

2  Defining
optimal hardware configuration

检查各种系统配置(内存,CPU速度,缓存,适配器,路由器)对性能的影响。

一旦你理解了系统架构并已经测试了应用响应时间,你可以为不同系统配置测试应用响应时间并确定哪种设置可以提供预期的性能水平。

3  Check
Reliability

确定系统在重压力或持续工作负载下的稳定性

4  Check
Hardware or Software Upgrades

执行“回归”测试(Application
regression testing)来比较一个新版硬件或软件和旧版硬件或软件。你可以检查升级是怎么影响反应时间(基线)或者可靠开性。Application
regression testing不是测试升级的新特征,反而在于检测新版和旧版的效率和可靠性一样。

5  Evaluating
New Products

你可以在新产品生命周期中的计划和设计阶段运行测试来评估产品和系统。例如,你可以基于评估的测试为服务器机器或数据库包选择硬件。

6  identifying
Bottlenecks

你可配置lr模拟组件来确认系统瓶颈并决定哪些元素降低性能。例如,文件锁,资源抢占,网络超负荷。使用lr联合网络及机器模拟器工具来创建负载并和测量系统不同点的性能。

7  Measuring
system capacity

测量系统容量,并判断超过系统容量的多少,系统仍然可处理并不会引起性能的降低。


b)  


量化测试目标

一旦确定了测试的总体目标,你应该通过可测量术语来描述你的测试对象。
为了提供一个测试评估基线,准确定位什么样的组成是可接受及不可接受的测试结果

例如

总体目标:

产品评估:为Web服务器选择硬件。

详细目标:

产品评估:在两个不同服务器,HP和NEC上运行同样的拥有300个虚拟用户的组。当所有的300用户同时浏览Web应用程序时,决定哪种硬件提供一个比较好的反应时间。


c)  


决定什么时候测试

负载测试贯穿于产品生命周期。如下表


步骤
3.loadrunner实施测试活动


a)  


决定性能测试范围

你可以用LoadRunner来测量系统不同点的反应时间。根据测试目标决定哪些地方需要运行Vusers及哪些虚拟用户需要运行:

l  Measuring
end-to-end response time

你可以检测一个典型用户通过运行前端GUI虚拟用户来测量反应时间。GUI虚拟用户通过输入提交和接收客户端应用输出来模拟真实用户。可以运行前端GUI虚拟用户来测量整个网络包括终端模拟器或者GUI前端,网络和服务器的反应时间。

2  Measuring
network and server response times

你可以在客户机上通过运行虚拟用户(非GUI)测量网络和服务器反应时间,包括GUI前端反应时间和服务器反应时间。Vuser在无用户界面的情况下模拟客户端对服务器的调用。当你从客户端机器上运行许多虚拟用户时,你可以测量负载是怎么影响网络和服务器反应时间的。

3  Measuring
GUI response time

你可以通过前两者的相减判断客户端应用接口怎么影响反应时间的。GUI
response time = end-to-end - network and server

4  Measuring
server response time

你可以测量服务器响应不通过网络的请求要花多长时间。当你在一台直接连接到服务器的机器上运行Vusers,你可以测量服务器性能

5  Measuring
middleware-to-server response time

如果你有访问中间件和其API,你可以测量从服务器到中间件的响应时间。你可以用中间件API创建虚拟用户并测量the
middleware-server性能。


b)  


定义
Vuser活动

根据你对Vuser类型,典型任务,和测试目标的分析,创建虚拟Vuser脚本。由于Vusers模拟典型的终端用户操作。例如,模拟在线银行客户端,你应该创建一个Vuser脚本执行典型的银行任务,比如,浏览你经常访问的资金转账和余额查询的页面。

基于你的测试目标你决定那些操作需要测量并为这些操作定义事务。事务测量服务器回应Vusers用户提交操作任务需要多长时间(end-to-end
time)。例如,检查银行web服务器提供账户余额响应时间,为这个操作任务在Vuser脚本中定义一个事务。

此外,你可使用rendezvous集合点来模拟高峰期活动。集合点指示多用户同一精确时间里执行操作任务。例如,你可以定义一个集合点来模拟70个用户,同步更新银行帐号信息。


c)  


选择虚拟用户
Vusers

在你决定用于测试的硬件配置前,判断需要的Vuser的类型和数量。观察典型使用模式结合测试目标来判断要多少Vuser和运行哪种Vuser:

以下是建议:


使用一个或几个GUI用户来模拟每种典型用户连接。


为每种用户类型运行多用户来生成剩余负载。

例如,假设有5种类型用户。每种执行一个不同的业务操作:


d)  


选择测试硬件
/软件

软硬件配置应该够强大和够快,以模拟必要数量的Vuser。参考HP安装指南了解详细硬件要求。

为了决定机器数量和正确的配置,考虑以下:


建议在独立主机上运行HP
lr controller。

每种GUI
Vuser需要一个单独的基于windows的机器。多个GUI用户可以运行在一台单独的UNIX机器上。


GUI Vuser测试机配置应该尽可能的和实际用户机器相近。

注意:对于一个有许多事务要长时间运行的场景,结果文件要求几M的磁盘空间

。如果没网络文件系统NFS,负载生成器也要求为其临时文件提供几个M的磁盘空间,对于更多关于运行时文件存储的信息,查看运行时文件存储位置。

loadrunner 场景设计-制定负载测试计划的更多相关文章

  1. Loadrunner场景设计篇——负载生成器

    1  简介 当执行一个场景时,Controller把场景中的每个用户配到负载生成器(Load generator). 所谓的负载生成器(Load Generator)就是执行Vuser脚本,运行Vus ...

  2. loadrunner 场景设计-手工场景方案(Schedule)设计 Part 2

    loadrunner 场景设计-手工场景方案(Schedule)设计 Part 2 ---------------------------接Part 1------------------------ ...

  3. loadrunner 场景设计-手工场景方案(Schedule)设计 Part 1

    参考:http://blog.sina.com.cn/s/articlelist_5314188213_1_1.html loadrunner 场景设计-手工场景方案(Schedule)设计 Part ...

  4. loadrunner 场景设计-负载生成器管理

    场景设计-负载生成器管理 by:授客 QQ:1033553122 1  简介 当执行一个场景时,Controller把场景中的每个用户配到负载生成器(Load generator). 所谓的负载生成器 ...

  5. 【Loadrunner】初学Loadrunner——场景设计

    在使用Loadrunner的时候,常常需要使用到场景设计.但是怎么设计一个满意的场景?如何开展? 首先可以点击tools > Create Controller Scenario > OK ...

  6. loadrunner 场景设计-学习笔记之性能误区

    场景设计-学习笔记之性能误区 by:授客 QQ:1033553122 场景假设: 每个事务仅包含一次请求,执行10000个并发用户数 性能误区: 每秒并发用户数=每秒向服务器提交请求数 详细解答: 每 ...

  7. loadrunner 场景设计-目标场景设计

    场景设计-目标场景设计 by:授客 QQ:1033553122 A.   概述 Goals Types for Goal-Oriented Scenarios 在以目标为向导的场景中,定义你想实现的测 ...

  8. loadrunner 场景设计-手工场景设计

    场景设计-手工场景设计 by:授客 QQ:1033553122 概述 通过选择需要运行的脚本,分配运行脚本的负载生成器,在脚本中分配Vuser来建立手工场景 手工场景就是自行设置虚拟用户的变化,主要是 ...

  9. loadrunner 场景设计-手工场景设计

    概述 通过选择需要运行的脚本,分配运行脚本的负载生成器,在脚本中分配Vuser来建立手工场景 手工场景就是自行设置虚拟用户的变化,主页是通过设计用户的添加和减少过程,来模拟真实的用户请求模型,完成负载 ...

随机推荐

  1. php cli模式和浏览器访问下加载php.ini文件的注意事项[架构篇]

    使用wampserver或Xampp时,会将配置文件放在一个统一的目录中去调用,这时如果都使用浏览器访问,自然是没有问题的,但是如果换成cli命令行模式运行,则会出现加载了的扩展无法使用的问题. 案例 ...

  2. 学生成绩管理系统(C++指针、链表、文件及面向对象的运用)

    学生成绩管理系统 功能页面显示:    实现源码: #include<iostream> #include<fstream> #include<cstring> # ...

  3. Data - 关于大数据

    历史与趋势 大数据的前世今生:诞生.发展.未来? 如何利用数据赚钱?大数据价值变现的10种商业模式及利弊分析 10大行业大数据应用痛点及解决策略 大数据凉了?不,流式计算浪潮才刚刚开始 概念与定义 关 ...

  4. mysql之数据分区

    一:概述  通过把表分成多几区间,每个区间存储符合特定表达式的数据(即在我们创建分区表时指定每个分区存储的条件例如:PARTITION p0 VALUES LESS THAN (100) 即p0区间存 ...

  5. 【xsy1300】 原题的旅行 最短路+倍增

    题目大意:有一个$n$个点,$m$条边的无向图,玩家走过第$i$条边,血槽中的血会下降$v_i$点,如果不足$v_i$点,这人会当场去世. 这$n$个点中,有若干个是关键点,在这些关键点可以将血槽补满 ...

  6. Java语言访问Redis数据库之Set篇

    如果想通过Java语言对Redis数据库进行访问. 首先,需要安装Redis数据库,可以是Windows系统,或者Linux系统.(本文以Windows系统的本地Redis数据库为例,代码说明如何操作 ...

  7. web自动化测试---概述

    最早的时候是做功能测试,web都是自己手工点击看看有没问题,没有系统的进行测试,更别说自动化测试了,那是一段不堪回首的往事,就是因为这,很多问题都流出去了,这是作为测试人员的一大失职,痛定思痛,开始学 ...

  8. 如何把开源项目发布到Jcenter

    转载自:https://www.jianshu.com/p/f66972f0607a 首先我们应该注册一个JFrog Bintray的账号 Jfrog Bintray官网 这里我们可以注意到那个绿色的 ...

  9. kdump内核转储

    目录 CentOS 7.5 配置Kdump 安装Kdump 安装Kdump图形化 配置保留内存 配置kdump类型 核心转储到本地 核心转储到设备 使用NFS指定核心转储 使用SSH指定核心转储 配置 ...

  10. show profiles 分析sql耗时瓶颈

    1.首先查看是否开启profiling功能 SHOW VARIABLES LIKE '%pro%'; 或者 SELECT @@profiling; 2.开启profiling ; 3.执行sql语句例 ...