使用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. Spark使用总结与分享

    背景 使用spark开发已有几个月.相比于python/hive,scala/spark学习门槛较高.尤其记得刚开时,举步维艰,进展十分缓慢.不过谢天谢地,这段苦涩(bi)的日子过去了.忆苦思甜,为了 ...

  2. Codeforces Round #385 (Div. 2) B - Hongcow Solves A Puzzle 暴力

    B - Hongcow Solves A Puzzle 题目连接: http://codeforces.com/contest/745/problem/B Description Hongcow li ...

  3. Initialize the Storage Emulator by Using the Command-Line Tool

    http://msdn.microsoft.com/en-us/library/azure/gg433132.aspx To initialize the storage emulator Click ...

  4. Quartz.Net 作业调度后台管理系统,基于Extjs

    Quartz.Net是一个开源的.非常灵活的作业调度框架,具体使用方法和教程:http://www.cnblogs.com/shanyou/archive/2007/08/25/quartznettu ...

  5. Window Server IIS6.0部署webservice请求调用提示请求失败

    在一台window server 2003机器上部署了一个webservice,iis为6.0,奇怪的是.在服务器本机调用webservice成功了,可是在其它client调用却反馈失败.详细什么原因 ...

  6. [转]Raspberry Pi做成路由器

    http://raspjason.blog.51cto.com/8565009/1426561/ 曾经看到很多文章把Raspberry Pi制作成无线AP,但是我今天要做的是把Raspberry Pi ...

  7. Centos 6.5 下安装socket5代理

    ---恢复内容开始--- 1. 安装 先安装依赖库 yum -y install gcc gcc-c++ automake make pam-devel openldap-devel cyrus-sa ...

  8. hdu1251在词典里统计前缀出现的个数

    banana band bee absolute acm    ba b band abc #include<iostream> using namespace std; //数据结构 s ...

  9. 在Win8.1系统下如何安装运行SQL Server 2005 (以及安装SQL Server 2005 Express打补丁)

    在Win8.1系统下SQL Server 2005 安装失败怎么办? 需要替换两个文件及打sqlserver sp4补丁. 以下是操作过程. 按正常情况,在Win8/Win8.1系统下安装微软的SQL ...

  10. 【转】如何判断Javascript对象是否存在

    Javascript语言的设计不够严谨,很多地方一不小心就会出错. 举例来说,请考虑以下情况. 现在,我们要判断一个全局对象myObj是否存在,如果不存在,就对它进行声明.用自然语言描述的算法如下: ...