LoadRunner学习笔记——Day1

Day1

一、       什么是性能测试:

1、在线取款:一个人取款2000,成功——功能测试通过

2、在线取款:

           1)一个人取款(计时)2000,用时0.5小时——功能测试通过,性能测试结果很差(性能测试考察的一个方面:响应时间过长)

           2)1000人共同取款,系统崩溃——性能测试考察的一个方面:多用户支持程度

 3、性能测试——必须使用工具测试,但是性能测试不局限于工具,还包括很多性能测试的理论知识,背景学科(操作系统、数据库、网络知识、防火墙、协议、开发语言……)

二、性能测试课程设置:

1、性能测试的初级部分(3天左右——达到目标:企业中60%-80%的普通项目能够搞定)

      1)使用1天左右,讲解性能测试理论知识

      2)简单脚本调试

      3)简单的控制台参数设置

      4)简单的性能结果分析

      ——以上为LoadRunner三大组件的基本讲解

2、性能测试的高级部分(5天左右——达到目标:企业中比较有难度的项目可以尝试实现)

      1)复杂脚本调试

      2)复杂场景中控制台设置方式,原理

      3)性能测试结果分析,尤其是有问题时的分析、调优过程研究

      ——以上为性能测试的深入讲解,包括loadruuner的三大组件的深入研究

三、性能测试的基本概念

1、PV:PageView页面访问量,刷新一次即被重新计算一次

      2、项目经理的要求:

      1)测试系统的最大并发用户数

      2)测试系统8小时的最大业务吞吐量

      3)测试系统的稳定性和健壮性

      4)测试系统数据在达到100万条记录时的性能

      5)测试系统的核心事物响应时间是否满足用户的需求

      3、性能测试过程中,数据库中不可以为空数据,或者条数很少,该种情况下测试不符合实际的生产环境,一定要根据系统实际的在线情况(投产使用后),插入足够数据(背景数据)后再进行测试

      4、性能测试的解释:就是使用工具模拟实际的生产情况中的业务压力,去测试系统,去攻击系统,去验证系统,是否能够承受当前的压力,满足性能的需求指标。

      5、在性能测试之前,要对被测系统(AUT,application under test)进行备份(尤其是数据库的备份)

      6、负载测试、压力测试都属于性能测试

1)负载测试(正常范围内):是通过逐步增加系统负载,测试系统性能的变化,并最终确定在满足性能指标的情况下,系统所能承受的最大负载量的测试。

2)压力测试(极限):逐步增加系统负载,测试系统性能的变化,并最终确定在什么负载条件下系统性能处于失效状态,并以此来获得系统能提供的最大服务级别的测试

负载测试和压力测试的区别:

1)       工人建桥,桥身上标明该桥的最大载重量为60吨——负载测试

2)       该桥的内部建筑资料中标明该桥的最大载重量为70吨,这个数据是给内部建桥工程师掌握的——压力测试的最大值

???问题:系统如何能够产生压力?有以下几个方面可以产生压力:

            1)用户数量——用户越多,AUT压力越大

                   2)用户数量固定,发送请求越频繁,则AUT压力越大

四、影响系统性能的主要因素:

      1、硬件(CPU、内存、硬盘、网卡及其他网络设备)

      2、操作系统

      3、网络

      4、中间件—(也叫应用服务器,如Jboss(免费)、websphere、weblogic等)、web服务器

      5、数据库服务器

      6、客户端

      7、编程语言、程序实现方式、算法

五、性能测试的常用术语

1、并发(Concurrency):指多用户在同一时刻(精确到毫秒ms级别)共同执行某一操作;并发测试要求比较严格,着重考察系统的瞬间压力

2、在线(online):多用户在线去循环操作某一动作

      对一般系统而言,多用户并发和多用户在线对AUT的压力比例是10:1,即50用户并发相当于500用户在线执行操作

      并发用户数常见错误观点:

      1)把并发用户数理解为使用系统的全部用户数量

      2)并发用户数量就是用户的在线数量

3、请求响应时间(TTLB-time to last byte):从客户端发送一个请求开始计时,到客户端收到服务器端返回的响应为止,这段时间称为请求的响应时间(单位为s或ms)

      性能测试关心两个词:请求响应正常的顺序是请求和应答先发(请求)再收(应答),不存在先收再发的情况。

      请求响应时间=客户端时间+网络时间+服务器时间

      实际的项目测试过程中,经常将AUT部署到内网环境,这样有充足的带宽,即可规避掉网络的瓶颈

4、事务响应时间:用户完成某个具体事务所需要的时间

      358原则:对于一般系统而言,如果用户点击按钮后,系统可以在3s得到应答,则用户比较满意;如果系统在5s得到应答,则用户能够忍受;如果系统在8s得到应答,则用户不能忍受。

5、点击率:每秒钟用户向web服务器提交的HTTP请求数,点击率越大对服务器的压力也越大(注意:点击不是指鼠标的一次“单击”操作,因为在一次“单击”操作中,客户端可能向服务器发送多个HTTP请求)

      如果用户点击登录按钮,返回的页面中包括3张图片,    则点击量是4=3+1(服务器有4次响应请求),3张图片加1个页面。每秒的点击量称为点击率。如果上述点击过程发生在1s内,则点击率是4。

6、吞吐量:用户在任意给定的时间段内从服务器端获得的全部数据量,单位是字节。

      吞吐量/传输时间=吞吐率——反映服务器的处理速度和性能,也是衡量网络性能的重要指标。

吞吐率和点击率的区别:

      1)吞吐率:指服务器每秒处理的数据量

      2)点击率:指客户端每秒向服务器提交的HTTP请求数

如果在带宽充足的情况下,完美的吞吐量(率)应该随着点击率的增加而增加

7、资源利用率:一般指在进行性能测试过程中,要对AUT的服务器进行资源监控,其中资源服务器的CPU、内存、磁盘和网络等主要的性能计数器,关注其利用情况。

六、手动测试存在的问题:

1、是否有足够的测试资源?(测试人员、客户机)

2、如何调度和同步测试用户?

3、如何搜集和分析测试结果

Loadrunner的解决方案:

1、利用“VirtualUsers”代替实际的测试人员,根据进程或线程,可以在loadrunner中设置,每个虚拟用户其实就是一个虚拟线程,可以代替实际的测试人员

2、运行大量的“Virtual Users”在不同的机器上,由控制台进行指挥

3、通过“controller”管理“Users”

4、利用图标工具分析测试结果

七、Loadrunner的三大组件:

1、(虚拟用户)脚本生成器(Virtual user generator——录制、调试脚本)

2、(压力调度)控制台(Controller)——设置场景参数,管理虚拟用户

3、(压力)结果分析器(Analysis)——生成测试报告(Loadrunner有自带报告,也可以自己利用Loadrunner数据结果自己写报告)

八、Loadrunner的工作原理

1、录制时,Loadrunner记录下客户端和服务器二者之间的对话,形成脚本

2、回放时,Loadrunner模拟真正的客户端,向服务器发出请求,并根据脚本来验证服务器的应答

九、Loadrunner安装

十、测试基本流程:

1、制定性能测试计划(部分)——>创建测试脚本——>编译、运行测试脚本——>创建场景——>运行、监控场景,收集数据——>生成测试报告,分析测试结果

      1)LR自带tours(订票)系统:账户/密码(jojo/bean

         2)在录制脚本之前,先要手工执行操作(熟悉被测系统AUThttp://127.0.0.1:1080/WebTours/index.htm

      3 录制脚本的时候一般把我们关心的操作(要测试的)录制到Action中,因为action中能够实现很多init中不具备的功能;把登录录制在vuser_init里面,把退出录制在vuser_end里面:

例:录制登录操作,则要将登录录制到(action)部分,因为只测试登录系统,测试点就是登录系统

注意:Loadrunner录制时,每次都要重新点击new

Snapshot——快照,一个页面形成一个快照,即一个图片

注意:当LR的脚本运行得出的result中全部为pass时,不一定证明脚本正确,因为LR只是在网络层面上验证了服务器收到了客户端发送的数据包,并且返回,但是返回的应答中数据是否正确(应答页面是否正确)没有验证

(各个路径:

C:\Users\yangyang1\Documents\VuGen\Scripts\WebHttpHtml2

C:\ProgramFiles (x86)\HP\LoadRunner

F:\09LoadRunner\LRtest

C:\Program Files(x86)\HP\LoadRunner\scenario

2、制定性能测试计划(部分):

n  测试登录模块在8个用户的情况下系统的性能情况

n  要求:

Ø  用户数:8人

Ø  用户加载方式:每2s加载一个人

Ø  运行时间:所有用户运行完脚本

Ø  登录用户名:test1

Ø  登录密码:test1

1)准备工作:由于LR整个测试过程会产生很多文件或文件夹,所以对这些文件(夹)的管理很重要,可以按照一下方式创建文件夹:

A、脚本文件

B、场景文件(控制台里面的各项参数设置好后保存在场景文件中)

C、分析器结果文件(结果文件)

D、测试报告(word or execl)

2)创建登录脚本

录制前设置:record——>recordingoptions——>advanced——>为每个页面title自动生成检查点函数/选择UTF-8(测试中文被测系统时减少乱码情况)

3)编译、运行脚本

编译时,可以快速检查脚本的语法问题(格式),但是逻辑问题不能查找出来

4)创建场景

A、先将运行通过的脚本加入控制台

B、控制台中设置参数

C、运行场景

5)检查分析器结果文件

点击control中:Results-Analyze results即可调出来

十一、课后作业:

1、       录制3个脚本:搜索航班(OK),查询购票线路(没调通,加的检查点有问题),购买机票(OK),每个脚本都要添加页面检查点

注意:

1)       性能测试中,脚本不建议调试的过于复杂、脚本中action过多——脚本过于复杂,则系统测试结果出现问题后不易查找性能瓶颈,定位较难,降低工作效率,一般情况下一个测试点(操作)对应一个脚本。

2)       录制脚本不要过急,要待页面资源下载完毕后,再进行下一步,否则脚本无法录制完全,不能调试成功

3)       脚本中检查点不需要加过多添加1-2个关键的即可,因为检查点也是函数,执行时也要耗费资源——如果脚本添加函数过多,过于复杂,则需要耗费额外的资源,但是所有服务器的资源监控数据都会记录在AUT的结果报告中,造成报告中数据不准确。

4)       性能测试中的在线测试是以循环为主,如查询稿件(购买机票),则脚本的运行方式:登录——查询稿件(购买机票)——查询稿件——查询稿件——退出系统;即脚本中init——action——action——action——end

5)       LR(类C语言脚本)的注释:

单行://

多行:/* */

6)正常来说,一台PC机可以支持上百个或者上千个线程。如果使用线程来运行虚拟用户,则一台PC机可以支持1000-2000用户,如果遇到5000用户在线,则需要联机测试(多台PC)

2、思考:Loadrunner和QTP的区别?相同点?

答:

1)相同点:工作方式都是录制——回放

2)区别

      ALR:基于协议的性能测试LR关心的是客户端和服务器之间的对话(数据包),关心的是请求(客户端发出)和应答(服务器端发出),关心的是网络协议(网络上的语言:http)。

QTP: 基于UI对象的功能测试QTP关心的是AUT的界面,以及界面上的对象,及对象的属性

      BLR录制原理:捕获数据包;录制的前提是能识别协议报文

QTP录制原理:消息机制,截获消息;录制的前提是能识别控件

      CLR是性能测试工具,侧重的是压力,负载,容量,并发等的测试

QTP是功能测试工具,针对功能的测试

QTP是功能测试的工具,这个功能测试是指的基于GUI的功能测试.QTP的录制和回放都是真实的去操作客户端程序的各种GUI控件,回放的时候会真实的启动客户端程序.LR只是录制了客户端和服务器之间的通信数据,回放自然也是这些通信的数据,而且只有在录制的时候跟客户端程序有关系,回放的时候就跟客户端没有任何关系了,回放的时候不会启动客户端程序.

3sample中服务打不开,端口有冲突,解决端口冲突的问题:

         1)查明哪个服务占用1080端口:netstat –ano

      2)在任务管理器中找到PID(进程标识符)所对应的进程,停止掉(或者到服务中将该服务禁用掉)

      3)直接修改服务调用的端口:C:\Program Files (x86)\HP\LoadRunner\WebTours\conf中的httpd.conf文件

4、英文作业:HP学习资料,选择题(no)
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值