性能测试必学内容.docx

上传人:b****5 文档编号:4340943 上传时间:2022-11-30 格式:DOCX 页数:39 大小:1.59MB
下载 相关 举报
性能测试必学内容.docx_第1页
第1页 / 共39页
性能测试必学内容.docx_第2页
第2页 / 共39页
性能测试必学内容.docx_第3页
第3页 / 共39页
性能测试必学内容.docx_第4页
第4页 / 共39页
性能测试必学内容.docx_第5页
第5页 / 共39页
点击查看更多>>
下载资源
资源描述

性能测试必学内容.docx

《性能测试必学内容.docx》由会员分享,可在线阅读,更多相关《性能测试必学内容.docx(39页珍藏版)》请在冰豆网上搜索。

性能测试必学内容.docx

性能测试必学内容

性能测试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.由于教学环境比较复杂,运行L

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 文学研究

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1