(1)新建参数Pwd,并选择File 为username.dat
(2)添加列:点击Add Column按钮,查看弹出框,点击ok按钮
(3)添加密码:点击Edit with Notepad 按钮,输入用户名对应的密码,比如username,pwd
(4)回到脚本中替换掉密码值即可,方法与用户名的替换相同
2.数据库参数**:**
使用数据库参数化首先要安装ODBC。数据库为mysql的话,下载mysql ODBC安装到本地,之后配置即可
(1)在脚本里新建一个参数,多为usernamedb
(2)单击data wizard按钮,在弹出的对话框中选择specifySql statement menu并单击“下一步按钮”
(3)单击create按钮,在弹出的对话框中选择“机器数据源”后,单击“新建”按钮
(4)选择系统数据源并单击“下一步”按钮
(5)选择“mysql ODBC x.xx Driver”并单击下一步
Data Source Name 和Description 可随意填写
TCP/IP Server:是Mysql所在服务器的IP地址
Port:mysql使用的端口号
user:mysql使用的用户名
password:mysql账号的密码,如果为空则不填
database:是可以连接的数据库列表
Test:可以测试是否连接成功
(6)完成上述填写并确定后,在列表中看到新建的数据源
(7)双击要参数化的值后,可以把此数据源配置到Data Wizard中
(8)在SQL处输入想要查询的sql语句后,完成数据的参数化
3.参数化设置:
参数时间或者一个随机值,可以在参数化对话框的parameter type下拉列表中选择
file和Table类型:文本类型
data/time:可以在需要参数化日期的地方使用此类型
group name:使用该虚拟用户所在的Vuser group名称来代替参数化
iteration number:使用脚本执行的当前次数来代替参数化
load generator name:使用生产vusers负载的机器名来代替参数化
random number:使用唯一随机数来代替参数化
unique number:使用一个唯一的整数来代替参数化
vuser ID:使用虚拟用户的ID来代替参数化
user Defined Functions:扩展接口,可从用户开发的DLL文件中提取数据
XML:提供对xml格式数据的支持。可从xml中读取数据进行参数化
4.参数化数据分配方式:
分配值得方式,一共9种组合,理解意思即可
(1)select next row:选择下一行的策略
Sequential:顺序取行
random:随机取行
(2)update value on:更新值的策略
Each iteration:每次迭代都要取新值
Each occurrence:只要发现该参数取过就会重新取值
Once:在所有的反复中都使用同一个值
9.关联:关联其实就是动态的获取服务器的某些值,即使不动态的值,也完全可以用关联
一般出现以下几种情况需要考虑是否使用关联
1)服务器返回值中存在动态变化的值,一般就是类似session的无规则数据
2)运行后没有报错,但是也没有产生记录
3)后续的操作要使用到之前的数据。例如:回帖操作要知道之前发帖子的ID才行
F1 所有函数脚本
接口引用代码JS
举例:如果HTML中标签如下
<name=kajfjk value=A1312456448B>
<name=kajfjk value=A79878798898B>
手动编写关联:web_reg_save_param(“快递单号关联”,
“LB=value=A”,
“RB=B”,LAST);
将代码中的value={快递单号关联}
录制两次
问开发:那些是自动排列的
Web的值传输
自动关联:(Ctrl+F8) 自动跑一次 进行对比 记录
手动关联:web_reg_save_param(“名”,
“LB=name=”
“RB=value>”,LAST);
配合HTML<name=”1234”value>
Cookie:
Session:
自动关联的操作:
1)回访F5
2)点击correation results
3)ctrl+F8
4)选择需要关联的项,点击correlate
10.检查点
前提:
(1)检查点一定要放到事务的上面
(2)检查点检查的一定是系统的信息,而不是自己输入的
1)文本检查点:用于HTML页面检查是否有用户指定的文字
//文本检查点,检查jixu
Web_reg_find(“Text=jixu”,LAST)
2)图片检查点,用于在HTML页面检查是否有用户指定的图片
Web_image_check(“退出”,//图片名称,随意“Src=/webtours/image/signoff.gif”,//图片的src属性 LAST);
二、设置并执行脚本
1.选择场景
手动场景:(大多数选择的模式)
设置场景-查看执行结果
使用百分比-按照人数分配的百分比执行(往往只适合超大型的项目)
不适用百分比-按照虚拟用户数执行(默认)
自动场景(面向目标场景)
设置执行结果-自动生成场景
2.载入脚本
双击脚本,或者点击>,脚本在右侧显示即可
3.设置场景
(1)确定场景组
确定此次性能测试执行时用到的脚本数量和运行方式
(2)全局计划
初始化:每一个虚拟用户的初始准备时间
启动vuser:设置脚本总计运行人数,以及启动时间
持续时间:性能测试的执行时间
完成前一直执行:遵循脚本的迭代设置(脚本在制作时的要求,迭代几次,就运行几次)
运行时间:根据运行时间来进行N次迭代,直到时间结束
停止Vuser:停止脚本所用的时间和方法
4.集合点策略
前提:脚本中必须先有集合点:lr_rendezvous(“名称”)
在场景中,菜单栏Scenario-Rendezvous,打开集合点设置界面
设置:
(1)rendezvous:集合点的列表,可通过下面的disable rendezvous按钮启动或关闭
(2)
(3)vusers:当前设置的并发用户数,可通过下方的disable Vuser 按钮来启动或关闭虚拟用户
(4)-policy(集合点策略):单击后进入策略设置对话框
策略的设置:
1)当所有用户的X%到达集合点时释放
2)当所有正在运行的用户的X%到达集合点时释放
3)当X个用户到达集合点时释放
4)超时设置:表示等待用户超时规定的时间,如果在X秒内没有满足要求的用户到达,则释放集合点。
5.IP欺骗
对一般系统而言,是否使用IP欺骗并不会影响性能测试,只有在特殊的要求下才会使用。
如:1.某系统限制同一个IP用户在短时间内对系统进行恶意或大量的请求访问
2.负载均衡策略根据IP规则分配
前提:本地的IP地址不能设置为“自动获取”,必须指定一个静态的IP地址,否则报错。
添加步骤:1.开始-程序-HP LR-tools-IP wizard
选项:新增
选择保存的文件
释放还原
2.选Create new setting 点击下一步
3.输入服务器的IP地址或者留空也可以,点击下一步
4.点击Add按钮,弹出添加IP的对话框
5.修改from IP为xxxx.xxx.xx.xx 或者number to add 直接加上要模拟的人数,点击OK
6.点击完成
7.保存:点击“save as”按钮,可以将本次文件保存为“.ips”文件,点击OK
8.进入LP的场景设置 controller中,菜单选择Scenario-Enable IP Spoofer完成
释放还原:1.重复上面的第一步,选择释放还原
2.移除,点击完成
3.重启计算机
6.压力机
(添加windows压力机)
1.保证要添加的压力机安装了 Load Runner Agent(小卫星)
2.添加的压力机与Controller的所有机子要在同一个网段,并且要关闭所有的防火墙
3.本地系统的RPC服务要开启(“控制面板”-“管理工具”-“服务”中开启)
4.之后在Controller所在的机器上登录到压力机(远程连接),验证是否可以连通。单击Windows系统的“开始”-“运行”在弹出的对话框中输入“\机器名”,不报错则成功。
5.进入Controller,依次点击Scenario-Load Generators菜单项,默认会有一台压力机
6.点击add
Name:这里填写是IP地址
Platform:默认为机子系统
7.点击“ok”,点击Connect,可以测试通不通过,通过为Rendy
8.最后可以把压力机分到对应的脚本中。
7.监控服务器的设置
(windows添加监控对象)
右键点选系统资源图----添加度量----设置监控器服务器的名称-----最基本的监控内容
%Processor Time(CPU的占有率)
Avaliable MBytes(memory可用的内存)
8.执行
点击执行模块中的开始即可
三、分析结果
1.方法
1.运行后直接点击分析模块的图标
2.保存执行文件,点击分析模块(analysis),导入文件
3.直接点击分析图标
2.添加新项
1.右键点击报告—添加新项—windows资源图
2.新建后右侧图框中点击右键设置颗粒度
四、分析
(初步分析)
1.事务摘要描述(transaction sammary)
显示事物的通过数量和失败数量
成功率=成功数/(成功数+失败数)
失败率=失败率/(成功数+失败数)
2.平均事务响应时间(Average Transaction Response Time)
显示所有场景中出现的事务在执行时的响应时间的情况
随着测试时间的加长,系统处理事务的能力就会开始逐渐下降,总体的事务时间情况应该是缓步进行变更的,如果出现大起大落的现象,则为缺陷,说明该事务不稳定
3.每秒点击数(Hist per Second)
每秒发送服务器的请求数
这个数值反应出服务器承受压力的能力
4.吞吐量(Throughput)
服务器每秒处理的数据量
这个数值反应出服务器的处理能力
5.每秒通过的事务数(Time suctions per Second)
反应出不同事务在执行时竞争服务器资源的情况
五、初步判定
1.当服务器处理能力远大于服务器受压情况时,这种性能测试无意义
2.当服务器处理能力小于服务器受压情况时,能容忍一定的事务数报错
3.随着压力的增大,事务报错数逐渐增加
4.在压力一定的情况下,查看失败率和需求做对比确认,以验证此次性能测试通过与否
一般性能测试的结束基本的通过以下内容进行判定
1.成功率
2.事务平均时间
3.并发用户数
六、收集
Average:事务的平均响应时间
Min:事务最少响应时间
Max:事务最大响应时间
90%Line:90%的响应时间
Std. Deviation:标准差
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数软件测试工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年软件测试全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上软件测试开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注软件测试)
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。**
[外链图片转存中…(img-Z3TqK63V-1712724498643)]
[外链图片转存中…(img-yDga3n8N-1712724498644)]
[外链图片转存中…(img-R8HEnx6i-1712724498644)]
[外链图片转存中…(img-jxFGVOfk-1712724498644)]
[外链图片转存中…(img-xAr6qkRQ-1712724498645)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上软件测试开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注软件测试)
[外链图片转存中…(img-DWyjsXST-1712724498645)]
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!