本文档为《软件性能测试学习笔记之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)配置测试
经过对被测系统的软/硬件环境的调整,了解各类不一样配置对系统的性能影响的程度,从而找到系统各项资源的最优分配原则
影响性能的因素主要包括:应用自己、业务模型、硬件资源、测试数据、软件参数
性能测试设备规划:性能设备和服务器设备
性能设备:用于部署测试工具以及发起压力负载
服务器设备:用于部署应用服务、数据库服务
经过对时间、人力、工具的安排,制定最终的测试计划。能够从3个方面去考虑
a)系统级别的分析
--系统类型:业务处理型系统或数据处理型系统(举例:报表,性能问题集中在数据库处理能力上)
--架构和部署状况
--技术实现(编程语言、协议等)
--与其它系统的联系
b)业务级别的分析
--肯定被测业务和不测业务
--根据业务的重要级别断定:必须有的、重要的、最好有的
--根据业务是否出现性能瓶颈断定
--2/8原则:80%的用户在一个系统中使用的功能约为20%
--项目时间:关键指标
--分析待测业务
c)需求层面的分析
若没有明确的性能需求,需本身挖掘具体的需求点,列出可度量的指标,如:
--响应时间:遵循2-5-8原则(2秒之内彻底能够接受,2~5秒大部分人能够接受,5~8表大部分人不能够接受,8秒以上几乎接受不了)
--TPS:系统已经在线上运行,根据历史数据估算将来的增加状况。系统未发布,能够从从此系统的业务量反向退到
--资源利用率:主要考虑CPU、内存、I/O的使用状况,避免线上资源不足致使的系统瓶颈
强调:搭建仿真环境、模拟真实场景
LoadRunner在性能测试中的使用顺序
参考 http://baijiahao.baidu.com/s?id=1600795201973246998&wfr=spider&for=pc
注意事项:
1)不建议使用中文语言包
2)安装路径不要带中文字符
注: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中录制一个注册用户操做
a)开始录制弹框,点击“录制选项”按钮
b)【常规>>录制】选项,在HTML高级选项中选择包含明确的URL的脚本
c)【HTTP属性>>高级】选项,勾选支持的字符集UTF-8
【特别说明】VuGen只能在Windows平台上录制Vuser脚本,但录制的Vuser脚本能够在Windows和Linux平台上运行
a)【文件>>新建脚本和解决方案】,选择协议,输入脚本名称,设置存放路径,点击“建立”按钮建立脚本
b)点击“录制”按钮
c)开始录制弹框,输入URL地址
d)在页面注册数据,生成脚本
--i)录制工具栏
--ii)注册页面及生成脚本
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)添加检查点(后续介绍)
a)运行逻辑配置
可配置脚本迭代次数,迭代次数不会影响到vuser_init,vuser_end
部分Action脚本运行屡次,可经过插入块进行配置
example. Web Tours系统进行1次注册,2次登陆配置
b)日志配置
在VuGen运行单脚本日志时,通常选择扩展日志用于更好的了解脚本执行状况;在Controller运行多脚本时多选择标准日志
c)思考时间
在单娇本运行的VuGen中,默认选择忽略思考时间;在Controller中的并发操做下,通常选择使用录制思考时间的随即百分比以更真实的模拟用户行为