loadrunner性能测试步骤
性能测试过程分为4个阶段:设计、构建、执行、分析/诊断/调节具体的工作流程如下图
设计 > 构建 > 执行 > 分析/诊断/调节
收集要求 设置测试环境 基准测试 诊断瓶颈
设计测试策略 记录测试脚本 性能测试 调整配置
定义业务流程 创建测试方案 可扩展性测试 量化改善
定义系统工作量 报告生成
以上4个阶段的任务如下:
1、设计阶段定义待测试的业务流程、业务的平均处理量、业务处理量的最高峰值、组合业务流程、系统的整体用户和响应时间目标。
2、构建阶段涉及设置和配置测试系统及基础设施、使用自动化性能测试解决方案构建测试脚本和负载方案。
3、执行阶段包括运行负载方案和测量系统性能。
4、分析、诊断和调节阶段主要测量系统性能并使负载测试进入下一级别,重点查找问题原因以帮助开发工程师迅速解决问题,并实时调节系统参数以提高性能。
下面对这4个阶段进行详细的描述。
一、设计阶段
可以将需要关注的问题分为4个方面,即业务需求、技术需求、系统要求和团队要求。业务要求需通过业务分析师或最终用户收集。一个全面的业务要求应该考虑以下问题:
1、应用程序情况:创建系统使用演示,让性能测试团队从整体上了解应用程序如何被使用。
2、业务流程列表:创建关键业务流程列表,以使用反映最终用户在系统上执行的活动。
3、业务流程操作列表:创建word文档,以便详细记录每个业务流程的正确步骤。
4、交易列表:汇编业务流程中需要负载测量(如“登录”,“转移资金”等)的关键活动的列表。
5、业务流程图:创建业务流程图,以便描绘业务流程的分支情况。
技术要求应该通过系统管理员和数据库管理员进行收集并确认。一个全面的技术要求应该考虑以下问题:
1、环境预排工作:与系统或基础设施团队开展测试架构的预排工作。
2、系统范围会议:举行会议来讨论系统的哪些部分应该排除在测试流程外,并达成一致见解。
3、生产图:创建生产基础设备的图表,以标记出从QA迁移到生产过程中可能影响性能的因素。
收集系统的要求至关重要,这些是管控负载测试流程通过/未通过状态的系统高级目标,这些通常与来自业务的经理合作而达成一致的,一个全面的系统要求应该考虑以下问题:
1、系统在正常和高峰期必须支持的用户数量为多少?
2、系统每秒必须处理的交易量是多少?常用的一种估算方法为80~20原理法。
3、对于所有的关键业务交易,可接受的最低和最高的响应时间是多少?
4、用户社区如何连接到系统?
5、生产中需要承载的系统工作量如何?交易组合如何?
6、自后是团队要求阶段,需要确定性能测试团队成员。提前收集完整的业务、技术、系统和团队要求,是有效和成功地进行负载测试的基础。
二、构建阶段
在构建阶段,需要将设计阶段所确定的业务流程和工作量转变为可用来推动可重复、真实负载的自动化组件。可以从两个方面来关注:自动化设置和环境设置。
(1)自动化设置包括一系列由性能工程师执行的序列任务。
1)制作脚本。将存档的业务流程记录到自动化脚本中。
2)交易。插入计时器来产生业务所需要的逻辑计时。
3)参数化。用数据池来代替所有的输入数据(如登录用户名和密码),以便每个虚拟用户使用唯一的数据访问应用程序。
4)方案。通过为不同的用户组分配不同的脚本、连接和用户行为来创建生产工作量。
5)监视。确定要监视哪些负载服务器或机器。
(2)环境设置包括组装硬件、软件和数据,这些都是执行成功及真实负载测试所必需的,这可能要与系统人员、DBA、操作人员和业务团队协作。环境设置中最主要的是准备数据,数据来源有两种方式:一是历史事件;二是创建数据。
历史数据即是将真实存在的数据,只需要从数据库抽取出来即可。
创建数据则是测试过程中通过一些方法生成批量数据,制作数据的方法通常包括ultraedit结合EXCEL制作数据、数据库、shell编程和Java编程等。所有创建的数据都应该满足数据模型的要求,否则数据在调用过程中会产生错误。
构建阶段的最终结果是得到一套自动化方案,可在配置好的可用环境中随意执行。
3、执行阶段
常见的几类负载测试如下:
1、基线测试。用户验证系统及其周围的环境是否在合理的技术参数下运行。性能测试仅运行5~10名用户来对最终用户交易性能进行基线测试,这些测试应该在性能测试流程的开始和结束时执行,以测量绝对响应时间的提高量。
2、性能测试。可模拟环境中的负载,从而提高有关系统可处理多少用户的信息,这些测试应该模拟平均和高峰时的生产用量,它们应该使用真实的用户行为(如思考时间)、调制解调器模拟和多个浏览器类型,以获得最高的准备度,应该运行所有的监视程序和诊断程序,以便于工作最大限度地了解系统的性能降低和瓶颈。
3、基准测试。用于在理想的情况下测量和比较每种机器类型、环境或应用程序版本的性能,这些测试时系统进行了可扩展测试后运行的,旨在了解不同架构的性能影响。
4、渗入测试。其目的在于长时间在负载下运行系统,从而检验系统的性能状况。
5、峰值测试。其目的在于模拟一段时间内系统上的峰值负载,以便帮助演示应用程序和底层硬件能够在合理的时间内处理高负荷。
四、分析、诊断、调节阶段
在监控、分析、诊断和调节过程中可以获取大量的信息:
1、监控。性能测试过程中监控可显示基础设备每个层上所发生的一切,同时会更清晰地提供有关测试中的数据库服务器、web服务器、应用程序服务器、单个应用程序或流程的信息。监控可快速获取有价值的信息,如应用程序服务器的处理器(CPU)只能支持150名用户并发,远低于目标值。
2、分析。完成负载测试后,可将各种指标(如虚拟用户、CPU或服务器CPU)关联起来,以获取有关应用程序行为不端的其他信息。
3、诊断。高效的性能测试解决方案应该向性能工程师提供有关层、组件、SQL语句是如何影响负载条件业务流程整体性能的单个统一视图,性能工程师应该能够看到有最终用户交易所接触到的所有组件,然后确定各组件使用的处理时间及调用次数。有了这些信息就可以针对web服务器、应用程序和数据服务器瓶颈进行调优。
4、许多企业都在应用程序部署前、中和后3个阶段进行自动化性能测试。有些自动化性能测试解决方案可系统的识别并分离基础实施性能瓶颈,然后通过修改系统配置设定来解决它们,通过反复解决基础设施瓶颈,可以不断改进配置。
loadrunner性能测试步骤的更多相关文章
- 如何学习LoadRunner性能测试?
最近组内同事针对性能测试LR的脚本部分做了介绍,是个不错的分享.会后反思自己也有很长一段时间没做性能测试了,根据以往的经验,有必要做些整理和补充,本文主要介绍一些Loadrunner性能测试的学习方法 ...
- LoadRunner性能测试入门教程
javaweb性能测试那些事 一:什么是javaweb性能测试: 二:javaweb性能测试基本流程 三:javaweb性能测试常用指标: 1:响应时间:2-5-8 原则 2:吞吐量 3:资源使用率 ...
- RobotFrameWork(十三)RobotFramework与loadrunner性能测试结合(基于Remote库)
一般我们进行完功能测试,都需要进行下性能测试,那么这章我来介绍下,RobotFramework与loadrunner性能测试的融合,即运行完自动化功能测试,借助RobotFramework的Remot ...
- LoadRunner性能测试基础知识问答
Q1:什么是负载测试?什么是性能测试? A1:负载测试是通过逐步增加系统负载,测试系统性能的变化,并最终确定在满足性能指标的情况下,系统所能承受的最大负载量的测试,例如,访问一个页面的响应时间规定不超 ...
- LoadRunner性能测试笔试/面试题
客户交付一个性能测试项目,请阐述你的实施流程. 测试设计阶段: 1)了解被测系统的性能需求,定义测试目标和范围: 2)了解系统的技术信息,如系统架构等: 3)确定测试方案.进度安排,并制定测试计划,场 ...
- LoadRunner性能测试巧匠训练营
<LoadRunner性能测试巧匠训练营>基本信息作者: 赵强 邹伟伟 任健勇 丛书名: 实战出版社:机械工业出版社ISBN:9787111487005上架时间:2015-1-7出版日期: ...
- LoadRunner性能测试结果分析
LoadRunner性能测试结果分析http://www.docin.com/p-793607435.html
- LoadRunner性能测试专项班隆重开班
LoadRunner性能测试专项班隆重开班 POPTEST首届高级性能测试提升强化班开课. 也许你只是看到成功者的光鲜,却没看到他们的努力和汗水.不要否定现在,要看到未来.提高自己.怎么自己.成就自己 ...
- LoadRunner性能测试结果分析(转载)
性能测试的需求指标:本次测试的要求是验证在30分钟内完成2000次用户登录系统,然后进行考勤业务,最后退出,在业务操作过程中页面的响应时间不超过3秒,并且服务器的CPU使用率.内存使用率分别不超过75 ...
随机推荐
- SHUoj 神无月排位赛
神无月排位赛 发布时间: 2017年7月8日 21:06 最后更新: 2017年7月8日 22:35 时间限制: 1000ms 内存限制: 128M 描述 <神无月>作为盛大游 ...
- WEB学习-HTML的基本语法特性
HTML对换行不敏感,对tab不敏感 HTML只在乎标签的嵌套结构,嵌套的关系.谁嵌套了谁,谁被谁嵌套了,和换行.tab无关. 换不换行.tab不tab,都不影响页面的结构. 所以: • <di ...
- hzwer与逆序对
codevs——4163 hzwer与逆序对 貌似这个题和上个题是一样的((⊙o⊙)…) 时间限制: 1 s 空间限制: 256000 KB 题目等级 : 黄金 Gold 题解 题目 ...
- 第1章 SpringBoot 简介
一.什么是Spring Boot Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发 ...
- Sql server 各版本下载链接
Sql Server 2008 R2 链接: https://pan.baidu.com/s/11WPcrUL64QT0zT0_9VTb8Q 提取码: 665l 密钥:JD8Y6-MQG69-P9M8 ...
- 设计模式之建造者(Builder)模式
设计模式之建造者(Builder)模式 存在一些情况,比如,一些对象会有一些重要的属性,在这些属性没有恰当的值之前,对象不能作为一个完整的产品使用(如一个电子邮件最起码得有收件人地址):还有一些些情况 ...
- 【Java TCP/IP Socket】深入剖析socket——TCP通信中由于底层队列填满而造成的死锁问题(含代码)
基础准备 首先需要明白数据传输的底层实现机制,在http://blog.csdn.net/ns_code/article/details/15813809这篇博客中有详细的介绍,在上面的博客中,我们提 ...
- mysql获取子父级节点
获取所有子节点 DROP FUNCTION IF EXISTS `F_Co29_GetAllChildrenIdsOfTaskevent`;DELIMITER //CREATE FUNCTION `F ...
- Android判断屏幕锁屏的方法总结
由于做一个项目,需要判断屏幕是否锁屏,发现网上方法很多,但是比较杂,现在进行总结一下: 总共有两类方法: 一.代码直接判定 二.接收广播 现在先说第一类方法(代码直接判定): 1.通过PowerMan ...
- Sentinel实现Redis高可用
实现目标: 一主两从,集群起始VIP在master上边,如果当前master挂了,sentinel自动选出一个slave当选master,并把VIP漂移到这台机器,然后把另一台slave指向的mast ...