LR12

本文档为《软件性能测试学习笔记之LoadRunner实战》总结html

第一部分  思想篇

一、性能测试参数

1)客户端响应时间html5

响应时间=CT+(N1+N2+N3)+(N4+N5+N6)+WT+AT+DT数据库

 

CT:Client Time。对于瘦客户端能够忽略不计,对于胖客户端(如Ajax、html5+AngularJS+Bootstrap),因为客户端内嵌了大量的处理逻辑,消耗的时间可能很长,须要关注编程

网络响应时间:可分为2部分服务器

    --(N1+N2+N3):客户端请求的网络延迟网络

    --(N4+N5+N6):服务器响应的网络延迟架构

服务器响应时间:能够度量服务器的处理能力,通常分为3部分:并发

    --WT:Web Server Time编程语言

    --AT:App Server Timeide

    --DT:Database Time

2)并发数

系统用户数:可理解为系统注册用户总数

在线用户数:当前正在访问的用户总数

并发用户数:同一时刻让服务器产生压力的用户数

3)吞吐量

吞吐量:指在一次性能测试过程当中网络上传输的数据量的综合。“吞”进去的是请求,“吐”出来的是结果

吞吐率:单位时间内网络上传输的数据量

4)TPS(Transaction Per Second) 每秒经过事务数

每秒钟可以处理的交易或事务的数量。是一个重要的指标

5)每秒单击数

每秒钟用户向Web服务器提交的HTTP请求数

6)资源利用率

不一样系统资源的使用程度,主要针对Web服务器、应用服务器、数据库服务器、网络状况等。常见的包括:

--CPU占用率

---内存使用率

--磁盘I/O

--网络(流量)

二、什么是性能测试

1)在给定的环境和场景中进行的测试活动

2)根据测试结果评判是否存在性能问题

3)若是存在性能问题,须要定位性能瓶颈,并提出改进建议

三、性能测试分类

1)性能测试(狭义)

在特定的运行环境下,经过模拟生产运行的业务压力量和使用场景组合,测试系统性能是否知足生产性能要求

理解:该性能测试的目的是为了验证系统是否具有所宣称的能力,测试前提是对系统性能已经有所了解,并对需求有明确的目标,在已经肯定的环境下进行,对比实际和预期的差别

2)基准测试

在必定的软件、硬件和网络环境下,模拟必定数量的用户运营一种或多种业务,将测试结果做为基线数据,供后续测试活动参考

理解:该测试的目的是为了找出系统的基本性能状况,为后续调优作准备。测试前提是不知道系统指标的状况

3)负载测试

经过在被测系统上不断加压,直到性能指标达到极限,从而找出系统处理能力的极限(极限:超过预约指标、资源达到饱和状态或系统崩溃)

4)压力测试(强度测试)

系统在必定饱和状态下(如:CPU、内存使用饱和的状况下)可以处理的会话能力,以及系统是否会出现错误,通常用于系统的稳定性检查

5)并发测试

经过模拟用户并发访问,测试多用户访问同一个应用、同一个模块或者数据记录时是否存在死锁或者其余性能问题。该测试的主要目的是发现系统中可能隐藏的并发访问时的问题,如内存泄漏、线程死锁和资源争用等

6)可靠性测试

在系统加载必定业务压力的状况下,使系统原型一段时间,检测系统是否稳定

理解:与压力测试的区别:不须要给系统太大的压力,只要系统可以长期处于一个稳定的状态

7)配置测试

经过对被测系统的软/硬件环境的调整,了解各类不一样配置对系统的性能影响的程度,从而找到系统各项资源的最优分配原则

四、性能测试影响因素

影响性能的因素主要包括:应用自己、业务模型、硬件资源、测试数据、软件参数

 

性能测试设备规划:性能设备和服务器设备

    性能设备:用于部署测试工具以及发起压力负载

    服务器设备:用于部署应用服务、数据库服务

五、性能测试过程

1)性能测试规划

经过对时间、人力、工具的安排,制定最终的测试计划。能够从3个方面去考虑

a)系统级别的分析

--系统类型:业务处理型系统或数据处理型系统(举例:报表,性能问题集中在数据库处理能力上)

--架构和部署状况

--技术实现(编程语言、协议等)

--与其它系统的联系

b)业务级别的分析

--肯定被测业务和不测业务

    --根据业务的重要级别断定:必须有的、重要的、最好有的

    --根据业务是否出现性能瓶颈断定

    --2/8原则:80%的用户在一个系统中使用的功能约为20%

    --项目时间:关键指标

--分析待测业务

c)需求层面的分析

若没有明确的性能需求,需本身挖掘具体的需求点,列出可度量的指标,如:

--响应时间:遵循2-5-8原则(2秒之内彻底能够接受,2~5秒大部分人能够接受,5~8表大部分人不能够接受,8秒以上几乎接受不了)

--TPS:系统已经在线上运行,根据历史数据估算将来的增加状况。系统未发布,能够从从此系统的业务量反向退到

--资源利用率:主要考虑CPU、内存、I/O的使用状况,避免线上资源不足致使的系统瓶颈

2)测试场景设计

强调:搭建仿真环境、模拟真实场景

第二部分 基础篇

第4章 LoadRunner基础介绍

一、LoadRunner简介

LoadRunner在性能测试中的使用顺序

二、LoadRunner工做原理

三、LoadRunner安装

参考 http://baijiahao.baidu.com/s?id=1600795201973246998&wfr=spider&for=pc

注意事项:

1)不建议使用中文语言包

2)安装路径不要带中文字符

第5章 脚本建立(VuGen建立虚拟用户)

注:5-7章均以LR12自带的Web Tours为练习对象,需先启动Web Tours服务

win菜单下,在HP Software\HP LoadRunner\Samples\Web下

1)点击Start HP Web Tours Server启动服务

2)点击Start HP Web Tours Server下启动程序

一、脚本录制和回放

在Web Tours中录制一个注册用户操做

1)修改默认的录制标签选项

a)开始录制弹框,点击“录制选项”按钮

b)【常规>>录制】选项,在HTML高级选项中选择包含明确的URL的脚本 

c)【HTTP属性>>高级】选项,勾选支持的字符集UTF-8

2)录制脚本

【特别说明】VuGen只能在Windows平台上录制Vuser脚本,但录制的Vuser脚本能够在Windows和Linux平台上运行

a)【文件>>新建脚本和解决方案】,选择协议,输入脚本名称,设置存放路径,点击“建立”按钮建立脚本

 

b)点击“录制”按钮

c)开始录制弹框,输入URL地址

d)在页面注册数据,生成脚本

--i)录制工具栏

--ii)注册页面及生成脚本

3)回放脚本

a)点击“回放”按钮回放脚本

b)查看回放结果

预期结果:Web Tours注册名不可重复,回放脚本为重复注册,脚本失败

实际结果:脚本经过

 

注意:回放脚本“经过”仅表明HTTP协议返回值为200,表示OK。但并不表明返回值就是用户想要的结果。可经过快照窗格查看

--i)回放结果HTTP响应

 

--ii)回放结果页面返回数据(录制与回放)

**录制

**回放

 

 c)解决办法

--i)修改注册脚本参数

"Name=username", "Value=tester001", ENDITEM     #修改username的值

--ii)删除原tester001注册帐号

删除路径HP\LoadRunner\WebTours\cgi-bin\users(默认父目录为C:\Program Files (x86))下的tester001注册帐号

 

 --iii)参数化 (后续介绍)

--vi)添加检查点(后续介绍)

 4)运行时设置

a)运行逻辑配置

可配置脚本迭代次数,迭代次数不会影响到vuser_init,vuser_end

 

部分Action脚本运行屡次,可经过插入块进行配置

example. Web Tours系统进行1次注册,2次登陆配置

 

b)日志配置

在VuGen运行单脚本日志时,通常选择扩展日志用于更好的了解脚本执行状况;在Controller运行多脚本时多选择标准日志

 

 c)思考时间

在单娇本运行的VuGen中,默认选择忽略思考时间;在Controller中的并发操做下,通常选择使用录制思考时间的随即百分比以更真实的模拟用户行为

二、脚本优化之参数化

 

三、脚本优化之关联

四、脚本优化之事务+检查点

五、脚本优化之集合点+思考时间

相关文章
相关标签/搜索