关于测试工具以及前端性能测试的一些思考

对于下一代测试工具的思考。
在以往的性能测试工作中,一直以来使用的测试工具框架都是基于请求-响应模型来进行开发的,
该模型是指脚本通过模拟HTTP请求并接收服务器的响应来针对被测对象的响应时间等考评指标来进行考评。
目前主流的性能测试工具都产生于瘦客户端的时代,而且由于基于的HTTP请求-响应模型本身是很标准的模型,
因此工具更容易做到普适性。

但是很多时候我们测试的结果看着很漂亮,但是实际用户在使用的时候却感觉系统性能糟透了,
抛开场景本身在抽象后与实际场景的差异,这种测试时间和体验时间之间的较大差距就是基于请求-响应模型进行模拟时造成的时间失真。
而随着胖客户端的应用越来越广泛,基于请求-响应模型的性能测试结果与实际用户体验时间比较上的失真也变的越来越严重。
因此,一直对于此类场景测试中只能观测到服务器端的性能表现耿耿于怀,
脑海中也自己大概构思过一个基于事件-消息的测试模型。该模型主要以用户体验时间作为考评指标,即将前端作为测试对象。
在事件-消息的测试模型中,用户的每一个原子操作都是由一个或者多个事件组成的。

用户在真实世界的原子操作有两类:定位当前焦点和点击。
定位当前焦点:即找到要操作的对象;每一类对象都是一个事件;
点击:左键单击、右键单击、左键双击等每一个都是一个事件;

定位当前焦点的方法,类似于功能自动化测试,似乎又倒退回了UI的方式。
一旦涉及到UI,我们就容易联想到基于浏览器查找对象的各种效率低,说到这里,也就该正式介绍一下phantomjs。
PhantomJS 是一个基于 WebKit 的服务器端 JavaScript API。
它的渲染引擎就是QtWebkit,JS引擎是JavascriptCore(不是V8),大致上可以当作是一个没有GUI的Safari浏览器。
由于其不需要浏览器界面,因此,在执行效率上差不多能有一个量级的提升;
该效率的提升使的以前一直被诟病的基于UI模拟的自动化效率问题得到很大程序的解决。
从而在保证效率的同时,也可以让我们从前端体验出发,获取实际用户体验的时间。
另外,对于事件-消息的测试模型,测试的时候也不应该所有并发用户都一股脑的全都基于UI模拟,
这没什么意义,因为现实中不存在所有用户从一个客户端去操作,
所以只需要在原来请求-响应测试模型的基础上,增加1个事件-消息模型的用户就可以了。
这样既对服务器端的压力情况进行了模拟和观测,又兼顾了客户端的实际用户体验。
至于对用户体验时间的分解,我们可以使用Navigation Timing API获取到处理的每一个步骤的响应时间。
时间: 2024-11-09 00:11:31

关于测试工具以及前端性能测试的一些思考的相关文章

网站性能并发测试工具

网站性能并发测试工具 2012-05-05 22:04:26 分类: 项目管理 导读:随着Web 2.0技术的迅速发展,许多公司都开发了一些基于Web的网站服务,通常在设计开发Web应用系统的时候很难模拟出大量用户同时访问系统的实际情况,因此,当Web网站遇到访问高峰时,容易发生服务器响应速度变慢甚至服务中断. 随着Web 2.0技术的迅速发展,许多公司都开发了一些基于Web的网站服务,通常在设计开发Web应用系统的时候很难模拟出大量用户同时访问系统的实际情况,因 此,当Web网站遇到访问高峰时

前端性能测试工具

概要:要提升前端性能,有两大思路: 1>.减少页面加载所需要的时间. 2>.提升用户的观感,让用户觉得页面更快. 减少页面加载所需的时间,可以从请求的数量.请求的并发度及网络传输时间等方面来着手:而提升用户观感,则主要从让页面尽快开始显示入手. 常用的前端性能测试工具: 1.Apache Benchmark工具,简称ab,命令如下: ab -c[并发用户数量] -n[发出请求的数量] [被测试页面的URL] 2.Firebug工具 Firebug工具是一个备受推崇的.强大的Web开发工具,它提

【转】两款 Web 前端性能测试工具

前段时间接手了一个 web 前端性能优化的任务,一时间不知道从什么地方入手,查了不少资料,发现其实还是蛮简单的,简单来说说. 一.前端性能测试是什么? 前端性能测试对象主要包括: HTML.CSS.JS.AJAX 等前端技术开发的 Web 页面 影响用户浏览网页速度的因素主要有: 服务端数据返回.网络传输.页面渲染等 前端性能测试目的: 计算出包含页面渲染.网络传输以及服务器端解析等综合因素在内的加载时间指标,对该页面性能进行评估分析,找出影响性能的主要因素和瓶颈,并在此基础上,给出一定的优化建

用Docker安装Web前端性能测试工具YellowLabTools

一.YellowLabTools概述 1.YellowLabTools简介 Yellow Lab Tools:是一款开源的Web前端性能测试工具,具有一些在其他工具上无法看到的独特功能,如页面加载时,JavaScript与DOM互动和其他程序代码验证问题. Yellow Lab Tools 偏向于一个发现不良实践的工具,会综合页面权重.请求数.DOM.错误的Javascript.错误的CSS等方面取得一个综合评分.并显示出在加载页面的过程中,DOM 是如何相互影响. 2.YellowLabToo

WEB前端常用的测试工具

一.QUnit 前端测试工具 QUnit是一个强大的JavaScript单元测试框架,该框架是由jQuery团队的成员所开发,并且是jQuery的官方测试套件.Qunit是Jquery的单元测试框架,并且被广泛使用在各个项目中. 为了使用Qunit,你仅仅需要去包含2个Qunit文件在你的Html页面.Qunit 包含了qunit.js 作为运行器和测试框架,和qunit.css 文件,座位测试套件页面显示测试结果的样式. 二.Selenium 前端测试工具 Selenium 是ThoughtW

前端性能测试工具hiper介绍

对前端性能测试工具还不了解,在请教了旁边的前端同事后学习到了简单的工具,在这里总结下. 前端的性能测试测什么? 以下是复制: 渲染引擎工作流 dom树构建:从html标签的解析开始,将各种标签解析为dom树中的各个节点,标签和dom树的中的节点是一一对应关系. 渲染树构建:将CSS和style标签中的样式信息解析为渲染树,渲染树由一些包含有颜色和大小等属性的矩形组成,它们将被按照正确的顺序显示到屏幕上. 渲染树布局和绘制:渲染树确定各个dom节点在屏幕中单确切位置,根据渲染树中的颜色等信息绘制出

如何使用Apache的ab工具进行网站性能测试(Apache服务器自带了ab压力测试工具,可以用来测试网站性能,使用简单方便)

打开Apache服务器的安装路径,在bin目录中有一个ab.exe的可执行程序,就是我们要介绍的压力测试工具. 在Windows系统的命令行下,进入ab.exe程序所在目录,执行ab.exe程序.注意直接双击无法正确运行. 执行ab命令成功后,可以看到如图提示.该帮助很清楚详细的介绍了ab的用法以及各个参数的含义. ab 的用法是:ab [options] [http://]hostname[:port]/path 例如:ab -n 5000 -c 200 http://localhost/in

前端技术之:JavaScript测试工具

Mocha一个用于Node.js与浏览器端的简单.自由.有趣的JavaScript测试框架.https://mochajs.org/https://github.com/mochajs/mocha Jest一个令人愉悦的JavaScript测试框架.https://jestjs.io/https://github.com/facebook/jest Ava测试可能是个负担,AVA帮助你摆脱它.https://github.com/avajs/ava Jasmine一个用于浏览器与Node.js开

H5前端性能测试快速入门

说到H5测试,对于做WEB测试的同学来说再熟悉不过了,它包括页H5功能测试,前端性能测试,浏览器兼容性能测试,以及服务端性能测试.那本文谈到的则是H5前端性能测试,并希望通过阅读本文后,能够知道:H5前端性能测试什么?如何发现问题以及相应的优化规则. 一.浏览器渲染引擎 浏览器是Html解析和页面最终展示的工具,所以测试H5前理解浏览器的工作原理是必不可少的,具体可参考<浏览器工作原理>. 浏览器的主要功能 浏览器的主要功能是将用户选择的web资源呈现出来,它需要从服务器请求资源,并将其显示在