性能测试LR学习笔录2am pm -3

回顾day1:web

一、什么是性能测试?数据库

       模拟真实的生产环境,以各类不一样的压力(模拟大量用户)去测试被测系统,去”攻击“测试系统。同时服务器

记录下被测系统中各台服务器的各类重要资源状况,包括cpu、内存、磁盘和网络等资源。网络

 

二、简述LoadRunner的工做原理。并发

一、录制时,loadRunner记录下客户端和服务器两者之间的对话。函数

二、回放时,LoadRunner模拟真实的客户端向服务器发起请求,并按照脚本去验证服务器的应答。工具

 

三、简介LoadRunner的三大组件,写出其中英文名称。性能

1)虚拟用户脚本生成器(Virtual User Generator) VUG测试

功能:录制、编辑测试脚本spa

2)压力调度控制台(Controller)

功能:建立场景、运行场景、监控场景、收集测试数据

(场景:就是一个大型的配置文件)

3)压力结果分析器(Analysis)

功能:把收集到的测试数据以图表的形式展现出来,生成测试报告。

 

四、并发和在线的区别。

五、简述点击率和吞吐量的概念,并简述其区别。

点击率:每秒钟用户向Web服务器提交的HTTP请求数。

  - 点击率越大,对服务器的压力也越大。

  - 注意:点击不是鼠标的一次“单击”操做,由于在一次“单击”操做中,客户端可能向服务器发出多个HTTP请求。

 

吞吐量:用户在任意给定一秒从服务器端得到的所有数据量,单位是字节。吞吐量/传输时间就是吞吐率。

 

=========================================================================================

1、做业讲解

一、性能测试中,脚本不建议调试过于复杂,脚本中action过多。

     ------ 脚本过于复杂,则系统测试结果出现问题后不易查找性能瓶颈,定位较难,下降工做效率。

通常的状况,一个测试点(操做)对应一个脚本。

二、录制脚本不要过急,要待也没资源下载完毕后,再进行下一步,不然脚本没法录制完成,不能调试成功。

三、脚本中检查点不须要加过多,一两个便可,由于检查点也是函数,执行时也要耗费资源。----若是脚本添加函数过多,过于复杂,则须要耗费额外的资源,可是全部服务器的资源监控数据都会记录在被测系统的结果报告中,形成报告中数据不许确。

四、性能测试中的在线测试是以循环为主,如查询稿件,则脚本的运行方式:登陆--查询稿件 - 查询稿件-查询稿件 - 退出系统;即脚本中init --- action ---action---action ---end

五、LR脚本中的注释:

1)注释单行://               2)注释多行:/* .....*/

六、LR和QTP的相同点和区别:

1)LR和QTP的相同点:工做方式都是录制-- 回放

2)区别:

a、LR关心的是客户端和服务器直接的对话(数据包),关心的是请求(客户端发出)和应答(服务器端发出),关心的是网络协议(网络上的语言:http)

b、qtp关心的是aut的界面,以及界面上的对象及对象的属性。

 

七、正常来讲,一台PC机能够支持上百个进程或者上千个线程,若是使用线程来运行虚拟用户,则一台PC机通常能够支持1000-2000用户,若是遇到5000用户在线,则须要联机测试(多台笔记本)。

 

2、性能测试策略:(基准测试、并发测试、综合场景测试、疲劳强度测试、内存泄漏测试、数据容量测试、极限测试、递增测试

一、在进行性能测试以前,功能测试要先经过。

二、基准测试(Benchmark Testing):单用户测试,目的是为其余测试提供参考依据。

三、递增测试:每隔一段时间(如5秒、10秒)加载不一样数目的虚拟用户执行测试操做,对测试点进行递增用户压力加载测试。

   递增测试存在的意义:若是全部的虚拟用户同时加载,可能形成AUT的资源忽然增大,进而影响后续测试中关心的测试点的数据,全部前面能够稍稍放缓,递增长载虚拟用户

四、在线综合场景测试:号称能干最真实的模拟实际的生产场景,通常状况下综合场景中要求脚本为3个以上,将虚拟用户分红不一样的组,每组执行不一样的脚本。

注意:通常不要将Login脚本加到综合场景中,由于综合场景通常持续时间很长(1个小时左右),这段时间内,全部的用户在循环执行操做,登陆不适合作循环。

如:10%的用户执行浏览首页,50%的用户执行查询订单,40%的用户执行订购机票,最大限度的模拟系统的真实场景,使用户宇宙系统投入使用后的性能水平。

5注意:在设置综合场景中用户执行操做比例时,大部分的用户应该作浏览或者查询,少部分作提交操做。

6、解决端口冲突的问题:

1)查明哪一个服务占用了1080端口:netstat -ano 查看1080端口对应的PID(cmd)。

2)再进入任务管理器中进程列表下所对应的PID(进程标识符),将其禁用就能够了(或者在服务中禁掉)。

七、并发测试:多用户在同一时刻同时执行某个操做。并发测试就是考察被测系统的瞬间压力的承受能力。

八、疲劳强度测试:通常指长时间的在线综合场景测试,即在必定的压力强度下,进行长时间的测试,测试的时间常常为7*24小时,或者24小时等等。

九、内存泄漏:指系统运行时,占用的内存没有获得及时的释放,随着运行时间的增长,被占用的内存愈来愈多,致使能够物理内存被用光,系统运行缓慢甚至宕机,这种现象称为内存泄漏。

十、内存泄漏检测:使用相应的测试软件进行内存指定计数器的监控,观察释放符合内存泄漏的曲线走势,还可使用专门的内存泄漏检测工具进行测试。

十一、数据容量测试:考察AUT(被测系统)中数据库服务器中存储不一样容量数据时,AUT的性能反应。

十二、数据容量的单位:

  1)1024Byte=1K

  2)1024K =1M

  3)1024M =1G

  4)1024G =1T

  5)1024T=1P

1三、极限测试:也称“摸高测试”,即便用性能测试,逐渐增长被测系统的压力,测试出AUT的极限值,如最大用户数、最大的吞吐量等。

1四、LoadRunner的工做方式:

   1)脚本生产器将用户的操做录制成脚本(至关于武器)。

   2)每一个虚拟用户都执行这个脚本(至关于每一个士兵都手持武器)。

   3)控制台同一管理全部的虚拟用户(至关于总司令部)。

   4)被攻击的城堡至关于AUT(被测系统,部署在服务器上)。

1五、事务(Transaction):为度量服务器的性能,须要定义事务。事务表示要度量的最终用户业务流程或操做。

1六、场景(Scenario):场景是一种文件,用于根据性能要求定义在每个测试回话运行期间发生的时间。模拟真实环境中,用户运行情况。

1七、如何去设置场景的参数:把握一个原则 ---模拟时间的生产环境。

1八、Agent的做用:当控制台统一对各个压力生成器(load generator)进行控制,每台压力生成器须要启动agent, agent负责实时侦听来自控制台的指令,以达到协调各压力生成器中虚拟用户的做用。

1九、在作联机测试时,联机的机器须要知足两个条件:

1)安装压力生成器

2)启动agent

20、监控器:在性能测试过程当中,要监控全部的服务器的重要资源。

2一、LoadRunner的工做流程:

1)LR的脚本生成器对AUT进行捕捉和录制(选择正确的协议,模拟Java客户端或者IE客户端),造成脚本。对于脚本能够在run_time settings中进行设置,进而造成场景。

2)在控制台中,对VUS(虚拟用户)进行部署,连同场景,造成各类测试场景(包括基准测试,并发测试,综合场景测试等)。场景能够启动或者中止,包括对于压力生成器的控制,还能够在测试过程当中对AUT的服务器进行监控。

3)测试过程当中造成的海量数据,在测试结束后统一提交到结果分析器,造成各式图表。

2二、控制台和脚本生成器中都有Run_time settings,控制台的优先级更高。

2三、LoadRunner录制原理:

 -- 自动监控指定的URL或应用程序所发出的请求及服务器返回的响应。

 -- 它做为一个第三方监视客户端与服务器的全部对话,而后把这些对话记录下来,生成脚本。

 -- 再次运行时模拟客户端发出的请求,捕获服务器的响应。

 2四、若是遇到查询的脚本,通常状况下,检查点为查询总条数的信息,可是若是系统中信息条数会变化,则须要避开总条数去验证。

25:、录制脚本的过程(以bug为例)

1)new一个新脚本

2)点击“init”

3)填入登陆信息(jojo/bean)

4)插入login事务起始点

5)点击login按钮

6)点击“login”事务结束点

7)切换到“action”

8)购票(到最后一个continue按钮截止)

9)插入bug事务起始点

10)点击“continue”按钮

11)插入检查点

12)插入bug事务结束点

13)切换到“end”

14)退出系统(若是直接关闭页面,则用户没有真正退出系统,与服务器的链接还在)

15)关闭页面

16)结束录制

2六、上述步骤3和4能够调换位置,由于在输入界面信息时,对服务器没有提交请求,只有当点击“login”按钮时,才将输入的信息提交给服务器。

2七、LR脚本中,LR函数都是以web_lr_开头。

2八、Lr脚本中,使用类C语言做为脚本,支持lr函数和C语言函数。

2九、思考时间:两个步骤之间的停顿时间。

30、通常在测试过程当中(控制台),须要设置思考时间(根据测试的需求);而在脚本生成器中,通常忽略思考时间,越快越好。

 

3、LoadRunner工具组成(组件):

一、虚拟用户脚本生成器(Virtual User Gennerator) -- 捕获最终用户业务流程和建立自动性能测试脚本,即产生测试脚本。

二、控制台(Controller) --  根据用户对场景的设置,设置不一样脚本的虚拟用户数量。

三、结果分析器(Analysis) -- 分析测试结果

四、负载生成器(Load Gennerator) -- 经过运行虚拟用户产生实际的负载。

    代理程序(Agent) -- 部署在各个客户端,协调获得步调一致的虚拟用户。

    监控系统(Monitor) -- 监控主要的性能计数器。

相关文章
相关标签/搜索