测试应用程序性能和压力
本主题适用于:
Visual Studio 旗舰版 |
Visual Studio 高级专业版 |
Visual Studio 专业版 |
Visual Studio 学习版 |
---|---|---|---|
若要确定软件响应各种使用级别的程度,可以执行负载测试。 负载测试通过模拟同时访问软件程序的多个用户,对该软件程序的预计使用情况进行建模。
Visual Studio 旗舰版允许对本地负载测试运行使用多达 250 个虚拟用户。 如果负载测试需要更多虚拟用户,或者您希望使用远程计算机,则必须购买 Visual Studio Load Test Virtual User Pack 2010。 可以在购买 Visual Studio 旗舰版的地方购买 Visual Studio Load Test Virtual User Pack 2010。 有关更多信息,请参见使用测试控制器管理负载测试的虚拟用户许可证和为负载测试配置测试控制器和测试代理。
如果您的模型是高使用率模型,例如有成千上万用户同时访问网站,您将需要多台计算机以生成足够的负载。 为此,可以设置一组计算机来生成大量的模拟测试负载。 这组计算机由一个或多个测试控制器和一个或多个测试代理组成。 测试代理运行测试,可以生成模拟负载。 测试控制器协调测试代理并收集测试结果,并且必须使用一个或多个 Visual Studio Load Test Virtual User Pack 2010 来配置。 有关如何设置测试控制器和测试代理的更多信息,请参见使用测试控制器和测试代理在多台测试计算机之间分发负载测试、设置测试计算机以运行测试或收集数据和安装和配置 Visual Studio 代理以及测试和生成控制器。
提示
还需要根据每个测试控制器需要的虚拟用户数购买 Visual Studio Load Test Virtual User Pack 2010 许可证。
负载测试由一系列 Web 性能测试或单元测试组成,这些测试在存在多个模拟用户的情况下运行一段时间。 负载测试通过**“新建负载测试向导”**创建。
提示
负载测试还可以包括自动编码的 UI 测试。 只应在特定情况下包括编码的 UI 测试。 有关更多信息,请参见在负载测试中使用编码的 UI 测试。
向负载测试添加 Web 性能测试时,您会模拟多个用户同时连接到一台服务器并发出多个 HTTP 请求的过程。 可以对广泛应用于各个 Web 性能测试的负载测试进行属性设置。
在负载测试中使用单元测试通过 API 使用服务器。 通常,这用于通过厚客户端或除浏览器之外的其他服务器服务访问的服务器。 一个示例是具有 Winforms 或 WPF 前端并使用 WCF 与服务器通信的应用程序。 在此情况下,您将开发调用 WCF 的单元测试。 另一个示例是通过 Web 服务调用服务器的不同服务器。 此外,两层客户端还可以直接调用 SQL。 在此情况下,您可以开发直接调用 SQL 的单元测试。 有关单元测试的更多信息,请参见使用单元测试验证代码。
负载测试可用于几种不同的测试类型:
测试类型 |
说明 |
---|---|
冒烟测试 |
确定在短时间内负载较小时应用程序如何执行。 |
压力测试 |
确定在较长时间内负载较大时应用程序是否能成功运行。 |
性能 |
确定应用程序的响应能力。 |
容量计划测试 |
确定在各种容量下应用程序如何执行。 |
若要更改负载测试的属性,请使用**“负载测试编辑器”**。 这些属性允许您使用不同的用户配置文件、浏览器目标和负载模式来运行 Web 性能测试。 测试结果存储在基于 SQL 的负载测试结果储存库中。 有关更多信息,请参见管理负载测试结果储存库中的负载测试结果。
在**“负载测试分析器”**中既可以查看正在运行的负载测试,又可以查看已完成的负载测试。 有关更多信息,请参见分析负载测试运行。
在负载测试分析器中查看正在运行的测试
任务
通过下列主题可了解如何设置和使用测试控制器和测试代理:
关键任务 |
相关主题 |
---|---|
负载测试和 Web 性能测试入门:您可以执行 Web 测试和负载测试演练中的操作,以熟悉如何创建、编辑、运行和查看负载测试和 Web 性能测试的结果。 |
|
创建性能和压力测试:使用 Microsoft Visual Studio 旗舰版,可以创建负载测试以度量性能和压力。 |
|
设置负载测试的运行方式:可以设置负载测试的运行方式来检查它们是否工作正常。 可以使用一组计算机来生成用于测试的模拟负载,还可以同时在多台计算机上远程运行测试。 还可以为负载测试配置“运行”设置。 运行设置是影响负载测试的运行方式的一组属性。 在“属性”窗口中,运行设置按类别进行组织。 |
|
运行负载测试:可以运行负载测试,并在测试运行时查看结果。 |
|
分析负载测试运行:可以分析负载测试的结果并在应用程序中找出瓶颈、识别错误并测量改进的效果。 |
|
查看 Web 性能测试结果:使用 Web 性能测试结果查看器可以查看 Web 性能测试的结果。 |
|
管理负载测试结果:可以通过负载测试编辑器使用“打开和管理负载测试结果”对话框来管理负载测试结果。 您可以打开、导入、导出和移除负载测试结果。 运行负载测试时,在运行负载测试期间收集的任何信息都可以存储到“负载测试结果储存库”中,这是一个 SQL 数据库。 “负载测试结果储存库”包含性能计数器数据和有关已记录错误的任何信息。 |
|
报告负载测试分析趋势:可以使用负载测试结果来创建 Microsoft Excel 报告,以帮助确定趋势和性能级别。 |
|
开发自定义负载测试和 Web 性能测试插件:可以使用负载测试 API 和 Web 性能测试 API 编写自定义负载测试和 Web 性能测试插件。 |
|
负载测试问题疑难解答:如果负载测试有问题,可能必须要解决这些问题。 |
安全性
负载测试文件和负载测试结果包含的潜在敏感信息可用于生成针对您的计算机或网络的攻击。 负载测试和负载测试结果包含计算机名称和连接字符串。 在与他人共享测试或测试结果时应注意这一点。
外部资源
视频
论坛
Visual Studio Web Performance and Load Testing(Visual Studio Web 性能和负载测试)
博客
Ed Glas’s Blog(Ed Glas 的博客)
Sean Lumley’s Blog(Sean Lumley 的博客)
Bill Barnett’s Blog(Bill Barnett 的博客)
Howie Hilliker’s Blog(Howie Hilliker 的博客)
快速参考指南
Visual Studio Performance Testing Quick Reference Guide(Visual Studio 性能测试快速参考指南)