• 1
  • 2
分享

一、页面性能测试概述

页面性能测试则是针对于页面性能优化而开展的一种性能测试,目的是对Web系统的页面进行测试以确认系统页面是否会影响系统的性能并为页面的优化提供依据与建议,最终提升系统的整体性能表现,提高用户体验满意度。可见,Web系统页面性能测试是相对Web系统后台测试的另外一种性能测试,是Web系统性能测试的一个重要部分。

二、页面性能测试必要性

相对于C/S架构的应用系统,Web应用系统所有数据都需要从服务器端下载,虽然浏览器有缓存机制,但客户每次访问仍然需要下载大量的数据。特别是用户对系统要求越来越高,除了要求功能完备,对界面的美观、易用性也提出了更高的要求,越炫的页面也就意味着页面中要包含更多的脚本、样式表、图片和Flash,页面的数据量也就越大,这对Web系统的性能提出了极大的挑战。

曾经有个在线打印服务的应用提供商说他们的系统不需要关注系统性能问题,没有必要进行性能测试,因为他们可以购买足够多的服务器来支撑系统;不少业界同行也认为只要有足够多的服务器资源,性能就不会存在问题。其实不然,他们都只关注到了应用系统的后台性能表现,而忽略了页面对系统整体性能的影响。举个例子,当一个页面中包含几百个请求,页面中没有经过优化的javaScript文件、CSS文件与图片件大小达到10MB,即使当前只有一个用户在访问该系统,页面的访问速度也会慢得惊人,纵使增加再多的服务器也不见得会有明显的性能提升。

可见,对Web应用系统的页面进行性能测试和优化是非常有必要的。只有通过对页面的性能测试,发现页面存在的性能问题并根据性能测试结果进行页面优化以提升页面的加载性能,从而提升系统的整体性能。在应用系统高并发访问时,更能体现出Web页面优化后所带来的系统整体性能提升效果。

两张种方式来提升你的web应用程序的速度:

  • 减少请求和响应的往返次数

  • 减少请求和响应的往返字节大小。

1、减少请求和响应的往返次数:

HTTP缓存是最好的减少客户端服务器端往返次数的办法。缓存提供了提供一种机制来保证客户端或者代理能够存储一些东西,而这些东西将会在稍后的HTTP响应中用到的。(即第一次请求了,到了客户端,缓存起来,下次如果页面还要这个JS文件或者CSS文件啥的,就不要到服务器端去取下来了,但是还是要去服务器上去访问一次,因为请求要对比ETAG值,关于这个值,我将会在下次翻译中介绍其作用)这样,就不用让文件再次跨越整个网络了。

缓存相关的请求头

为了提高性能,微软的IE和其他的web客户端总是想尽办法来维持从远程服务器上下载下来的本地的缓存。

当客户端需要一个资源(html,css.js…),他们有3种可能的动作:

  1. 发送一个一般的HTTP请求到远程服务器端,请求这个资源。

  2. 发送一个有条件的HTTP请求到服务器,条件就是如果它不同于本地的缓存版本。

  3. 如果缓存的拷贝可用,就使用本地的缓存资源。

当发送一个请求,客户也许会使用如下的几个HEADER

2、减少请求肯响应往返的字节大小:

  1. 使用更少的图画

  2. 将所有的CSS浓缩到一个CSS文件中

  3. 将所有的脚本浓缩到一个JS文件中

  4. 简化你的页时间

  5. 使用HTTP压缩

页面性能测试工具介绍:

第一种是通过HTTP代理的方式来截取客户与服务器之间的通讯。

1.png

此类的工具非常的多,如:

Charles是一个HTTP代理/HTTP监视器/使开发人员可以查看所有的计算机和互联网之间的HTTP和SSL/HTTPS流量的反向代理。这包括请求,响应和HTTP标头(其中包含的cookies和缓存信息)。

charles界面清爽,采用中国的瓷器为logo,给人的感觉简洁高雅。而且使用也非常简单。下载页面:http://www.charlesproxy.com/download/进入选择你适合你的版本,安装也非常简单,一路“next”就OK了。

2.png

点击工具栏上的“红色”按钮,就自动的记录你浏览器访问的所有网站。

Fiddler是一个Web调试代理,记录所有的HTTP(S)之间的计算机和互联网的交通。提琴手允许您检查交通,设置断点,和“捣鼓”传入或传出数据。菲德勒包括一个强大的基于事件的脚本子系统,并可以使用任何。NET语言扩展。

Fiddler是免费软件,可以调试,从几乎任何应用程序,支持代理,包括IE浏览器,谷歌Chrome,苹果Safari,MozillaFirefox中,歌剧,还有数千交通。您也可以像Windows电话,iPod/iPad和其他流行的设备调试的交通。

3.png

Fiddler2相比Charles功能要更强大一些。当然了,如果单单把他们理解成页面性能测试工具有此片面,尤其Fiddlers2功能强大,当然了,我也没有深究,在此就不过多评论了。


作者:虫师

原文链接:https://www.cnblogs.com/fnng/archive/2011/09/19/2181894.html

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 接口测试经常遇到的bug和问题,如下:传入参数处理不当,导致程序crash;类型溢出,导致数据读出和写入不一致;因对象权限未进行校验,可以访问其他用户敏感信息;---权限校验很重要状态处理不当,导致逻辑出现错乱;逻辑校验不完善,可利用漏洞获取非正当利益等。输入值的校验:特殊值处理不当导致程序异常退出;类型边界溢出取值范围外值未返回正确的错误信息等约束条件判断要充足判断后,状态转化要测试正确顺序执行是否能被打断或者乱序输出结果的校验:错误前端处理不足,导致前端异常;错误提示处理不当,导致用户看到晦涩的错误码;错误提示不当,导致用户不知道哪里出了问题,如何解决。未进行超时处理,导致整个流程阻塞超时...
            0 1 1965
            分享
          • 接口测试的目的是什么呢?随着互联网技术的不断发展,接口测试已成为软件测试中的重要环节,在项目的整个生命周期中都占有重要的地位。那么接口测试的目的是什么?1、接口测试可以确保系统功能的正确性。接口是软件系统中不同模块之间交互的重要途径,如果接口的实现不当,很容易导致系统故障和功能缺陷。因此,对接口进行测试是非常重要的,以确保接口的实现是正确的,接口之间的数据交互是正确的,以及接口的容错性是足够的。2、接口测试可以保证系统的可靠性。随着软件系统的不断扩大,接口之间的依赖性也在增加,如果一个接口出现故障,很有可能导致整个系统瘫痪。因此,对接口进行测试,可以提前发现潜在的问题,避免在生产环境中出现严重...
            0 0 1104
            分享
          • 软件测试是对项目研发过程的产物(文档,代码等)进行审查,保障产品质量的过程。我们可以通过手工测试,自动化测试,工具扫描等方法完成这个任务。其中,自动化测试是当前重要的一种测试方法,具有响应速度快、稳定性高、人工干预少的特点,很好的契合了高响应、海量数据验证等需求的测试任务。数据驱动是自动化测试的灵魂,数据驱动的应用程度直接决定了自动化测试的水平和质量。一、自动化测试和数据驱动如果你有100亩麦子需要收割,你会怎么做?方法一:拎起镰刀或者雇几个人拎起镰刀割麦子。方法二:制造或者购买一台收割机,然后开着收割机割麦子。显然,这两种方法都能完成任务,但是,方法二具有重资产、高效率的特点。测试就如同这割...
            1 1 1928
            分享
          •   摘要:当前国内企业的数字化转型正如火如荼的进行着,而随着各类软件应用在性能、功能、安全性等重要维度的要求越来越高,业界也对软件测试行业提出了新的挑战。  以兼容测试为例,传统的兼容测试因整体的测试管理较为陈旧,导致了测试流程规范性弱、测试工作效率低、人力成本高等种种问题,从而阻碍了测试需求单位的数字化转型步伐,还会因软件应用质量的问题给企业带来软件体验不佳、用户数量下降、行业排名下滑等严重后果。  Testin云测试专注于软件测试行业十数年,拥有丰富的测试行业经验,在业界率先把最新的AI技术广泛运用于兼容测试,为广大客户打造出数字化时代的一站式兼容测试服务,引领智能测试时代的技术风向。  ...
            0 0 1349
            分享
          •   据报道,最近,面对人工智能技术的新一轮火爆,马斯克等1000多名专家联合发表一封公开信,呼吁在确保安全之前暂缓先进人工智能的开发。日前,Meta的首席技术官安德鲁·博斯沃斯(AndrewBosworth)对公开信作出回应,表示这样的呼吁不切实际,也难以产生效果。  博斯沃斯表示,在人工智能领域,他认为投资于负责任的研发非常重要,Meta公司也一直在进行这样的研发和投资,但是,如果要停止某个技术的研发进程,然后要对未来进行的调整作出决策,这样是很难做到的。  博斯沃斯表示,在高科技面前,人类如果想知道如何保护自我、研发出安全可靠的技术,首先要了解新科技本身是怎样演进的。他认为,公开信呼吁暂停...
            0 0 614
            分享
      • 51testing软件测试圈微信