使用Web性能测试可以很容易地创建一组可重复的测试,从而帮助我们分析web应用程序的性能,找到性能瓶颈。

Web性能测试可以验证一个Web应用程序的行为是否正确。它们会向目标Web应用程序发布一组有序的HTTP/HTTPS请求,然后分析每个期望的响应行为。利用集成的Web Test Recorder可以记录通过浏览器窗口与目标Web站点所进行的交互活动,并以此创建一个测试。当测试录制完成后,可以使用这个Web性能测试按相同时序重复这些录制操作。

Web性能测试可以作为生成负载测试的基础。而可编程用户界面测试则用于测试用户界面的行为和布局是否正确。

在创建Web性能测试之前,需要一个用于测试Web的应用程序。

运行Web性能测试的Web站点通常(但不要求)驻留在本地开发环境的计算机上。如果是对远程计算机进行测试,那么就必须创建一个虚拟目录或Web站点并部署示例应用程序。可能还要再本地计算机上创建一个虚拟目录。

创建web性能测试的方法主要有三种:

  第一种方法是使用Web Test Recorder,这也是迄今为止最常用的方法。
  第二种方法是手动创建一个测试,然后使用Web Test Editor添加每个步骤,这种方法费时且容易出错,但可能是好的Web性能测试所需要的。
  第三种方法是创建一个可编码Web性能测试,它通过代码指定每个操作,自定义能力强。还可以从现有的Web性能测试生成可编码Web性能测试。

Web性能测试是以XML文件形式存储的,扩展名为.webtest:

在创建了Web性能测试之后,将启动一个浏览器实例,其中包含一个Web Test Recorder停靠窗口,如果未启动Web Test Recorder窗口,则需要在IE浏览器的Manage add-ons里面先启用它。

录制Web性能测试非常简单,可以像一般用户那样,在Web浏览器中使用Web应用程序,在这个过程中,Visual Studio会自动记录我们的操作,并将它们保存到web性能测试中。

Web Test Recorder一启动就会开始捕获IE发送和接收的所有HTTP/HTTPS流量,其中包括浏览器主页,可能还包括一些发送数据的浏览器插件和工具条。

在web性能测试录制完成后,单击stop按钮,关闭浏览器并显示Web Test Editor,其中包含了刚刚录制的Web性能测试。Web Test Editor将测试显示为一系列发送到Web应用程序的请求。经常需要使用Web Test Editor修改设置或向录制的测试中添加功能,包括添加验证、从web响应提取数据以及一个源读取数据。

单击Web Test Editor工具条中的Parameterize Web Servers按钮,单击change按钮,可以看到Change Web Server对话框,利用这个对话框可以对Web性能测试进行配置,既可以将其配置为使用一个标准的Web应用服务(如IIS),也可以将其配置为使用ASP.NET Development Server:

在执行Web性能测试之前,可能需要检查一下该测试运行时所使用的设置。

当一个测试包含Web性能测试时,可以使用Fixed run count 选项指定Web性能测试的具体执行次数。运行几次测试之后可以消除由客户机或服务器的系统问题所引起的错误性能计时,从而使我们可以对Web站点的实际性能有更好估计。

修改浏览器类型并不能帮助我们确定Web应用程序是否按指定浏览器类型期望的方式显示,因为Web性能测试只检查HTTP/HTTPS响应,不进行实际的页面显示。

单击Run按钮,即可运行一个 Web性能测试,当一个测试开始运行时,将出现一个专门负责执行Web性能测试的窗口:

Web Browser用于显示相应的呈现版本。Request选项卡用于显示提供给Web应用程序的详细内容,包括所有头和任意一个请求体,如果是一个HTTP POST请求,那么将显示所有头和一个请求体。Response选项卡用于显示Web应用程序发回的所有头和响应体。Context选项卡用于列出所有上下文参数及选中请求的值。Details选项卡用于显示所有已分配验证和提取规则的状态。

Web性能的更多相关文章

  1. Web性能优化:What? Why? How?

    为什么要提升web性能? Web性能黄金准则:只有10%~20%的最终用户响应时间花在了下载html文档上,其余的80%~90%时间花在了下载页面组件上. web性能对于用户体验有及其重要的影响,根据 ...

  2. 关于WEB 性能优化 (摘抄)

    压缩源代码和图片 JavaScript文件源代码可以采用混淆压缩的方式,CSS文件源代码进行普通压缩,JPG图片可以根据具体质量来压缩为50%到70%,PNG可以使用一些开源压缩软件来压缩,比如24色 ...

  3. Web性能--TCP的构成

    前言:阅读<Web性能权威指南>摘录笔记.在这本书开篇就读到第一句话令人印象深刻: "合格的开发者知道怎么做,而优秀的开发者知道为什么那么做". 内容大纲: 1.因特网 ...

  4. Web性能优化-合并js与css,减少请求

    Web性能优化已经是老生常谈的话题了, 不过笔者也一直没放在心上,主要的原因还是项目的用户量以及页面中的js,css文件就那几个,感觉没什么优化的.人总要进步的嘛,最近在被angularjs吸引着,也 ...

  5. web性能优化——浏览器相关

    简介 优化是一个持续的过程.所以尽可能的不要有人为的参与.所以能自动化的或者能从架构.框架级别解决的就最更高级别解决. 这样即能实现面对开发人员是透明的.不响应,又能确保所有资源都是被优化过的. 场景 ...

  6. Web性能API——帮你分析Web前端性能

    前端性能统计必备api,有不知道的吗? 正文从这开始- 开发一个现代化的互联网网站是一项复杂的任务,需要各种职能的密切合作以应对用户日新月异的需求.其中,网页的性能直接决定了用户的体验,而随着新型客户 ...

  7. HTTP/2 对 Web 性能的影响(下)

    一.前言 我们在 HTTP/2 对 Web 性能的影响(上)已经和大家分享了一些关于 Http2 的二项制帧.多用复路以及 APM 工具等,本文作为姊妹篇,主要从 http2 对 Web 性能的影响. ...

  8. HTTP/2 对 Web 性能的影响(上)

    一.前言 HTTP/2 于 2015 年 5 月正式推出.自诞生以来,它就一直在影响着网络性能最佳实践.在本篇文章中,我们将讨论 HTTP/2 的二进制帧.延迟削减.潜在利弊以及相应的应对措施. 超文 ...

  9. [转]Web性能监控自动化探索之路–初识WebPageTest

    本文转自:http://www.webryan.net/2013/01/use-webpagetest-to-analyze-web-performance/ 无论是从Velocity 2012还是在 ...

随机推荐

  1. Putty & Ctrl+s 的魔咒

    Long long ago“ 某些旧的”哑终端“会在发送过来的数据太多,显示速度跟不上时发送一个Ctrl+s让对方等一下,然后再准备好继续显示时发送一个Ctrl+q.Putty“兼容”了这个特性.也有 ...

  2. Android使用的设计模式2——策略模式

    今天讲解一下策略模式,策略模式也是很常用的设计模式,对多种算法或者数据结构选择使用的情况下,经常会使用策略模式来管理这些算法.下面会简单讲解一下策略模式的概念和基本实现.然后结合Android里面的实 ...

  3. 持续集成工具Hudson安装实例

    安装maven 下载maven,解压 [root@localhost local]# pwd /usr/local [root@localhost local]# -bin.tar.gz [root@ ...

  4. web跨域解决方案

    阅读目录 什么是跨域 常用的几种跨域处理方法: 跨域的原理解析及实现方法 总结 摘要:跨域问题,无论是面试还是平时的工作中,都会遇到,本文总结处理跨域问题的几种方法以及其原理,也让自己搞懂这方面的知识 ...

  5. How To Create a Personal Balance Sheet

    Calculating your personal net worth is the best way to know exactly what your starting point is, in ...

  6. 使用Eclipse进行远程调试【转】

    今天决定做件有意义的事,写篇图文并茂的blog,为什么要图文并茂?因为很多事可能用语言也说不明白,从以前我发表的一篇文章可以看得出来,http://blog.csdn.net/sunyujia/arc ...

  7. ooofc.com域名备案问题导致无法正常访问临时解决方案

    各位尊敬的easyradius用户: 由于临时收到ooofc.coom域名备案被删除的消息,之后ooofc.com就无法访问.导致用户无法访问控制台oa.ooofc.com,及用户中心user.ooo ...

  8. LNMP软件安装所在的目录详细

    LNMP相关软件安装目录Nginx 目录: /usr/local/nginx/MySQL 目录 : /usr/local/mysql/MySQL数据库所在目录:/usr/local/mysql/var ...

  9. httpwebrequest 服务器提交了协议冲突. section=responsestatusline

    调用接口的时候,包: httpwebrequest 服务器提交了协议冲突. section=responsestatusline 解决方案: req.KeepAlive = false; req.Al ...

  10. 领域驱动开发推荐代码示例 — Microsoft NLayerApp

    简介: Microsoft NLayerApp是由微软西班牙团队出品的基于.NET 4.0的“面向领域N层分布式架构”代码示例,在codeplex上的地址是:http://microsoftnlaye ...