怎么样用LoadRunner对已经上线的网站进行测试?需要测试哪些地方?

怎么样用LoadRunner对已经上线的网站进行测试?需要测试哪些地方?,第1张

1、首先你得分析你的网站有那些功能(在压力中被称为场景),这些功能那些需要做压力,比如有多个查询,那就只取典型的一个或者两个来做压力。

2、确定要做的功能后,录制编辑脚本并做相应的参数化以及返回数据正确性的判断

3、因为已经是上线网站,所以肯定每个功能都有相应的要达到的标准,此时要做的就是确定想能达标的标准,如并发多少用户,响应时间要低于多少,TPS要达到多少等等。

4、设置场景

5、进行压力并监控服务器性能

6、分析压力报告并结合服务器性能在压力过程中的变化,给出相应的压力报告

使用loadrunner进行IP欺骗首先要注意以下两点:

1、 本地的IP设置不能为“自动获取”,必须指定一个静态IP

如果本地是动态获取IP,在运行IP Wizard时会弹出提示:

The IP wizard does not support DHCP-enabled network cards

Your cards are either DHCP-enabled or configured with invalid settings

Please contact your system administrator

此时只需要将IP地址改成静态IP地址就可以了

2、 所添加的IP只能是局域网内的网段

只能添加192段,127段,10段IP地址

好下面开始介绍如何使用IP欺骗

一、添加IP地址

第一步:

运行Mercury LoadRunner- Tools-IP Wizard

弹出的IP设置向导中的各项含义如下:

1、 create new setting 新建IP列表

当我们第一次使用IP欺骗或已经释放所添加的IP时,需要选择此项添加新的IP地址

2、 load previous setting from file 读取IP列表文件

从以前设置的IP地址列表文件中读取IP地址

3、 restore original setting 释放已设置的IP

释放已经添加的IP地址

说明:loadrunner在做IP欺骗时,真实的虚拟了IP地址,该IP地址均真实存在,可以ping通,可以建立网络链接,在不使用时必须进行释放,否则这些IP地址将一直存在。

第二步:

选择create new setting,点击“下一步”

此时出现的页面是让输入服务器的IP FONT>地址,loadrunner通过该地址更新路由表。

客户端计算机上添加新的 IP 地址后,服务器需要将该地址添加到路由表,以便能够识别返回到客户端的路由。如果服务器和客户端具有相同的子网掩码、IP 类和网络,则不需要修改服务器的路由表。

注意: 如果客户端和服务器计算机之间有一个路由器,则服务器需要识别经过该

路由器的路径。确保将以下路由添加到服务器路由表:从 Web 服务器到路由器

的路由,以及从路由器到负载生成器计算机上的所有 IP 地址的路由。

第三步:

在输入服务器地址的页面中不输入任何地址,直接点击“下一步”

进入IP添加页面

点击“add”进行添加

第四步:

在from ip 输入框中输入起始ip,在Number to输入框中输入ip地址的位数

输入正确的子网掩码

选中“verify that new ip addresses are not already used”

点击“ok”,此时IP Wizard会自动按照设置生成IP地址,并且将已经占用的IP列出

第五步:

确认可用IP地址列表内容后,点击“ok”

此时IP Wizard提示需要重新启动计算机,点击“save as”保存IP列表

点击“ok”,重新启动计算机

第六步:

计算机重新启动后,在运行行中输入:CMD,在DOS命令窗口中输入:IPCONFIG,此时便可看到虚拟的IP地址均已经被启用

二、在loadrunner中使用虚拟IP

第一步:

打开controller,在controller中,选择 Scenario-〉Enable IP Spoofer,此项设置允许使用IP欺骗。

第二步:

设计场景:

有两种方案来设计场景

1、 本地使用虚拟IP设计场景(不带负载生成器使用localhost进行测试)

在设置该类场景时,在场景中添加一个录制好的脚本,该脚本中添加如下代码便可看到虚拟用户在使用哪个IP地址进行消息发送,该场景是通过线程方式进行性能测试。

char ip;

ip=lr_get_vuser_ip();

if (ip)

{

lr_vuser_status_message("The ip address is %s",ip);

}

else

lr_vuser_status_message("IP spoofing disabled");

在controller中执行该脚本时,查看虚拟用户运行状态,便可看到当前虚拟用户使用的哪个IP地址发送消息

2、 负载生成器使用虚拟IP设计场景

在设置该类场景时,需要添加负载生成器,建立负载生成器时输入创建的虚拟IP,每个负载生成器为一个虚拟用户组,该场景是通过进程方式进行性能测试。

如何添加负载生成器创建场景在这里就不多描述了。

但需要注意,选中Tools下的Expert mode,启动专家模式

再点击Tools下的options

在Genearl选项卡中设置已线程方式或进程方式进行性能测试,这个选项一定要与当前场景的模式相匹配,也就是说使用本地虚拟IP测试时需要选中线程方式,使用负载生成器使用虚拟IP测试时需要选中进程方式

三、使用虚拟IP测试完成后

打开IP Wizard,释放所有虚拟IP。

重新启动计算机

一般在客户端通过LoadRunner对服务器进行压力测试,都需要实时监控服务器端的系统资源,本篇主要简单介绍一下如何设置在LoadRunner的Controller中配置监控Windows Resources,其实也可以直接在远程连接服务器端在上面开启任务管理器或者在控制面板中找到性能计数器来监控也可以,但是为了在LR进行施压过程中更便捷,我们还是要学会这个基本的配置。关于此处的配置,需要针对不同的服务器操作系统进行不同的设置,但基本思路相同。本篇以Windows系统为例,具体配置如下:

1、通过客户端与服务器进行网络测试,保证通信畅通

2、开启服务器端Windows中的如下两个服务,

3、需要对服务器的系统本地策略进行更改,这个很重要,也是决定客户端能不能访问服务器端的关键步骤,具体需要进入控制面板下的管理工具中,找到本地安全策略,

注意:这里一定要改成经典模式,默认为仅来宾模式。

4、在客户端进行测试,在“运行”栏中输入服务器的ip地址,后面跟上C$,表示服务器C盘下的系统资源目录,如:“//19216896135/C$”,看看是否可以访问服务器C盘目录,通常情况下可能需要输入用户名和密码,填充服务器端的账户和密码就ok,

注:如果显示可以访问该页面表示,可以正常访问服务器端的系统资源,也就可以监控。

5、切换到LoadRunner的Controller中在Windows Resources下配置监控目标

6、看看配置完成后的实时监控记录,

以上是在压力测试过程中,所实时监控的目标服务器的系统资源。

LR是一个功能比较全面的性能测试工具,所以很多细节的功能可能不好设置,但是作用却很大。下次有机会将总结LoadRunner如何监控Linux系统资源。

用loadrunner做简单网站的压力测试的方法

使用LoadRunner 完成测试一般分为四个步骤:

1、Vvitrual User Generator 创建脚本。

创建脚本,选择协议,录制脚本, 编辑脚本,检查修改脚本是否有误。

2、中央控制器(Controller)来调度虚拟用户。

创建Scenario,选择脚本,设置机器虚拟用户数,设置Schedule,如果模拟多机测试,设置Ip Spoofer。

3、运行脚本。

分析scenario

分析测试结果

4、安装LoadRunner 中文版。

LoadRunner 分为Windows 版本和Unix 版本。如果所有测试环境基于Windows 平台, 那么只要安装Windows 版本即可。本章讲解的安装过程就是LoadRunner78中文的Windows 版本的安装。

5、使用LoadRunner进行负载/压力测试。

6、录制基本的用户脚本。

创建用户脚本需要用到VuGen。提示: 运行VuGen 最好在1024768 的分辨率下, 否则有些工具栏会看不到。启动Visual User Generator 后, 通过菜单新建一个用户脚本, 选择系统通讯的协议。这里需要测试的是Web 应用,同时考虑到后台SQL数据库所以需要选择Web(HTTP/HTML)协议+SQL SERVER协议,确定后, 进入主窗体。通过菜单来启动录制脚本的命令。

7、在URL 中添入要测试的Web 站点地址。

●测试http://lmsahspcomcn/lms-lmm/loginFormdo选择要把录制的脚本放到哪一个部分, 默认情况下是“Action”。

这里简单说明一下:VuGen 中的脚本分为三部分:vuser_init、vuser_end 和Action。其中vuser_init 和vuser_end 都只能存在一个, 不能再分割, 而Action 还可以分成无数多个部分( 通过点击New 按钮, 新建ActionXXX)。在录制需要登陆的系统时, 把登陆部分放到vuser_init 中, 把登陆后的操作部分放到Action 中, 把注销关闭登陆部分放到vuser_end 中。( 如果需要在登陆操作设集合点, 那么登陆操作也要放到Action 中, 因为vuser_init 中不能添加集合点) 在其它情况下, 只要把操作部分放到Action 中即可。注意: 在重复执行测试脚本时,vuser_init 和vuser_end 中的内容只会执行一次, 重复执行的只是Action 中的部分。

8、点“ 选项 ”按钮, 进入录制的设置窗体, 这里一般情况下不需要改动。

●然后点“OK” 后,VuGen 开始录制脚本。在录制过程中, 不要使用浏览器的“ 后退” 功能,LoadRunner 支持不太好! 录制过程中, 在屏幕上会有一个工具条出现。录制的过程和WinRunner 有些类似, 不再多介绍。录制完成后, 按下“ 结束录制” 按钮,VuGen 自动生成用户脚本, 退出录制过程。

9、完善测试脚本。

当录制完一个基本的用户脚本后, 在正式使用前还需要完善测试脚本, 增强脚本的

灵活性。一般情况下, 通过以下几种方法来完善测试脚本。插入事务、插入结合点、插入注解、参数化输入。这里只举例介绍参数化如何设置,其它只作简单介绍。

10、插入事务。

事务(Transaction): 为了衡量服务器的性能, 需要定义事务。比如: 在脚本中有一个数据查询操作, 为了衡量服务器执行查询操作的性能, 把这个操作定义为一个事务, 这样在运行测试脚本时,LoadRunner 运行到该事务的开始点时,LoadRunner 就会开始计时, 直到运行到该事务的结束点, 计时结束。这个事务的运行时间在结果中会有反映。

插入事务操作可以在录制过程中进行, 也可以在录制结束后进行。LoadRunner 运行在脚本中插入不限数量的事务。

具体的操作方法如下: 在需要定义事务的操作前面, 通过菜单或者工具栏插入。输入该事务的名称。注意: 事务的名称最好要有意义, 能够清楚的说明该事务完成的动作。插入事务的开始点后, 下面需要在需要定义事务的操作后面插入事务的“ 结束点”。同样可以通过菜单或者工具栏插入。默认情况下, 事务的名称列出最近的一个事务名称。一般情况下, 事务名称不用修改。事务的状态默认情况下是LR_AUTO。一般情况下, 也不需要修改, 除非在手工编写代码时, 有可能需要手动设置事务的状态。

11、插入集合点。

插入集合点是为了衡量在加重负载的情况下服务器的性能情况。在测试计划中, 可能会要求系统能够承受1000 人同时提交数据,在LoadRunner 中可以通过在提交数据操作前面加入集合点, 这样当虚拟用户运行到提交数据的集合点时,LoadRunner 就会检查同时有多少用户运行到集合点,如果不到1000 人,LoadRunner 就会命令已经到集合点的用户在此等待, 当在集合点等待的用户达到1000 人时,LoadRunner 命令1000 人同时去提交数据, 从而达到测试计划中的需求。

注意: 集合点经常和事务结合起来使用。集合点只能插入到Action 部分,vuser_init 和vuser_end 中不能插入集合点。具体的操作方法如下: 在需要插入集合点的前面, 通过菜单或者工具栏操作输入该集合点的名称。注意: 集合点的名称最好要有意义, 能够清楚的说明该集合点完成的动作。

12、插入注释。

注释的作用就不多说了, 不过插入注释最好是在录制过程中。具体的操作方法如下: 在需要插入注释的前面, 通过菜单或者工具栏操作。

13、参数化输入。

如果用户在录制脚本过程中, 填写提交了一些数据, 比如要增加数据库记录。这些操作都被记录到了脚本中。当多个虚拟用户运行脚本时, 都会提交相同的记录, 这样不符合实际的运行情况, 而且有可能引起冲突。为了更加真实的模拟实际环境, 需要各种各样的输入。参数化输入是一种不错的方法。

用参数表示用户的脚本有两个优点: 

① 可以使脚本的长度变短。

② 可以使用不同的数值来测试脚本。例如, 如果企图搜索不同名称的图书, 仅仅需要写提交函数一次。在回放的过程中, 可以使用不同的参数值, 而不只搜索一个特定名称的值。

参数化包含以下两项任务: 

① 在脚本中用参数取代常量值。

② 设置参数的属性以及数据源。

参数化仅可以用于一个函数中的参量。不能用参数表示非函数参数的字符串。

另外, 不是所有的函数都可以参数化的。

参数化输入的讲解, 采用一个例子的方式来进行。

在本例中参数化用户的登陆名:

先看如下脚本,通过脚本录制找到用户登陆部分,如图

14、参数名随意取,建议取通俗易懂的名字,下面重点介绍一下参数的类型。

●DateTime: 很简单, 在需要输入日期/时间的地方, 可以用DateTime 类型来替代。其属性设置也很简单, 选择一种格式即可。当然也可以定制格式。

●Group Name:暂时不知道何处能用到,但设置比较简单。在实际运行中,LoadRunner 使用该虚拟用户所在的Vuser Group 来代替。但是在VuGen 中运行时,Group Name 将会是None 

●Load Generator Name: 在实际运行中,LoadRunner 使用该虚拟用户所在Load Generator 的机器名来代替。

●Iteration Number: 在实际运行中,LoadRunner 使用该测试脚本当前循环的次数来代替。

●Random Number: 随机数。很简单。在属性设置中可以设置产生随机数的范围

●Unique Number:唯一的数。在属性设置中可以设置第一个数以及递增的数的大小。

注意: 使用该参数类型必须注意可以接受的最大数。例如: 某个文本框能接受的最大数为99。当使用该参数类型时, 设置第一个数为1, 递增的数为1, 但100 个虚拟用户同时运行时,第100 个虚拟用户输入的将是100,这样脚本运行将会出错。

注意: 这里说的递增意思是各个用户取第一个值的递增数, 每个用户相邻的两次循环之间的差值为1。举例说明: 假如起始数为1, 递增为5, 那么第一个用户第一次循环取值1, 第二次循环取值2; 第二个用户第一次循环取值为6, 第二次为7; 依次类推。

●Vuser ID: 设置比较简单。在实际运行中,LoadRunner 使用该虚拟用户的ID 来代替,该ID 是由Controller 来控制的。但是在VuGen 中运行时,Vuser ID 将会是–1。

File: 需要在属性设置中编辑文件,添加内容,也可以从现成的数据库中取数据( 下面将会介绍) 

●User Defined Function: 从用户开发的dll 文件提取数据。就目前我认为, 这种方式没有必要。VuGen 支持C 语言的语法,在VuGen 中重新编写类似的函数应该不难。

上面的例子中, 取随机数即可。点“Properties… ” 按钮, 进行属性设置窗口添入随机数的取值范围为(1-50), 选择一种数据格式。在“属性” 中有以下几个选项: 

◆Each Occurrence:在运行时, 每遇到一次该参数, 便会取一个新的值

◆Each iteration:运行时, 在每一次循环中都取相同的值

◆Once:运行时, 在每次循环中, 该参数只取一次值

这里我们用的是随机数, 选择Each Occurrence 非常合适。

下面我们再介绍用数据库中的用户名来参数化登陆用户名。

框选住登陆名,点鼠标右键,弹出对话框,选择“替换为新参数”弹出对话框,此时参数名输入:name,参数类型选择File,如图

15、注意: 参数的文件名不要使用condat、pmdat 或者lptdat 等系统装置名下面我们将会连接数据库, 从数据表中选择用户名。点“数据向导” 按钮,显示如图

16、添入连接字符串, 点“创建” 按钮,选择事先配置好的ODBC连接。在SQL语句里输入select查询语句,出现如图窗口

17、提醒: 在参数数据显示区, 最多只能看到100 行, 如果数据超过100 行, 只能点“编辑” 按钮, 进入记事本看。

“选择下一行 ” 有以下几种选择: 

●Sequential: 按照顺序一行行的读取。每一个虚拟用户都会按照相同的顺序读取

●Random: 在每次循环里随机的读取一个, 但是在循环中一直保持不变

●Unique : 唯一的数。注意: 使用该类型必须注意数据表有足够多的数。比如Controller 中设定20 个虚拟用户进行5 次循环, 那么编号为1 的虚拟用户取前5 个数, 编号为2 的虚拟用户取6-10 的数, 依次类推, 这样数据表中至少要有100 个数据, 否则Controller 运行过程中会返回一个错误。

“按编号”指选择列表中的那一列数据,从左到右分别是1、2、3依次通常用在有关联性的数据上面。我们这里取值Sequential 即可。完成设置关闭即可

43 单机运行测试脚本

经过以上的各个步骤后, 脚本就可以运行了。运行脚本可以通过菜单或者工具栏来操作。

执行“ 运行” 命令后,VuGen 先编译脚本, 检查是否有语法等错误。如果有错误,VuGen 

将会提示错误。双击错误提示,VuGen 能够定位到出现错误的那一行。为了验证脚本的正

确性, 还可以调试脚本, 比如在脚本中加断点等, 操作和在VC 中完全一样, 相信大家谁都不会感到陌生。如果编译通过, 就会开始运行。然后会出现运行结果。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 怎么样用LoadRunner对已经上线的网站进行测试?需要测试哪些地方?

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情