性能测试必学内容loadrunner(DOC)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

性能测试loadrunnerTomcat等等是服务器软件以前学的是功能测试,看看性能测试的区别。这门课的核心概念和思路。一,初步概念1,功能测试:测试软件产品的功能是否达到要求?比如atm取款(在线取款):账号密码登陆,查看余额,取款。转账成功,表示功能实现一个人转账成功2,性能测试:测试产品的性能是否达到要求?包括:时间性能,多用户共同使用时的性能。比如:ATM(在e线取款)---耗时30分钟转账时间e太长,性能问题。十万人同时转账,系统崩溃,性能问题瓶颈综合:性能的要求,高于功能(出于功能,高于功能)招聘需求:主要两方面:转很容易,但是深入需要钻研A,功能测试(手工,自动化)B,性能测试(只能通过工具模拟)待遇高于功能自动化测试特点:需要找到产品慢的原因涉及面广:网络,服务器,中间件,数据库安装tomcat机子就可以作为服务器了。二,性能测试的课程安排1,性能测试的基本概念1天多对性能测试要求高的行业:通讯,银行,金融,证券,医疗(远程医疗),保险,搜索引擎(百度,谷歌)等多用户系统。搜索引擎:靠速度和算法来取胜。对性能测试要求高的行业:比如OA办公自动化,个人系统,计算器2,性能测试工具部分---loadrunnerLR全球至少一半的性能测试使用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收藏这个网址或者注意测试时关闭原先打开的网页提示:日常工作中,主机名(ip地址)一般不是自己的主机,是另外一台服务器ip,表示本地主机学习环境(本地主机模拟服务器)五,关注AUT,并进行脚本录制Webtours航空订票系统用户名:jojo密码:bean1,使用lr之前,浏览器修改:Internet选项---设置---选中”每次访问时此页检查”原因:每次脚本更新,会及时检查系统功能说明:Flights订票Itinerary查看订票路线(看订单)Home主页Signoff退出登录登陆为什么点击之后空白页面出不来?Flight之后订票页面无法弹出?细节:需要删除一些干扰目录(涉及flights功能空白页)D;oracle/product/10.1.0/db_1/perl/5.6.1/binMswin32-x86目录删除D:............................................................libMswin32-x86目录删除LR使用注意点:1,LR默认的浏览器IE,如果默认别的浏览器,需要设置IE为默认浏览器。IE工具--IE选项---程序---重置web设置2,由于教学环境比较复杂,运行LR比较慢;可以禁用本地连接3,打开loadrunner任何一个组件,都从开始--程序..这个步骤打开,不要用桌面快捷方式打开,否则会发生麻烦4,如果录制时,被测系统无法打开(不会自动弹出IE浏览器);其他服务产生了干扰,建议关闭一下进程(任务管理器)Java.exe其他:tomcat,Apache,oracle,java,mysql,有道词典等等案例:录制用户登录脚本使用loadrunner的虚拟用户脚本生成器VUGenLoadrunner--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=jojoPassword=bean录制好,调试好,就可以回放脚本,run一遍有红字,失败错误没有红字,正确想查看运行结果?Tools----genneraloptions---replay回放-----afterreplay选择virtualtestresults可视化测试结果再次回放,会显示报告Viewed中expandall展开所有关键看提交的部分。注意:结果的对勾,不一定准确,还需要在脚本中添加一些内容(比如检查点),才完整。录制回放的细节都做了分析。虚拟用户:Vuservirtualuser简称为VU在场景中,loadrunner使用vuser通过虚拟用户来代替实际用户。以后在一个场景中可嫩包含很多用户,几十个,几百个,几千个。使用vuser来对被测系统施加更大压力。用户越多,压力越大一个虚拟用户:对应一个进程和线程。常用线程模式,因为消耗的资源比较少。一般PC电脑模拟2000个VU。(1)进程比较消耗系统资源,进程间的通信比较麻烦(2)线程比较节约系统资源,线程间的通信比较容易。8,如果实现多用户测试,则必须打开控制台controller,(控制台,总指挥部,可以调度千军万马)。事务:Transaction,为了记录事务响应时间在咱们这目的是为了记录时间场景:Scenario法语外译词.通过控制台来创建场景,进行场景设置(大型配置文件)9,录制结束,保存-

1 / 45
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功