zoukankan      html  css  js  c++  java
  • 性能测试小总结(三) 性能测试的执行

    四、性能测试的执行

    1.loadrunner组件:Virtual User Generator(VUGen):虚拟用户生成器,用于捕获最终用户业务流程和创建自动性能测试脚本(虚拟用户脚本) 演员

    Controller:场景监控器,用于组织、驱动、管理和监控负载测试  导演

    Load Gennerator:负载生成器,用于生成虚拟用户负载

    Analysis:数据收集分析器,用于查看、分析和比较性能结果

    性能测试流程:需求分析--》用例设计--》脚本录制--》脚本优化--》脚本回放--》场景设计--》场景执行--》结果收集--》结果分析

    创建脚本:web http/html-->creat-->options--》network port mapping--》Socket level and WinNet level data  (出现乱码Advanced Support charset UTF-8)--》选用浏览器 链接 录制保存地址 ok

    开始录制

    优化脚本

    脚本优化流程:插入事务点--》插入集合点--》设置思考时间--》插入注释--》数据参数化--》设置关联--》设置文本检查点--》插入函数

     1 lr_start_transaction("submit");//插入集合点
     2     lr_think_time(1);//思考时间
     3     lr_rendezvous("submit");//插入事务点开始
     4     web_submit_data("submitcode.do_2", 
     5         "Action=http://192.168.119.1:8080/acmhome/submitcode.do", 
     6         "Method=POST", 
     7         "RecContentType=text/html", 
     8         "Referer=http://192.168.119.1:8080/acmhome/tosubmit.do?problemId=1702", 
     9         "Snapshot=t12.inf", 
    10         "Mode=HTML", 
    11         ITEMDATA, 
    12         "Name=problemId", "Value=1702", ENDITEM, 
    13         "Name=language", "Value=GCC", ENDITEM, 
    14         "Name=code", "Value=描述
    
    undefined 
    
    输入
    
    undefined
    
    输出
    
    undefined
    
    样例输入
    
    
    
    样例输出
    
    
    
    提示
    
    undefined
    ", ENDITEM, 
    15         LAST);
    16 
    17     lr_end_transaction("submit", LR_AUTO);//事务结束

    参数化:Parameter List--》Unique Number--》4位数 1---1000--》参数替换 test001---test{username}

    参数类型为file 数据库数据 username.dat  test001 替换成{username}

    6.设置关联

    7.设置文本检查点

    8.修改函数

    测试脚本的回放

    1.运行逻辑

    迭代次数设置为3次,执行顺序是:首先执行一次vuser_init中的脚本,接下来执行3次Action中的脚本,最后执行一次vuser_end的脚本。第一次执行Action中的脚本时,用户test0001完成提交代码,第二次用户test0002完成提交代码,第三次test0003.

    2.日志 启用日志记录  始终发送消息 标准日志

    3.思考时间 忽略思考时间:发送请求不停顿的,给服务器造成的压力最大

    重播思考时间:按录制时记录的时间,录制思考时间一秒就一秒

    4.首选项:如果在测试脚本中设置了文本检查点,那么需要启用检查点,选中“启用图像和文本检查”

    视图--》测试结果

    特别注意:脚本执行完成,运行结果显示成功,回放日志中也没有错误信息,但实际上业务没有成功执行,找出错误原因,对脚本进行改进。

    测试场景的设计

    1.提交代码单业务负载测试

    1)创建场景,Controller,新建--》添加脚本--》手动场景(通过指定要运行的虚拟用户数来管理负载测试)使用百分比模式在脚本间分配Vuser

    面对目标的场景 不懂

    2)确定场景执行计划

    并发用户初始化方式有三种:1️⃣同时初始化所有的并发用户2️⃣每隔固定的时间间隔初始化若干个并发用户3️⃣在每个并发用户运行之前将其初始化。

    并发用户持续运行时间的两种方式:1️⃣完成前一直运行2️⃣按指定的时间运行

    并发用户停止的两种方式:1️⃣同时停止2️⃣每隔固定时间间隔停止若干并发用户

    3)设置集合点  场景--》集合

    1️⃣当所有Vuser用户中的百分之多少到达集合点后释放;2️⃣当所有运行中的Vuser用户的百分之多少到达集合点后释放3️⃣当多少个Vuser用户到达后释放

    同时可以设置三种策略Vuser用户之间的间隔,默认是30s,假如Vuser用户之间等待的时间超过30s,就不再等待其他Vuser用户,释放已经达到集合点的Vuser用户。

    设置运行是设置:

    1️⃣运行逻辑  场景执行计划的持续时间优先级高于运行逻辑的迭代次数

    2️⃣日志,启用日志记录 尽在出错时发送消息

    3️⃣思考时间 重播思考时间和按录制时记录的时间

    4️⃣其他:出现错误时仍继续  继续执行场景,直到场景运行结束

    5️⃣首选项 文本检查功能默认是关闭的,因为在测试执行过程中启用该功能会消耗一定的资源,对测试结果有影响

    数据监控设置 

    Processor的%Processor Time  Memory的Available Mbytes

    win系统自带的监视器:此电脑--》管理--》性能--》监视工具--》性能监视器--》绿色添加(添加计数器)选择

    日志没弄过

    混合业务负载测试

    submitcode viewproblem

    场景和组:按场景设计场景计划时,多个脚本的执行必须一致的,脚本同时开始启动和停止运行,Vuser并发用户的启动、持续运行时间、停止都弯曲相同;希望多个脚本的运行时间有先后顺序,每个脚本的执行各不相同,那么就按组设计场景计划。

    1)负载生成器:系统的并发用户都是由负载生成器生成的 场景--》Load Generator 

    2)ip欺骗  场景--》启用ip欺骗 投票网站

    ip欺骗应该在连接负载生成器之前启用,各负载生成器都必须使用固定的ip,不能使用动态ip即DHCP

     

  • 相关阅读:
    浅析影响一个网站的因素
    23种常用设计模式的UML类图
    各版本IE兼容问题,IE6,IE7,IE8,IE9,IE10,IE11
    47种常见的浏览器兼容性问题大汇总
    5个Sublime Text 的插件推荐
    网页设计师神器,快速生成网站配色、字型等风格的工具——Stylify Me
    免费的高分辨率图库——re:splashed 可用做网页背景、设计或桌面壁纸
    MySQL(18):Select- subquery子查询
    MySQL(17):Select-union(联合查询)使用注意事项
    MySQL(16):Select-union(联合查询)
  • 原文地址:https://www.cnblogs.com/gdf456/p/10052305.html
Copyright © 2011-2022 走看看