性能测试进阶一

总结篇
  • 性能测试基本知识
  • LR工具基本操作
  • Web性能测试实践
  • 分析性能测试结果
  • 撰写性能测试报告
多看文档,多实践
常用性能指标计算公式
1、吞吐量计算公式
从业务角度看,吞吐量可以用:请求数/秒、页面数/秒、人数/天或处理业务数/小时等单位来衡量。
从网络角度看,吞吐量可以用:字节/秒来衡量
对于交互式应用来说,吞吐量指标反应的是 服务器承受的压力,他能够说明系统的负载能力
性能测试进阶一
2、并发用户计算公式
指在客户端的一批用户同时执行一个操作的数量。
案例:一个BBS有3000个用户,平均每天大约有400个用户要访问网站,一天这内,用户从登录到退出的平均时间是4小时,用户中在一天8小时内使用系统,计算平均并发用户数和并发用户的峰值为多少?
性能测试进阶一
说明:并发用户数量的统计的方法目前还没有非常准确的公式,因为不同系统会有不同的并发特点。便如OA系统统计并发用户数量的经验公式为:使用系统用户数量*(5%~20a%).对于这个公式是没有必要拘泥于计算的结果。因为为了保证系统的扩展空间,测试时间的并发用户数量要稍微大一些,除非是要测试系统能承载的最大
并发用户数量。

举例说明:如果 一个OA系统的期望用户为1000个,只要测试出系统能支持200个并发用户就可以了。

3、思考时间计算公式
用户操作之间的等待时间
性能测试进阶一

LR操作技巧补充
分步录制。断点、单步调试,脚本注释
Vgen自定义工具条,菜单,快捷键

lr C语言脚本开发
LoadRunner生成脚本的方式有两种,一种是通过LoadRunner提供的录制功能,运行程序自动录制生成脚本,一种是自己编写手动添加或嵌入源代码;这两种方式各有利弊,但首先还是录制生成脚本,因为它简单且智能化,对于测试初学者来说更加容易操作,但是仅靠着自动录制脚本,可能无法满足用户的复杂要求,有些业务甚至无法录制,因些需要编写脚本,增强脚本的实用性。
LoadRunner支持多种协议,在编写脚本的时候,可以根据不同的应用,选择适合的协议。同是,台以选择Java Vuser,JavaScript Vuser,Mircrosoft NET 、等协议进行相就语言的脚本编写。在进行"Web(HTTP/HTML)"等协议编写的时候,脚本的默认语法规则都是按照C语言的语法规则。

  数据类型
在C语言中数据类型可分为基本数据类型、构造数据类型、指针类型,空类型5大类
性能测试进阶一

性能测试进阶一
swith语句

性能测试进阶一

do -while
Action()
{
    int i = i;
    int sum= 0;
//do-while循环
    do {
        sum = sum+i;
        i++;
    }
    while(i<=100);
    lr_output_message("Do sum is :%d",sum);
}

Action()
{
    int i = i;
    int sum= 0;
//while循环
    while(i<=100){
    sum=sum+i;
    i++;
    }
    lr_output_message("while sum is :%d",sum);
}


for循环
Action()
{
    int i = i;
    int sum= 0;
//for循环
    for(i=1;i<=100;i++)
    {
        sum= sum+i;
    }
    lr_output_message("fro sum is :%d",sum);
}

Action()
{
    int i,j;
    for(i=0;i<4;i++){
        for(j=0;j
            lr_output_message("◆");
        }
lr_output_message("★");
    }
     
    return 0;
}
变量作用域与条件编译
#define website "51zxw"
Action()
{
    int var=51;//定义一个全局变量var
     
    //条件编译输出
    #ifndef website
    lr_output_message("website 没有定义");
    #else
    lr_output_message("website已经定义了");
    #endif // website
     
    #ifdef website1
    lr_output_message("website1已经定义了");
    #else
    lr_output_message("website1还没有定义");
    #endif // website1
}
——————————————————————————————————————————
Action()
{
    int var=51;//定义一个全局变量var
     
    lr_output_message("before var is %d",var);
    var = ChangeVar(var);   //传入全局变量
    lr_output_message("later var is %d",var);
     
    return 0;
}

//全局变量和局部变量测试函数
int ChangeVar(int var){
    var=78; //局部变量
    return var;
}
————————————————————————————————————
Action()
{    
    //执行函数auto_static 5次
    int i;
    for(i=0;i<5;i++){
        auto_static();
    }
     
    return 0;
}

//动态静态变量测试函数
void auto_static(void)
{
    int var_auto=0;             //动态变量:每次调用都重新初始化
    static int var_static=0;       //静态局部变量:只初始化1次
     
    //输出两上变量的值
    lr_output_message("var_auto=%d, var_static=%d\n",var_auto,var_static);
    var_static++;
}
________________________________________________________________________________
指针
Action()
{    
    //将val值赋给变量deref
    int *ptr;     //声明一个int类型的指针变量
    int deref;
    int val = 35;     //定义变量并赋值,此时会分配存储单元,有存储地址
    int var=99;
   
    ptr = &var;   //ptr指向变量var的内存地址,但不可以把数值赋给指针变量,如:ptr=100
    deref = *ptr;     //对指针进行取值,打印存储在指针地址中的内容。
    lr_output_message("var is %d",deref);;
   
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值