性能测试概念及基本流程

LoadRunner的初级部分--三大组件的简单运行

  a. 脚本生成器:调代码、脚本的地方

  b. 控制台:好比指挥部

  c. 结果分析器:比如,每隔3秒钟出一个结果,分析海量的结果,还可以继续分析。

2)LoadRunner的高级部分--三大组件逐个深入掌握。

3、性能测试的高级部分:性能测试过程中,遇到问题(瓶颈),如何查找、定性,进行性能调优。

 

 

LR11可以去网上下载破解版,破解2WLicence用户

基本测试流程:

 1)创建/编辑脚本

 2)运行压力测试

 3)分析测试结果

 

 压力激增--瞬时压力:并发压力(性能测试)

 系统瘫痪--宕机 (down机了)

 3个小时内,网站的浏览次数达到2000万次

 他们提供的100次/小时   他们:奥组委

  甲方:奥组委   乙方:开发方   第三方:测试团队

 浏览量第一小时 800万次  8000000 / 3600 = 2222次/秒

 每秒钟从网上提交的门票申请超过20万张

 浏览量:PV值,页面的访问量或点击量

 

 

三、性能测试的概念:

1、性能测试:模拟真实的生产环境,以各种不同的压力(模拟大量用户)去测试被测系统、去"攻击"测试系统。同时记录下被测系统中 各台 服务器的各种重要资源情况,包括cpu、内存、磁盘和网络等资源。

 

2、注意:性能测试之前要做好系统备份。

 

3、性能测试时首先看 性能需求,如果没有需求,这时要根据与客户交流、被测系统的相关资料、以及性能测试工程师的经验,去编写测试计划,进行性能测试。

 

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

 (国内混用,国外有差别,笔试时需要注意)

1)共同点都是在测试过程中逐步加压

2)负载测试是在正常范围内测试   Load Testing

    (见好就收)

3)压力测试可以在极端范围内测试  Stress Testing

    (使劲折腾)

4)举例:一座大桥,桥上写最大载重量的车辆,不超过60吨

     但是在桥梁内部建筑资料,最大载重量,不超过70吨

 

5、性能测试的背景课程:

1)数据库(不夸张的说,60%-90%的性能问题都和数据库有关)

2)操作系统(Linux/Unix)

3)其它:网络协议、防火墙等知识...

 

性能测试的实现方法:

手动测试:(存在的问题)

 测试人员 ->   Web Server  ->  DB Server

 问题:

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

   如何调度和同步测试用户?比如并发

   如何搜索和分析测试结果?

结论:必须使用工具

 

6、被测系统

 SUT (System Under Test)

 AUT (Application Under Test)

 EUT (Environment Under Test)

 就是Web Server和DataBase Server两部分的统称

(Web应用程序 部署其中)   表等资源

 

四、LoadRunner工作原理:(录制--回放的工作方式)和QTP类似

1、录制时,LoadRunner记录下 客户端和服务器 二者之间的对话。

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

 

补充说明:有时脚本录不下来,自己写脚本,发现测试时通过了,但实际运行时服务器瘫了。

原因:没有模拟真实的客户端效果,接收也出现问题,导致失败。

      所以自己写脚本时也要模拟真正的客户端。

 

LoadRunner的三大组件:(三个火枪手) OALoad工具类似

(触类旁通)

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

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

 

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

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

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

 

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

功能:把收集到的测试数据以图表的形式展示出来;

       生成测试报告。

 

熟悉AUT: LR自带一个B/S架构的系统 航空订票系统

HP LoadRunner ->Samples ->Web ->

  Start Web Server先启动服务器

 

HP LoadRunner ->Samples ->Web ->

   HP Web Tours Application

系统地址:http://127.0.0.1:1080/WebTours/

 

五、关注AUT,并进行脚本录制

Web Tours 航班订票系统

用户名:jojo

密码:bean

1、使用LR之前,浏览器修改:

Internet选项 -> 设置 -> 选中"每次访问此页时检查"

 原因:当脚本更新时,会及时查看到

 

2、拷贝AUT的网址,准备测试。

注意:测试时关闭原先打开的被测网页。

http://127.0.0.1:1080/WebTours/

http://localhost:1080/WebTours/

 

系统功能说明:

Flights     订票

Itinerary  查看订票路线 看订单

Home      主页

Sign Off   退出

 

细节:需要删除一些干扰文件(涉及Flights的功能)

D:\oracle\product\10.1.0\db_1\perl\5.6.1\bin 

  MSWin32-x86 目录删除

D:\oracle\product\10.1.0\db_1\perl\5.6.1\lib

  MSWin32-x86 目录删除

 

案例:录制用户登录脚本

使用LoadRunner的VUG

 HP LoadRunner -> Application -> HP Vurtual User Generator

 

 点击New图标 -> New Virtual User -> 默认协议

  -> Create 准备录制

 填写基本信息:

   选择软件架构:Internet Applications (B/S)   默认

                    Win32 Applications (C/S)

   选择浏览器类型:默认IE

   URL Address: 被测系统的网址

       http://127.0.0.1:1080/WebTours/

     或http://localhost:1080/WebTours/

   Working directory: LR工作路径 默认  常用工具命令

   Record into Action: 录制脚本的位置 默认Action

   (vuser_init 初始化  Action    vuser_end 结束)

  -> OK  自动打开浏览器 AUT,开始录制

     关注小操作条 (录制控制  关注数字变化,数字稳定才继续)

  -> 输入jojo  bean

  -> 开始事务 名称login (插入事务) -> OK

  -> Login按钮

  -> 结束事务 login  -> OK

  -> 改为vuser_end模式,点击Sign Off 退出

  -> 关闭浏览器 -> 点击蓝色按钮 Stop 结束录制

 

修改字体:Tools -> General Options -> Environment

   -> Editor     Comic Sans MS  14 Bold 加粗

 

建议新建目录:D:\work\    (目录名建议用英文名)

 新建3个子目录:

 script 脚本     ctrl 场景文件    result 结果分析文件

 

另存为: D:\work\script\day01\login  

 

关注左上角对应的独立的源文件:(脚本的文件组成)

vuser_init    初始化脚本  (类C语言)

Action        最关心的脚本

vuser_end    结束脚本

globals.h     头文件 (包含LR函数声明)

 

3、在使用LoadRunner录制之前,一定要手工执行待测的测试点。

比如:登录系统、购买机票

 

4、录制时:

一般将登录的动作录制到vuser_init中;

关心的测试点(如订购机票、查询路线)录制在Action中;

而将退出的动作录制到vuser_end代码中。

原因:Action比较强大,具备其它部分所没有的功能

       比如:参与迭代、设置并发

 

5、录制时注意:创建新脚本,要从New开始

 

6、如果只是录制登录脚本,则录在Action中即可

 

7、lr_think_time(68); 表示该处有68秒时间没有对服务器提交请求

   思考时间

 

   lr_start_transaction("login");  开始login事务         lr_end_transaction("login",LR_AUTO);   结束login事务

 

   web_submit_form(...);  发送表单请求

   web_url(..);   发送页面请求

 

录制好、调试好脚本,开始运行 Run (VUG)

 

想看到运行结果:

 Tools -> General Options -> Replay 回放

 -> After Replay 选择 Visual test results 可视化测试结果

 

再回放,会显示结果报告。

注意:结果的对勾,不一定准确,还需要在脚本中添加一些内容(比如检查点),才完整。

 

如果想看回放图形效果:(用处不大)

 Tools -> General Options -> Display

   -> Show run-time viewer during re]  打钩 (取消打钩)

 

虚拟用户:Virtual User  简称VU

  在场景中,LoadRunner使用VUser代替实际用户。

  一个场景中,可以包含几十个、几百甚至几千个Vuser.

  使用Vuser被被测系统施加压力。

 

原理:每一个虚拟用户,对应一个进程或线程

    常用线程模式,消耗资源比进程少。一般PC机模拟2000个VU

进程 和 线程的区别?

1)进程比较消耗系统资源,进程间通信比较麻烦

2)线程比较节约系统资源,线程间通信比较容易

 

VUG: 只能产生一个用户的压力。

 

8、如果实现 多用户的测试,则必须打开 控制台Controller。

(控制台:是指挥部,可以模拟千军万马)

 

事务:Transaction   为了记录事务响应时间

场景:Scenario   法语外译词

     通过控制台来创建场景,相关的场景设置

 

9、录制结束后,保存--回放(编译、运行)

 目标:确保脚本执行正常

 

10、编译:检查语法错误。 Compile图标

 能检查语法错误,但不能检查逻辑错误

 

11、何时需要插入事务?

 关心那段操作,就将此过程作为一个事务。比如只关心订票,就可以不考虑登录。

 目的:LR后续会统计事务的响应时间。

 

12、LoadRunner录制时,Action的选择只能从前往后选:

  即 vuser_init ->  Action -> vuser_end

否则,必须从New开始,重新录制。

 

13、打开控制台时,可以关闭掉VUG。因为脚本保存好后,就可供控制台使用。关闭不必要的软件让测试机的性能好些。

 

LoadRunner基本测试流程:

1)指定性能测试计划(部分)     Word

2)创建测试脚本

3)编辑、运行测试脚本

4)创建场景

5)运行、监控场景,收集数据

6)生成测试报告,分析测试结果

 

posted @ 2020-04-13 21:01  _Jack_test  阅读(659)  评论(0编辑  收藏  举报