转:LoadRunner响应时间与用户体验时间不一致问题的深入分析
在新一代一期项目非功能测试过程中,我们发现了LoadRunner测试响应时间与客户端实际用户体验时间不一致的现象。例如员工渠道上线后,客户体验时间远远超过了LoadRunner测试响应时间。本文针对这一现象深入研究了导致二者不一致的原因并提供了意见和建议,现与大家分享。
1、用户体验时间
用户通过浏览器访问Web服务器时,体验时间可以细化。如下图所示,体验时间包括用户感应时间、浏览器处理时间、网络传输延时和后端服务器处理时间。
.jpg)
2、LoadRunner单次事务响应时间度量
我们通常将核心业务操作定义为事务,在LoadRunner脚本中具体为web_url()、web_submit_data()等函数调用。下面举例计算单个事务响应时间,定义一次web_url()调用为事务,web_url函数中请求4个文件。
.jpg)
LoadRunner获取每个资源都要经过反应、第一次缓冲和接收三个阶段,反应阶段包括DNS解析、建立初始连接、SSL握手、FTP认证;第一缓冲时间是显示从初始HTTP请求(通常为GET)到成功收到Web服务器返回的第一次缓冲所经过的时间;接收时间显示在服务器发出的最后一个字节到达,即下载完成之前所有的时间;客户端时间显示由于浏览器反应时间或其他客户端相关延迟而导致请求在客户机上延迟的平均时间。
.jpg)
LoadRunner执行web_url()语句时,请求资源的先后顺序不依赖代码书写顺序,导致很难直接确定执行web_url()的开始时间,但可以借助LoadRunner的分析工具模块页面诊断器(Web Page Diagnostics)获取事务开始时刻和结束结束。在Web Page Diagnostics中可以获取资源下载完成时刻(Scenario Elapsed Time)和花费时间(Page Component's Download Time),二者之差即为资源下载的开始时刻,资源开始下载的最小时刻为事务的开始时刻;在Web Page Diagnostics中资源下载完成时刻(Scenario Elapsed Time)最大值为事务的结束时刻。结束时刻与开始时刻之差为单次事务响应时间。LoadRunner单次事务响应时间取决于资源下载时间的最大值,下载时间包括第一次缓冲时间、接收时间等。
3、结论与建议
综上所述,LoadRunner测试响应时间不包括用户浏览器的JS文件解析执行、渲染、布局、绘制和人眼识别所需时间,只包括网络延时和后端服务时间。这也从侧面说明LoadRunner主要用来测试后端服务器性能和处理能力。LoadRunner测试时间与用户体验时间的差异如下表:
.jpg)
一般情况下LoadRunner测试的响应时间小于用户实际体验时间。
针对后续非功能测试,本文提出以下测试建议:
(1)如果测试目的要求获取用户体验时间,需要在LoadRunner测试响应时间的基础上考虑添加误差因子;
(2)如果用户实际体验的时间远大于LoadRunner测试响应时间,需要重点分析排查JS解释执行、渲染等问题;
(3)如果LoadRunner测试响应时间较长,可以借助First Buffer Time、Client Time、Receive Time等分析确认网络问题、后端服务问题和页面元素问题。
原文:http://www.tansun.com.cn/tyhy/96249/97930/index.html
转:LoadRunner响应时间与用户体验时间不一致问题的深入分析的更多相关文章
- OneAPM NI 基于旁路镜像数据的真实用户体验监控
在这个应用无处不在的时代,一次网络购物,一次网络银行交易,一次网络保险的购买,一次春运车票的购买,一次重要工作邮件的收发中出现的延时,卡顿对企业都可能意味着用户忠诚度下降,真金白银的损失. 因而感知真 ...
- 转:LR的响应时间与使用IE所感受时间不一致的讨论
在做性能测试时,有时碰到这样一种情况,使用性能工具LR测试出来的响应时间比实际使用IE感受到的时间要长,例如,实际使用IE打开一个系统时只需要1~2秒,而使用LR跑一个用户所得出的结果可能是8秒.10 ...
- LR的响应时间与使用IE所感受时间不一致的讨论(摘抄补充)
http://www.51testing.com/html/33/564333-865629.html 在做性能测试时,有时碰到这样一种情况,使用性能工具LR测试出来的响应时间比实际使用IE感受到的时 ...
- Linux root用户与普通用户时间不一致
造成这种原因有多种,可能是安装软件时选的时区不是本国时间等等. 今天检查了root用户和oracle及grid用户的时间不一样,幸好数据库还没有正式应用,不然可能会造成时间差影响. 现在将同步的方法步 ...
- CDN高级技术专家周哲:深度剖析短视频分发过程中的用户体验优化技术点
深圳云栖大会已经圆满落幕,在3月29日飞天技术汇-弹性计算.网络和CDN专场中,阿里云CDN高级技术专家周哲为我们带来了<海量短视频极速分发>的主题分享,带领我们从视频内容采集.上传.存储 ...
- loadrunner 响应时间和TPS
例子:一个高速路有10个入口,每个入口每秒钟只能进1辆车 1.请问1秒钟最多能进几辆车? TPS=10 2.每辆车需要多长时间进行响应? reponse time = 1 3.改成20辆车 ...
- 提升网站用户体验—WebP 图片的高效使用
一.WebP 的由来 现代图像压缩技术对我们的生活方式影响很大.数码相机能将上千张高质量图片存储到一张内存卡里.智能手机可以与邻近设备快速分享高分辨率的图片.网站与手机等移动设备能快速展示各种富媒体. ...
- 追求极致的用户体验ssr(基于vue的服务端渲染)
首先这篇博客并不是ssr建议教程,需要ssr入门的我建议也不要搜索博客了,因为官网给出了详细的入门步骤,只需要step by step就可以了,这篇博客的意义是如何使用ssr,可能不同的人有不同的意见 ...
- web测试总结—用户体验
一.什么是用户体验 用户体验,英文叫做user experience,缩写为UE,或者UX.一个较常见的定义是“指用户访问一个网站或者使用一个产品时的全部体验.他们的印象和感觉,是否成功,是否享受,是 ...
随机推荐
- 基于Spark的用户行为路径分析
研究背景 互联网行业越来越重视自家客户的一些行为偏好了,无论是电商行业还是金融行业,基于用户行为可以做出很多东西,电商行业可以归纳出用户偏好为用户推荐商品,金融行业可以把用户行为作为反欺诈的一个点,本 ...
- 我的 MarkDown 学习笔记
MarkDown 一种用于写作的轻量级[标记语言].它用简洁的语法代替排版,而不像一般的文字处理软件 Word 或者 Pages 有大量的排版.字体设置等. 如果你对文章的样式没有太多要求,只注重写文 ...
- .Net基于RealProxy实现AOP
一.概述 关于AOP(面向切面编程)还是先讲一个日常经常碰到的场景"错误日志的记录",一般来说我们编码的时候想记录错误日志都是用try..catch来进行捕捉和记录,慢慢的你会发现 ...
- (四)python自带解释器(LDIE)的使用
什么是IDE? Integrated Development Environment(集成开发环境) 打个不恰当的比方,如果说写代码是制作一件工艺品,那IDE就是机床.再打个不恰当的比方,PS就是图片 ...
- SpringMVC第一天(其他)
SpringMVC第一天 框架课程 课程计划 参数绑定 SpringMVC默认支持的类型 简单数据类型 Pojo类型 Pojo包装类型 自定义参数绑定 SpringMVC和Struts2的区别 高级参 ...
- Python 的基本使用说明
1.先定义一个被调用的模块,文件名 cnf.py #!/usr/bin/ #coding=utf- import sys reload(sys) sys.setdefaultencoding( &qu ...
- GroupingView点击分组标题不展开,或点击标题部分文字不展开
GroupingView结构: 分组标题groupTextTpl是用两个DIV 来进行修饰的,在mouseDown时,EXT会查找css class=".x-grid-group-hd ...
- c#注释
c#的注释分为:这里不能不说一下什么是注释. 注释本身不会执行,只是说明性文字,只供程序员阅读. 注释又分为:单行注释,多行注释,文档注释. 单行注释://开始 多行注释:/*开始, */结束. 文档 ...
- hadoop(二)
三 Hive和Hbase #安装配置Hbase环境#主要参考https://my.oschina.net/zc741520/blog/388718网站配置的是集群,这里是伪分布,将网站中涉及多个主机的 ...
- 仅以一个前端开发人员的角度看微信小程序
看了几天的小程序(当然也包括了上手书写),才有了这篇博文,非技术贴,只是发表下个人观点,仅以个人技术能力来看小程序. 首先说下优点: 调试工具:官方的工具还是做了很多工作,包括监听文件变动自动刷新,编 ...