疫情期间,只能网上带学员学习Loadrunner,笔记

Loadrunner:基于场景的测试
jmeter:基于接口的测试

注册用户数(论坛注册1000人)
在线用户数(登录论坛100人)
并发用户数:与服务器进行交互的在线用户数(9:36分有10个用户在论坛上发帖)

请求响应时间:
从client端发出请求到得到响应的整个时间。
一般包括网络响应时间+server响应处理时间


事务响应时间:
完成这个事务所用的时间(事务是人为定义的)
这个是性能测试中重点关注的指标

吞吐率:
单位时间在网络上传输的数据量
这个是衡量网络性能的主要指标

TPS:每秒钟系统能够处理事务的数量,是衡量系统性能的一个重要指标。

点击率:
每秒发送的http请求的数量
点击率越大对server压力也就越大

资源利用率:
对不同资源的使用程度,比如服务器的CPU,内存等

web性能测试的目的:
1、发现系统的代码缺陷
2、发现系统的工作能力
3、发现性能优化的关键点

web性能测试的详细分类:
一般性能测试
软件在正常环境和系统条件下,即不施任何压力情况下,验证其是否满足性能指标,如响应时间,系统资源占有情况
一般先做性能测试

负载测试
在一定的软件、硬件以及网络环境下,运行一种或者多种业务,在不同的虚拟用户用户数量的情况下,测试服务器的性能指标是否在用户的要求范围内,以确定系统所能承载的最大用户数,最大有效用户数以及不同用户数下的系统响应时间以及服务器的资源占用率。

压力测试
在一定的软件、硬件以及网络环境下,模拟大量的虚拟用户向服务器发生负载、使服务器的资源处于极限状态下并长时间持续运行,以测试服务器在高负载情况下是否能够稳定工作。与负载测试获得峰值性能数据不同,压力测试强调在极端情况下系统的稳定性,这个时候处理能力已经不重要了。

Loadrunner三大组件
Virtual User Generator:脚本生成器,用于录制制作编辑脚本
Controller:负载生成器
Analysis:结果分析器

Loadrunner测试的步骤:
阶段1:制定测试方案
阶段2:创建测试脚本
阶段3:设计测试场景
阶段4:执行场景
阶段5:分析测试结果
阶段6:系统性能调优

性能测试的需求分析:
比如:
电商系统:首页、登录页、商品列表页、商品详情页、提交订单、秒杀活动、特卖会等。
金融系统:首页、登录页、商品列表页、商品详情页、投资商品、优惠券和红包的并发使用等

性能测试估算并发用户数:
有2种估算模式
1:取在线用户数的10%-20%,作为并发用户数
2:采用2-8原则:

题目:某网站的登录模块预计1天的登录人数是100万,请根据2-8原则,算出登录模块的并发用户数量(登录页面的响应时间要求<=2秒)。
分析:根据2-8原则,80%的业务量在20%的时间内完成。
1、业务量:100万*80%=80万
2、时间段:24小时*20%=4.8小时
3、每小时的业务量:80万/4.8小时=16.66万/小时
4、每秒钟的业务量:16.66万/3600秒=46.27/秒,即一个users迭代一次的时间:1/46.27=0.021(秒)
5、每人每笔业务处理时间(登录时间)2秒/次,业务目标预估最大值2/0.021=95个(Users)
即登录模块并发用户数量95个Users。

函数的含义:
web_url()
web_submit_form()
web_image()
lr_save_string()
lr_eval_string()
lr_output_message()
你是如何做性能测试的?


事务:事务是这样的一个点,我们为了衡量某个Action的性能,在Action的开始位置和结束位置插入了这样的一个时间戳的范围。

集合点:是一个控制真正并发访问的点,通常和事务结合起来使用,一般放在开始事务的前面。

思考时间lr_think_time();可以通过设置思考时间,来模拟真实用户在操作过程中的等待时间,可以调节服务器压力,如果忽略思考时间,服务器压力更大。从定义上来看think_time是在迭代内部的某个action中各个步骤的间隔时间。

pacing,步调。可以通过设置两次迭代之间的间隔时间,来调整各个acion之间的步调,从定义上来看,pacing是和iteration绑定在一起的。

检查点:添加检查点的目的是检查服务器的返回内容,是否包含了该检查点的内容,已保证测试的时候结果的正确性。

参数化:为了更加真实的模拟客户端不同的数据对服务器的请求,为了模拟不同的数据,所以需要对这些不同的数据进行参数化,参数化操作之后,更能真实的体验生产环境的业务场景(比如模拟不同的用户登录,需要对登录的用户名和密码进行参数化)

参数化的第一种方式:通过记事本Edit with Notepad方式

参数化的第一种方式:数据库的连接连接向导Data Wizard完成

参数的取值方式:
1、select next row:选择下一行的方法
Sequential默认:顺序的,按照参数化的数据顺序,从上往下一个一个来取值
Random随机取,参数化中的数据,每次随机的从中抽取数据
Unique唯一的,唯一的向下取值,只能被调用一次

2、update value on:更新的方式
Each iteration默认,每次迭代时取值(常用)
Each occurrencem,每次遇到该参数的时候取值
Once,取值一次,脚本运行过程中只取值一次,一次选择,终身不变

Sequential+Each iteration,默认的方式,每次迭代的时候顺序取值
Sequential+Each occurrencem,没办法模拟
Sequential+Once

保持每次参数取值的唯一性:Unique+Once( 比如我有100个用户,准备100条数据,大家用到数据都是不一样的)
Same lines as xxx,和列取同一行的值(行相同,步调一致)

关联:关联是用来解决脚本中存在的动态数据问题,分为手动关联和自动关联。web_reg_save_param()
自动关联
手动关联


Controller场景篇

目标模式:目标场景:目标可能是吞吐量,响应时间或并发Vuser数或者点击率等,Loadrunner为了达到这个目标,Load Runner自动管理和调节虚拟用户Vuser。
手动模式:可以手动控制运行的Vuser数量和时间。

Down关闭,Vusers处于关闭状态
Pending挂起,Vusers已经准备好,可以进行初始化,正在将脚本文件传输到负载生成器(load generator)
init初始化,Vusers正在初始化,执行对应的Vuser_init函数
Ready就绪,Vusers已经执行完成初始化操作,可以运行Action了
Run正在运行,Vusers脚本正在运行
Renezvous集合点,Vusers到达了集合点,正在等待条件满足,然后释放
Passed完成并通过,Vusers已经运行结束,并且是成功通过
Failed,完成但失败,Vusers已经运行结束,并且是失败
Error错误,Vusers发生了错误,要了解错误的完整说明,就要查看单个Vuser的详细状态


Analysis结果分析

合并图:
overlay:叠加图:它将覆盖共享共同X轴的两个图的内容
Title:共用x轴:合并的两项内容,一个在Y轴的下方,另一个在Y轴的上方
Correlate:关联图:它将X轴的Y轴相互绘制(适用于拐点分析法)

IP欺骗
设置静态的IP地址
重新启动机器
ipconfig查看
scenaro->enableip
loadgenteraator,增加虚拟出来的ip地址,然后connect连接
为每个虚拟用户使用不同的ip的地址
释放ip地址

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

软件测试King老师

感谢大家一直以来的支持和关注

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值