01-初识LoadRunner

一、 LoadRunner介绍

1.1、 什么是LoadRunner

LoadRunner,是一种预测系统行为和性能的负载测试工具。通过模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner能够对整个企业架构进行测试。企业使用LoadRunner能最大限度地缩短测试时间,优化性能和加速应用系统的发布周期。

LoadRunner可适用于各种体系架构的自动负载测试,能预测系统行为并评估系统性能。

1.2、 LoadRunner常用来做什么

a. 验证某系统在某环境下是否满足性能需求。

b. 通过测试,规划如何达到要求的性能指标。

c. 调整系统环境,进行性能测试,最终使性能达到最优。

1.3、 为什么使用LoadRunner

考虑这样一种情况,现在需要测试某个网站在500个人并发做登陆操作时,系统的平均响应时间是否满足需求。如果用人工测试的话,可以想象大概的操作场景是这样,一个主持人安排500个操作员,按下述步骤操作:

a. 所有人在一个大厅中,大厅中有500多台电脑,主持人要求500个操作人员分成组,每个组选一个组长,所有人先都登陆到系统,进入登陆页面;

b. 主持人喊3...2...1开始!同时记录开始时间(这个在LoadRunner中有个术语叫“集合点”),组织带领500个人同时点击“登陆”按钮。

c. 看到登陆成功页面的人把登陆成功时的时间记下。

d. 到了规定的时间,主持人喊停,还没有登陆成功的操作人员视为操作失败。

e. 最后,5个组长收集各组的操作结果,汇总给主持人,主持人安排数据统计专员生成统计报告。

这个过程是不是很复杂?而且操作误差比较大,譬如有的人反应慢,有的人反应快,有的人记错时间了,有的人偷懒了等等。所以,对于这种性能测试必须靠自动化。现有自动化的工具有很多,譬如Jmeter,譬如LoadRunner。总的来说,Jmeter更自由,LoadRunner更好用,而我们想用好用的,所以我们用LoadRunner。

1.4、 LoadRunner核心组件

LoadRunner由三部分组成,分别为:Virtual User Generator、LoadRunner Controller、LoadRunner Analysis。

a. Virtual User Generator(虚拟用户生成器)

模拟虚拟用户动作。是用来录制、生成、编辑、调试脚本所用的工具(相当于前述例子中操作人员的机器人化)。

b. LoadRunner Controller(测试控制器)

是用来设计,实现场景,执行场景,集成监控,实时监测的一个组件。是执行负载测试管理和监控的中心。在这里指定具体的性能测试方案,执行性能测试,收集测试数据,监控测试指标(相当于前述例子中的主持人)

c. LoadRunner Analysis(结果分析器)

通过图表,分析进行收集、整理测试结果,提供简单的概要报告、图表,并且提供必要的选项来帮助测试工程师来分析性能测试结果、定位性能瓶颈(相当于前述的分析专员)

1.5、 LoadRunner的功能

轻松创建虚拟用户

创建真实的负载

定位性能问题

分析结果以精确定位问题所在

重复测试保证系统发布的高性能

1.6、 LoadRunne支持多种协议

loadrunner协议该如何选择呢?

a. B/S系统

选择Web(Http/Html)

b. C/S系统

a) 后台数据库是sybase,则采用sybaseCTlib协议。

b) 后台数据库是sql server,则使用MS sql server协议。

c) 后台数据库是oracle 数据库,就使用oracle 2-tier协议。

d) 没有数据库的c/s(ftp,smtp)系统,可以选择windows socket协议。

c. 手机上网,选择wap协议

1.7、 LoadRunne一般测试流程

创建脚本->设计场景->运行场景->分析结果

1.8、 测试脚本形式

测试脚本分为两种,一种是录制后进行修改,另外一种是完全自行编写。开放平台的B/S一般采用录制后修改,主机和比较难以录制的平台一般采用后者。

a. 录制脚本时尽量分解脚本,一个功能一个脚本,脚本与脚本之间尽量解耦。若功能是连续的,可以多个功能放置一个脚本。

b. 对压力测试用例进行设计时,选择用户最常用,最重要的功能进行测试。不需要在loadrunner中测试所有功能,录制脚本前需要对脚本的功能和需求进行设计。

c. 对需要压测的需求要非常的清楚和了解,减少不必要的操作,抓重点测试。

二、 性能测试理论

2.1、 概念及其分类

概念:性能测试主要是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。

分类:性能测试(狭义)、负载测试、压力测试(强度测试)、并发测试、配置测试、可靠性测试。

a. 性能测试(狭义)

方法:通过模拟生产运行的业务压力量和使用场景组合,测试系统的性能是否满足生产性能要求。

目的:验证系统是否又系统宣称具有的能力。

b. 负载测试

方法:通过在被测系统上不断加压,直到性能指标达到极限。

目的:找到系统处理能力的极限。

c. 压力测试(强度测试)

方法:测试系统在一定饱和状态下,系统能够处理的会话能力,以及系统是否出现错误。

目的:检查系统处于压力性能下时,应用的表现。

d. 并发测试

方法:通过模拟用户并发访问,测试多用户并发访问同一个应用、模块或者数据记录时是否存在死锁或其他性能问题。

目的:发现系统中可能隐藏的并发访问时的问题。

e. 配置测试

方法:通过对被测系统的软硬件环境的调整,了解各种不同对系统的性能影响的程度,从而找到系统各项资源的最优分配原则。

目的:了解各种不同因素对系统性能影响的程度。

f. 可靠性测试:

方法:在给系统加载一定业务压力的情况下,使系统运行一段时间,以此检测系统是否稳定。

目的:验证系统是否支持长期稳定的运行。

2.2、 性能测试的流程

性能测试分为以下几个阶段:测试计划阶段、测试设计阶段、测试开发阶段、测试执行阶段、测试结果分析阶段、测试报告阶段。

a. 测试计划阶段:

    明确测试对象

    定义测试目标

    定义测试通过的标准

    规划测试进度

    规划测试参与人员(需求、开发、测试、运维和配置)

    申请测试资源

    风险控制

b. 测试设计阶段:

    设计测试数据

    设计测试用例

    设计测试场景

c. 测试开发阶段

    测试环境搭建

    测试过程文档定义及配置

    测试脚本开发、调试

    测试数据的准备

    基准测试

d. 测试执行阶段:

    执行测试用例模型,包括执行脚本和场景

    测试过程监控,包括查看log、监控服务器资源、数据库和中间件等

e. 测试结果分析

    根据测试结果和监控结果进行测试分析

    根据性能测试目标,分析出系统存在的性能瓶颈,并给出优化建议。

f. 测试报告

    测试范围

    测试执行以及参与人员

    基准测试数据

    测试执行的详细步骤(场景设计)

    测试数据记录、监控结果

    测试结果对比以及总结性评价

2.3、 性能测试工具的原理

    脚本生成器

    压力生成器

    结果生成器

    压力控制器

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,175评论 5 466
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,674评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,151评论 0 328
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,597评论 1 269
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,505评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 47,969评论 1 275
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,455评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,118评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,227评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,213评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,214评论 1 328
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,928评论 3 316
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,512评论 3 302
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,616评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,848评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,228评论 2 344
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,772评论 2 339

推荐阅读更多精彩内容

  • 一:LoadRunner常见问题整理1.LR 脚本为空的解决方法:1.去掉ie设置中的第三方支持取消掉2.在系统属...
    0100阅读 4,038评论 0 11
  • 专业考题类型管理运行工作负责人一般作业考题内容选项A选项B选项C选项D选项E选项F正确答案 变电单选GYSZ本规程...
    小白兔去钓鱼阅读 8,963评论 0 13
  • 一、概述 (win10+IE11+LR12.02 | 50个虚拟用户并发目前不能破解) LoadRunner是一种...
    云层_阅读 1,942评论 0 11
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,074评论 1 32
  • 选择题部分 1.(),只有在发生短路事故时或者在负荷电流较大时,变流器中才会有足够的二次电流作为继电保护跳闸之用。...
    skystarwuwei阅读 12,647评论 0 7