【问题标题】:Data driven load testing with Visual Studio - where are web tests generated?使用 Visual Studio 进行数据驱动的负载测试 - Web 测试在哪里生成?
【发布时间】:2015-03-16 04:54:16
【问题描述】:
我在 Visual Studio 2013 中设置了一个 Web 性能测试和负载测试项目,该项目使用基于本地 SQL Server 数据源的数据驱动的 Web 测试。最终,我想设置一个测试控制器和测试代理,以便分配来自多个客户端的负载。
我的问题是关于控制器和代理的架构。每个测试代理是否还需要访问为 Web 测试生成内容的数据源,或者 Web 测试(及其动态参数)是否在控制器处生成然后分发给测试代理?
下面是我找到的架构图:
【问题讨论】:
标签:
visual-studio-2013
performance-testing
load-testing
data-driven-tests
【解决方案1】:
代理不需要访问数据源。负载测试控制器安排将所需数据部署到正确的代理,以便他们可以运行测试。
大大简化:控制器被指示运行负载测试。它收集测试套件和数据源值。它在可用代理之间拆分虚拟用户,并将测试套件和数据源值部署到这些代理。然后代理运行单独的测试,每个测试用例的动态数据方面都在代理中处理。当单个 Web 测试完成时,它们的结果被传回控制器,并将数据写入 SQL 结果数据库,它还向 Visual Studio 提供数据,用于在负载测试运行时显示的图形等。详情请见this Microsoft page。
一个复杂的问题是数据源的处理取决于所选的访问方法。对于顺序和随机,所有数据的完整副本都会发送给每个代理。对于Unique,数据被分成几部分,每个代理得到一个部分,从而保持所需的“每个数据值只使用一次”。详情请见this Microsoft page。