LoadRunner 常见问题解决

LR工具学习遗留问题:

1.      测试脚本组织上不太了解应用在实际项目中怎样的组织编写方式,如何定义action、事务,检查点一般使用在什么情况下,是用文字、图还是函数,是否有规范的要求。

先简单解答一下什么是Action 什么是事务:

Action :是一组事务或是一个独立的事务,一个Action可能和服务器有多次交互,完成活动目的

Transaction:在Loadrunner 中定义是用来度量服务器相应VU的请求相应时间。

 

检查点:在每次事务提交后,服务器端都会返回响应信息,要通过对相应信息的检查来确认每次事务请求处理结果是否正确。具体采用什么样的检查方法,根据实际情况来确定,返回的是文字就验证文字,返回图片验证图片,返回数字验证数字。

 

 

2.      测试场景中哪些监控器是常用的监控器,监控器中的监控指标也不太清楚常用的监控指标有哪些。

监控指标分为系统监控,应用监控,事务监控

事务监控:必须要监控的是事务平均相应时间,每秒处理事务数,事务成功率,事务失败率等

系统监控:分为CPU使用率,内存使用率,磁盘IO,网络IO 等具体指标说明见

应用监控:JVM,web服务器,apache IIS,数据库 oracle ,informix,中间件tuxedo weblogic等等

每种应用的架构不一样监控的指标也不一样,如tuxedo 使用MQ技术那么监控要看其消息对列大小变化,队列越长说明处理能力下降。

具体指标代表什么意思可以去网上查资料。上次发的文档里有一篇文章《Computer Performance Monitoring》是专门介绍监控指标的可以参考。

 

3.      测试场景中如何使用IP Spoofer,什么情况下使用。

在一些系统中为防止网络攻击,对请求IP地址进行限制,当多个并发时候会拒绝请求。在这种情况下通过Loadrunner IP欺骗技术,构造数据包时候修改来源IP地址欺骗服务端IP过滤功能。

 

4.      测试场景在项目中一般是否定义服务水平协议(SLA),在什么情况下需要使用SLA。与基于目标的场景有什么区别。

SLA是针对事务级别做阀值设置,设置数据在结果分析时有效

目标场景的设置是对控制台有效,影响测试执行。

 

5.      测试分析中没有如何分析的思路,一般对哪些图表进行怎样的分析能够分析出问题。建议将‘Load Test(loadrunner).ppt’中的‘应用Loadrunner测试心得’进行培训。

这个可以安排时间组织讨论。

 

 

6.      LR11中在录制脚本过程中没有录制下thinktime,而且没有找到在哪里设置录制时记录thinktime的地方。

11没找到设置位置,这个问题保留吧。如实在需要直接手工插入think时间。

7.      在使用ip 欺骗时候如何判断vu用户使用的虚拟ip

char *ip = lr_get_vuser_ip();

    if(ip)

         lr_output_message("The IP address is%s", ip);

    else

         lr_output_message("IP spoofingdisabled");

 

8.      在服务响应中判断事物结果

    在transaction 前再加入获取信息语句

    web_reg_find("Text=验证码","SaveCount=flag",LAST);

    在transaction 后边加入 判断语句,决定事务状态

    if(atoi(lr_eval_string("{flag}"))>0)

    {

        lr_set_transaction_status(LR_FAIL);

        lr_error_message("验证出现");

    }

    else

    {

        lr_set_transaction_status(LR_PASS);

    }

 

9.      使用关联方法获取参数

web_reg_save_param("param1",

        "LB/IC=ViewState\"value=\"",

        "RB/IC=\"",

        "Ord=1",

        "Search=Body",

        "RelFrameId=1",

        LAST);

使用参数

web_url("HelpForm.aspx", "URL=http://10.0.0.104/Presentation.Settlement.UI/Form/HelpForm.aspx{param1}",

        "TargetFrame=",

        "Resource=0",

        "RecContentType=text/html",

        "Referer=http://10.0.0.104/Presentation.Settlement.UI/Left.aspx",

        "Snapshot=t2.inf",

        "Mode=HTML",

        LAST);

 

10.  通过设置接受html数据最大长度

web_set_max_html_param_len("1024");

11.  如何去掉垃圾时间

   char* transid ;

    doubletime_elapsed;

merc_timer_handle_ttimer;

lr_start_timer();

    if(atoi(lr_eval_string("{flag}"))> 0)

   {

         lr_message("it is fail ");

         lr_set_transaction_status(LR_FAIL);       

    }

    else

    {

         lr_message("it is ok");

         lr_set_transaction_status(LR_PASS);

    }

    time_elapsed =lr_end_timer(timer);

    lr_wasted_time(1000 * time_elapsed);

 

12.  如何自己定义计数器

再globals.h 文件中定义采集数据的方法,具体需要编程实现数据采集,我这里只是实现一个方法提供action 中调用

#ifndef _GLOBALS_H

#define _GLOBALS_H

 

//--------------------------------------------------------------------

// Include Files

#include "lrun.h"

#include "web_api.h"

#include "lrw_custom_body.h"

 

//--------------------------------------------------------------------

// Global Variables

 

  int cpu_check(){

      return 10;

  }

 

#endif // _GLOBALS_H

在action 中实现

for(i=0;i<100;i++) {

   cpu_val=cpu_check()*i;

   lr_user_data_point("cpu", cpu_val);

   sleep(1);

    }

在运行时候在控制台有用户定义的数据点,双击就可以进入图形监控界面,根据数据可以调整两轴的范围

lr_user_data_point_ex(const char *sample_name, double value, intlog_flag);

方法是提供了是否对用户计数进行记录日志,log_flag有几个选项是和运行时候配置中的log进行对应的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值