asp.net|程序
用户体验对于 Web 站点的成功是非常必要的,所以确保每个特性适当的功能是非常重要的。在解决了所有的缺陷之后,必须在产品质量环境下测试应用程序。所谓产品质量环境是说下面这样的一个环境,这个环境模拟应用程序变成产品之后期望的负载。
有很多工具可以用于这类测试,包括微软的 Application Center Test(ACT)。微软提供了两种使用 ACT 的方式,一是作为独立产品使用,另外 Visual Studio .NET Enterprise Edition 也包含一个版本的 ACT。下面让我们细看一下如何使用这个工具访问一个 Web 应用程序。
得到 ACT
ACT 压力测试 Web 服务器,允许我们分析 Web 应用程序的性能和可扩展性问题。Visual Studio .NET Enterprise Edition 中的 ACT 并不限制为只测试使用 ASP.NET 构建的应用程序。比如说,使用它还可以测试任何类型的 Web 应用程序,包括 Active Server Pages(ASP),Java Server Pages(JSP)和 HTML。
ACT 通过模拟一大组用户以及打开很多到 Web 服务器的连接来测试 Web 应用程序。连接到服务器的客户向服务器发送 HTTP 请求。ACT 允许我们指定要模拟的用户/连接的数目。
除了标准的 HTTP 协议之外,ACT 支持各种可以在 Web 应用程序中使用的身份验证方案,包括流行的安全套接字层(SSL,Secure Sockets Layer)协议。
注意:在安装 Visual Studio .NET Enterprise Edition 时 ACT 是一个安装选项。在开始创建测试之前,应该正确地配置测试环境以保证能够得到可靠的测试结果。
对于如何建立在 ACT 产品中使用的测试环境,微软提供了以下指导原则:
测试环境应该只包含开发服务器或测试服务器。
开发人员应该尽量减少所有与测试无关的网络活动。而且,还要避免在同一个测试环境中同时运行多个测试。
对于一个压力测试,创建足够的 Web 服务器负载,使处理器的利用率至少达到 80%。
使用快速的网络组件,避免使用 HTTP 代理服务器。压力测试依赖于逐渐增加的负载等级,直到 Web 服务器或者应用程序变成瓶颈,这个时候停止增加负载。如果系统的任何部分比 Web 服务器或应用程序慢,那么就不可能测量出服务器或应用程序的最大容量。增加负载等级将不能解决这个问题。
在正确地安装了产品,设置好了测试环境之后,我们已经可以开始创建和运行测试了。
创建测试
在安装完 ACT 之后,可以将它作为一个独立工具使用,还可以通过 Visual Studio .NET 使用。如果要使用独立模式,可以在 Visual Studio .NET 安装位置的 Visual Studio .NET Enterprise Features 子目录下找到。而且,Visual Studio .NET 中还提供了 ACT Projects 的一个新项目类型。两种方式的功能相同,但是留在我们熟悉的 Visual Studio .NET 工作空间中是一个好的选择。因此下面我将集中在使用 Visual Studio .NET 界面。
主要组件是 ACT 项目。在 Visual Studio .NET 中通过使用 ACT Project 选项新建一个项目可以创建一个新 ACT 项目。ACT 项目文件是一个扩展名为 .act 的 XML 文件。此外,在项目设置中,Option 是一个代理服务器或端口(如果使用)的说明。这是我们在项目的 Properties 窗口中输入的值。
可以通过右键点击项目然后选择 Add New Item 往项目中添加一个测试。ACT 安装包括两个测试脚本(一个是 JScript,另外一个是 VBScript),以及一个用于记录浏览器会话的选项。最后一个选项是测试应用程序的尽可能简单直接的方法。
一旦选择了 Browser Recorded Test,就会打开一个具有 Start 和 Cancel 按钮的窗口。Start 按钮通过打开 Internet Explorer 的一个新实例开始记录过程。在那个 Internet Explorer 实例中发生的所有活动都将被记录起来。在结束后,可以返回 Browser Record 窗口然后选择 Stop。这样我们就可以选择 OK 将测试保存在项目中,或者取消这一过程。选择 Save 可以生成一个 VBScript 文件,这个文件包含记录测试的脚本。通过分析系统产生的脚本可以更多地了解 ACT 脚本的执行情况。
在会话停止记录之后,我们可以用它来测试应用程序。也就是说,我们可以将这个会话作为测试应用程序性能的基础。测试属性允许我们控制连接、测试等的数目。下面是对不同测试属性的一个概括:
Iterations:测试将运行的次数。
RunTime:测试将要运行的时间。
WarmupTime:测试在启动之前的等待时间。
Connections:测试模拟的连接数目。
测试实际上通过 Test 下拉菜单执行,在 Visual Studio .NET 位于 ACT 项目时菜单栏就会出现这个菜单。使用 Test 菜单可以启动和/或停止测试,还可以查看测试结果。测试结果显示在 Visual Studio .NET 工作空间的输出窗格中。
Browser Record 测试只是 ACT 提供的很多可能的测试中的一种。ACT 安装中的其它基本测试仅仅发送一个 HTTP 到一个指定的地址,但是 ACT 包括一个广泛的对象模型,我们可以使用这些对象模型来构建使用 VBScript 或者 JScript 的特征齐全的测试。