使用 Visual Studio 的数据驱动负载测试 - Web 测试在哪里生成?

Data driven load testing with Visual Studio - where are web tests generated?

我在 Visual Studio 2013 年建立了一个 Web 性能测试和负载测试项目,该项目使用基于本地 SQL 服务器数据源的数据驱动的 Web 测试。最后我想设置一个测试控制器和测试代理,以便从多个客户端分配负载。

我的问题是关于控制器和代理的架构。每个测试代理是否还需要访问为 Web 测试生成内容的数据源,或者 Web 测试(及其动态参数)是否在控制器中生成然后分发给测试代理?

下面是我找到的架构图:

代理不需要访问数据源。负载测试控制器安排将所需数据部署到正确的代理,以便它们可以 运行 测试。

大大简化: 控制器被指示进行 运行 负载测试。它收集测试套件和数据源值。它将虚拟用户拆分到可用的代理程序中,并将测试套件和数据源值部署到这些代理程序。代理然后 运行 单独的测试,每个测试用例的动态数据方面都在代理内处理。当单独的 Web 测试完成时,它们的结果将传回控制器并将数据写入 SQL 结果数据库,它还向 Visual Studio 提供数据以用于显示为负载测试 [=29] 的图表等=]秒。有关详细信息,请参阅 this Microsoft page

一个复杂的问题是根据所选的访问方法处理数据源。对于 SequentialRandom,所有数据的完整副本将发送给每个代理。对于 Unique,数据被分成几部分,每个代理得到一份,从而保持所需的 "use each data value only once"。有关详细信息,请参阅 this Microsoft page