性能测试必学内容loadrunner.docx
- 文档编号:9341172
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:44
- 大小:1.59MB
性能测试必学内容loadrunner.docx
《性能测试必学内容loadrunner.docx》由会员分享,可在线阅读,更多相关《性能测试必学内容loadrunner.docx(44页珍藏版)》请在冰豆网上搜索。
性能测试必学内容loadrunner
性能测试loadrunner
Tomcat等等是服务器软件
以前学的是功能测试,看看性能测试的区别。
这门课的核心概念和思路。
一,初步概念
1,功能测试:
测试软件产品的功能是否达到要求?
比如atm取款(在线取款):
账号密码登陆,查看余额,取款。
转账成功,表示功能实现
一个人转账成功
2,性能测试:
测试产品的性能是否达到要求?
包括:
时间性能,多用户共同使用时的性能。
比如:
ATM(在e线取款)---耗时30分钟
转账时间e太长,性能问题。
十万人同时转账,系统崩溃,性能问题瓶颈
综合:
性能的要求,高于功能(出于功能,高于功能)
招聘需求:
主要两方面:
转很容易,但是深入需要钻研
A,功能测试(手工,自动化)
B,性能测试(只能通过工具模拟)待遇高于功能自动化测试
特点:
需要找到产品慢的原因
涉及面广:
网络,服务器,中间件,数据库
安装tomcat机子就可以作为服务器了。
二,性能测试的课程安排
1,性能测试的基本概念1天多
对性能测试要求高的行业:
通讯,银行,金融,证券,医疗(远程医疗),保险,搜索引擎(XX,谷歌)等多用户系统。
搜索引擎:
靠速度和算法来取胜。
对性能测试要求高的行业:
比如OA办公自动化,个人系统,计算器
2,性能测试工具部分---loadrunner
LR全球至少一半的性能测试使用LR(功能太强大了)
(1),loadrunner的初级部分--------三大组件的简单运行
1,脚本生成器:
录制脚本,调试脚本的工具武器
2,控制台:
司令部调动士兵拿起武器向被测系统攻击
3,结果分析器:
分析运行数据,进行性能评定
(2),loadrunner高级部分--------三大组件的深入掌握
(3),性能测试的高级部分-------在性能测试中,发现了瓶颈怎么分析,
如何查找,如何定性,进行性能调优
(在工作中不断深入,没边了)
说明:
面试时,主要关注1,2两点。
第三点是区分普通和优秀的区别。
平时的重点在1,2部分
大家听过DBA吗?
数据库管理员(按照小时收费)。
主要靠经验,技术。
需要不断积累。
类似听声音辨别机器损坏的部分的工程师,
惠普:
电影技术,打印机,扫描仪,笔记本,软件。
Loadrunner贩卖服务盈利收费。
免费下载,功能收费。
买授权license认证。
SAP公司:
大型erp系统,做企业管理。
卖服务。
分析奥运门票销售系统:
压力激增-----瞬时压力:
并发压力(性能测试)
系统瘫痪-----宕机(down机了)
3个小时,网站的浏览次数2000万次
他们提供的100万次每小时。
他们:
甲方:
奥组委(需求方)
乙方:
开发方
第三方:
测试团队
Pageview的PV值,浏览量:
页面的访问量或点击量
每秒20万张:
客户端服务器
北京上海网络延迟0.2秒,4万张......
上海上海
性能测试点概念。
三,性能测试的概念
1,性能测试:
模拟真实的生产环境,以各种不同的压力(模拟大量用户)
去测试被测系统,去攻击被测系统。
同时记录下被测系统中各个部分服务器的各种重
要资源的情况,包括cpu,内存,磁盘和网络等资源。
2,性能测试前做好系统备份
3,性能测试时,首先看性能需求。
如果没有需求,要和客户交流。
被测系统的相关资料,以及性能测试工程师的经验,
编写测试计划,进行性能测试。
(不是通过培训,而是通过不断的实践)
4,负载测试和压力测试
在国内无差别,在国外有差别,单词不一样笔试要注意。
1)共同点:
都是在测试中逐步加压
2)负载测试:
在正常范围测试loadtesting
比如:
时间,人数,服务器正常指标范围
3)压力测试:
在极端范围内测试stresstesting
比如:
使劲折腾
4)举例:
一辆汽车准载12人
实际18人异常
5,性能测试的背景课程
1)数据库(不可夸张的说:
60%到90%的性能问题都和数据库有关)
2)操作系统(unix/linux)
3)其他:
网络协议,防火墙,计算机体系结构。
6,被测系统(性能测试攻击的目标)
SUT(SystemUnderTest)
AUT(ApplicationUnderTest)
EUT(EmviromentUnderTest)
就是webserver和databasesever两部分的统称
(部署web应用程序)(表等数据资源)
性能测试的实现方法:
1)手动测试:
测试人员->webserver->DBserver
问题:
是否足够的资源?
测试人员,客户机
如何调度和同步测试?
并发
如何搜索和分析测试结果?
2)结论:
必须使用工具loadrunner11版本
显的专业
四,loadrunner工作原理:
录制--回放的工作方式QTP类似
1,录制时,loadrunner记录下,客户端和服务器二者之间的对话。
2,回放时,loadrunner模拟真实的客户端向服务器发请求,
按照脚本去验证服务器的应答。
(检查点)
补充说明:
有时候脚本录制不下来,需要自己写脚本,
发现测试时通过了,实际运行时候发现服务器瘫痪了。
原因:
没有模拟真实的客户端效果,接受数据出现问题,导致失败。
结论:
自己写的脚本要模拟真正的客户端。
Loadrunner三大组件:
(OAload工具类似触类旁通)
(1)虚拟用户脚本生成器(virtuolusergenerator)
VuGenVUG
功能:
录制,编辑,调试测试脚本
(2)压力调度控制台(controller)
功能:
创建场景,运行场景,监控场景,收集测试数据
(场景:
就是一个大型的配置文件)
(3)压力结果分析器(analysis)
功能:
把收集到的测试数据图标的方式展示出来,
生成测试报告
很可能作为笔试题出现
接下来:
熟悉aut:
lr自带的b/s架构的软件系统
航空订票系统webtours
这个服务器不是tomcat
但是没有tomcat好用。
Hploadrunner--->samples--->web---->startwebserver先启动服务器
任务栏出现了绿色的图标。
Holoaderrunner--->sasmples--->web---->hpwebroursapplication
收藏这个网址
http:
//127.0.0.1:
1080/WebTours/或者
http:
//localhost:
1080/WebTours/
注意测试时关闭原先打开的网页
提示:
日常工作中,主机名(ip地址)一般不是自己的主机,
是另外一台服务器ip,表示本地主机
学习环境(本地主机模拟服务器)
五,关注AUT,并进行脚本录制
Webtours航空订票系统
用户名:
jojo
密码:
bean
1,使用lr之前,浏览器修改:
Internet选项---设置---选中”每次访问时此页检查”
原因:
每次脚本更新,会及时检查
系统功能说明:
Flights订票
Itinerary查看订票路线(看订单)
Home主页
Signoff退出登录登陆
为什么点击之后空白页面出不来?
Flight之后订票页面无法弹出?
细节:
需要删除一些干扰目录(涉及flights功能空白页)
D;oracle/product/10.1.0/db_1/perl/5.6.1/bin
Mswin32-x86目录删除
D:
............................................................lib
Mswin32-x86目录删除
LR使用注意点:
1,LR默认的浏览器IE,如果默认别的浏览器,需要设置IE为默认浏览器。
IE工具-->IE选项--->程序--->重置web设置
2,由于教学环境比较复杂,运行LR比较慢;
可以禁用本地连接
3,打开loadrunner任何一个组件,都从开始-->程序..这个步骤打开,
不要用桌面快捷方式打开,否则会发生麻烦
4,如果录制时,被测系统无法打开(不会自动弹出IE浏览器);
其他服务产生了干扰,建议关闭一下进程(任务管理器)
Java.exe其他:
tomcat,Apache,oracle,java,mysql,有道词典等等
案例:
录制用户登录脚本
使用loadrunner的虚拟用户脚本生成器VUGen
Loadrunner-->application-->hovirtualusergennerator
点击new--->新建--->点击create
填写基本信息
点击script
关闭一次,再new代开一次出现了窗口
好了!
填写基本信息:
点击ol-->子弟on个打开浏览器AUT,开始录制
关注小操作条(录制控制,关注数字变化,数字稳定了才能提取)
点击ok后出现了。
开始要选择:
注意vuser_initacitonvuser_end需要哪个
左边的钟开始,右边的钟结束,钟是事务transaction的录制
把action改为end,就可以结束了。
具体步骤如下:
输入jojobean
开始事务左边钟loginok
点击login按钮
结束事务右边钟loginok
改为vuser_end模式,点击signoff退出
关闭浏览器,点击蓝色的stop按钮结束录制
修改字体:
tools--->genneraloptions--->enviroment--->editorcomicsansms14bold加粗
建议新建目录:
D:
\work\(目录用英文不要空格隔开)
新建3个子目录
Script脚本
Ctrl场景文件
Result结果分析文件
结果为,查看文件夹
这样就保存好了。
关注左上角的对应的独立源文件:
(脚本的文件组成)
Vuser_init初始化脚本(类c语言)因为java是c++开发的
Action最关心脚本
Vuser_end结束脚本
Globals.h头文件(包含LR的函数声明)
3,在使用工具loadrunner录制之前,要做一次手工的执行待测的测试点。
比如:
webtours的登陆,订购等等...
性能是建立在功能的基础之上的,要保证功能是正确的
4,此外,录制时
遵循的原则
一般把登陆的操作动作录制到vuser_init初始化脚本中
关心的测试点action(订购机票,查询路线)录制到action中
而将退出的动作录制到vuser_end代码中
原因:
action比较强大,具备其他脚本不具备的功能。
比如:
参与迭代执行多次,可以设置并发,
5,录制时注意,创建一个新脚本要从new开始,
6,如果只录制登陆脚本,可以录制在action中,因为没有别的重点它就是重点
7,脚本函数的说明
Lr_start_transaction(“login”);开始事务
之间是事务范围内的脚本
事务的过程,目的就是为了记时间的。
掐头尾时间
Lr_end_transaction(“login”,LR_AUTO);结束login事务
Web_url(....);向服务器发送页面请求
Lr_thik_time(23);思考时间/发呆时间(括号里表示thinktime时间的间隔)
表示23秒的时间没有对服务器提交请求
Web_submit_form(...);提交表单的请求
携带客户端表单提交的数据
Username=jojo
Password=bean
录制好,调试好,就可以回放脚本,run一遍
有红字,失败错误
没有红字,正确
想查看运行结果?
Tools---->genneraloptions--->replay回放
----->afterreplay选择virtualtestresults可视化测试结果
再次回放,会显示报告
Viewed中expandall展开所有
关键看提交的部分。
注意:
结果的对勾,不一定准确,还需要在脚本中添加一些内容(比如检查点),才完整。
录制回放的细节都做了分析。
虚拟用户:
Vuservirtualuser简称为VU
在场景中,loadrunner使用vuser通过虚拟用户来代替实际用户。
以后在一个场景中可嫩包含很多用户,几十个,几百个,几千个。
使用vuser来对被测系统施加更大压力。
用户越多,压力越大
一个虚拟用户:
对应一个进程和线程。
常用线程模式,因为消耗的资源比较少。
一般PC电脑模拟2000个VU。
(1)进程比较消耗系统资源,进程间的通信比较麻烦
(2)线程比较节约系统资源,线程间的通信比较容易。
8,如果实现多用户测试,则必须打开控制台controller,
(控制台,总指挥部,可以调度千军万马)。
事务:
Transaction,为了记录事务响应时间
在咱们这目的是为了记录时间
场景:
Scenario法语外译词.
通过控制台来创建场景,进行场景设置(大型配置文件)
9,录制结束,保存---回放(编译,运行)
目标:
确保脚本正常执行
10,编译comlile图标检查语法错误。
比如把脚本的form改为from,不行了,双击这个错误。
写错了语法不合理就会检查
逻辑错误不会检查。
不能检查。
11,何时需要插入事务?
比如在初始化,结束的时候上一个案例记录webtours的进入退出
关心哪段操作就将此过程作为一个事务
比如关心订票,就可不考虑登陆的问题。
目的:
LR会后续统计事务的响应时间。
12,loadrunner录制时,action的选择只能是从前往后选。
不能后悔了,从后往前改
既vuser_init--->action-->vuser_end
否则:
就只能从头开始了。
13,打开控制台时候,可以关闭vugen,因为脚本保存后,就可以控制台使用,关闭
不必要的软件让测试机性能好些
练习
buy订票:
录制购票脚本buyflights(使用第一个组件vugen就可以)
Viewtest可以看测试结果报告
开始录制了,
随遍选两个不一样的城市
需要点3次continue
开始要选择:
注意vuser_initacitonvuser_end需要哪个
完整步骤:
New-->选择vuser_init模式--->OK--->首页面
输入jojo和bean-->插入事务login-->login--->结束事务login
切换为action模式--->点击flight按钮(等待页面加载完毕)
选择城市:
从denver到london-->continue--->continue--->插入事务buy左边钟-->
点击continue-->结束事务buy右边钟
切换为vuser_end模式---->点击网页signoff
--->关闭浏览器--->点击loadrunnerstop结束录制
保存为:
D;\work\script\day01\buy路径文件夹
编译--->回放,观察运行结果
卢剑宇老师也给我们演示了一遍
见视频。
时间来到了下午17:
15
回顾:
Loadrunner的基本流程:
(性能测试)
(1)制定性能测试计划
(2)创建测试脚本,
(3)编辑,调试,运行测适试脚本
(4)创建场景
(5)运行,监控场景,收集数据
(6)生成测试报告,分析测试结果
问题:
流程中用了几个组件?
分别用在何处?
脚本生成器:
23
控制台:
45
结果分析器:
6
1何时需要性能测试?
对性能要求高的,电信,金融等,多用户系统
2什么是性能测试?
模拟真实的生生产环境,以各种不同的压力(模拟大量用户)
测试系统,攻击,同时记录下悲催系统中各台服务器的各种重要资源情况
包括cpu内存网络等资源
3性能测试工具loadrunner-11
4,loadrunner的三大组件
Vug,action,analysis
思考一下
作业:
1,简答
(1)性能测试的工具,以及工具的组成和基本运行原理
(2)性能测试中吞吐量和点击率的区别是什么(预习)
2,脚本思考题
录制系统登陆,购买机票,查询路线三个脚本(每个脚本对应一个测试点,3个)
每个脚本在控制台中设置
(9个用户,每隔两秒加载一个虚拟用户,慢慢来,运行脚本直到结束)
得出每个测试点的平均事务响应时间。
回顾:
登陆订票退出操作
性能测试LoadRunner
一、初步概念
1、功能测试:
测试软件产品的功能是否达到要求。
比如:
ATM取款(在线取款)----是否成功
转账成功,提示功能实现
一个人转账成功
2、性能测试:
测试软件产品的性能是否达到要求。
包括:
时间性能、多用户共使用时的性能。
比如:
ATM取款(在线取款)---耗时30分钟
转账的时间太长,性能问题
十万人同时转账,系统崩溃了,性能问题瓶颈
结论:
性能的要求,高于功能(处于功能,高于功能)
招聘需求,主要两方面:
A.功能测试(手工测试、自动化)
B.性能测试(只能通过工具模拟)待遇一般高于功能自动化
特点:
需要找到产品慢的原因
涉及面广:
网络、服务器、中间件、数据库等层面的问题。
二、性能测试的课程安排
1、性能测试的基本概念1天多
对性能测试要求高的行业:
通讯、银行、金融、证券、医疗、保险、搜索引擎(XX、谷歌)等多用户系统。
对性能测试要求较低的行业:
比如OA办公自动化、个人系统、计算器
2、性能测试的工具部分---LoadRunner
LR全球至少一半的性能测试使用LR(功能太强大)
a.脚本生成器:
录制脚本、调试脚本的工具好比武器
b.控制台:
好比指挥部、司令部
调度士兵拿起武器向被测系统发起攻击
c.结果分析器:
分析运行数据,进行性能评定
2)LoadRunner的高级部分----三大组件逐个深入掌握
3、性能测试高级部分---在性能测试过程中,遇到问题(瓶颈),如何查找、定性、进行性能调优。
比如:
IBMWebSphere服务器中间件调优
说明:
面试时,主要关注1、2点
分析奥运售票系统
压力激增--瞬时压力:
并发压力(性能测试)
系统瘫痪--宕机(down机了)
3个小时内,网站的浏览次数达到2000万次
他们提供的100万次/小时他们:
奥组委
甲方:
奥组委乙方:
开发方第三方:
测试团队
分析结论:
奥组委需求预估不足,适应不了实际需要。
PV值(Pageview)浏览量:
页面的访问量或点击量
每秒20万张
客户端服务器
北京------>上海网络延迟0.2秒4万张....
上海------>上海
三、性能测试的概念
1、性能测试:
模拟真实的生产环境,一各种不同的压力(模拟大量用户)去测试被测系统、去"攻击"测试系统。
同时记录下被测系统中各台服务器的各种重要资源情况,包括cpu、内存、磁盘、网络等资源。
2、注意:
性能测试之前需要做好系统备份。
3、性能测试时,首先要看性能需求,如果没有需求,这时要根据与客户交流、被测系统的相关资料、以及性能测试的经验工程师的
经验,去编写测试计划,进行性能测试。
4、负载测试和压力测试的区别:
(国内混用,国外有差别,笔试时需要注意)
1)共同点都是在测试过程中逐步加压
2)负载测试是在正常范围内测试LoadTesting
比如:
时间、人数、服务器正常指标范围
(见好就收)
3)压力测试可以在极端范围内测试StressTesting
(使劲折腾)
4)举例:
一辆汽车准载12人
实际18才异常
5、性能测试的背景课程
1)数据库(不夸张的说,60%~90%的性能问题都和数据库有关)
2)操作系统(Linux/Unix)
3)其它:
网络协议、防火墙、计算机体系结构...
6、被测系统(性能测试攻击的目标)
SUT(SystemUnderTest)
AUT(ApplicationUnderTest)
EUT(EnvironmentUnderTest)
就是WebServer和DataBaseSever两部分的统称
(部署Web应用程序)(表等数据资源)
性能测试的表现方法:
1)手动测试:
测试人员->WebServer->DBServer
问题:
是否有足够的测试资源?
测试人员,客户机
如何调度和同步测试用户?
并发
如何搜索和分析测试结果?
2)结论:
必须使用工具LoadRunner11版本
四、LoadRunner工作原理:
录制--回放的工作方式QTP类似
1、录制时,LoadRunner记录下客户端和服务器二者之间的对话。
2、回放时,LoadRunner模拟真实的客户端向服务器发起请求,并按照脚本去验证服务器的应答。
(检查点)
补充说明:
有时脚本录不下来,需要自己写脚本,发现测试时通过了,但实际运行时服务器瘫了。
原因:
没有模拟真实的客户端效果,接受数据出现问题,导致失败。
结论:
自己写的脚本要模拟真正的客户端。
3、LoadRunner三大组件:
(OALoad工具类似触类旁通)
1)虚拟用户脚本生成器(VirtualUserGenerator)
VuGenVUG
功能:
录制、编辑、调试测试脚本
2)压力调度控制台(Controller)
功能:
创建场景、运行场景、监控场景、收集测试数据
(场景:
就是一个大型的配置文件)
3)压力结果分析器(Analysis)
功能:
把收集到的测试数据以图标的形式展示出来:
生成测试报告。
熟悉AUT:
LR自带一个B/S架构的系统
航空订票系统WebTours
HPLoadRunner->Samples->Web->StartWebServer先启动服务器
HPLoadRunner->Samples->Web->HPWebToursApplication
系统地址:
收藏到收藏夹
注意:
测试时候关闭原先打开的被测网页
http:
//127.0.0.1:
1080/WebTours/
或
http:
//localhost:
1080/WebTours/
系统功能说明:
Flights订票
Itinerary查看订票路线(看订单)
Home主页
SignOff退出登录
细节:
需要删除一些干扰目录(涉及Flight功能空白页)
LR使用注意点:
1.LR默认的浏览器是IE,如果目前默认FF,需要设置IE
IE工具->IE选项->程序->重置Web设置
2.由于教学
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 性能 测试 内容 loadrunner