负载测试中的用户分布 Visual Studio

Users distribution in Load Test Visual Studio

我在 VS 中创建了负载测试项目。有 5 个场景被实现为正常的单元测试。 测试组合模型:基于开始的测试数量的测试组合百分比。 情景 A:10% 场景 B:65% 情景 C:9% 情景 D:8% 情景 E:8% 负载模式:步进。初始用户数:10。步骤用户数:10。步骤持续时间:10 秒。最大用户数:300。 运行时长:10分钟。

我想知道所有场景的负载是怎样的?用户在时间上如何在场景间分布?

如果我将 100 个用户作为初始用户数,那么 10 个虚拟用户(100% 的 10%)同时开始重播场景 A?他们完成后发生了什么?如果有人能向我解释用户分发的工作原理,我将不胜感激。

请使用正确的术语。负载测试中的每个 "Scenario" 都有自己的负载模式。这个答案假设有 5 个测试用例 A 到 E。

负载测试启动测试用例的确切方式没有定义,但文档非常清楚。此外,最初创建负载测试时使用的负载测试向导对测试组合模型有很好的描述。

负载测试还使用随机数来计算思考时间以及选择接下来 运行 的测试。这往往意味着最终测试结果显示执行的测试用例计数与所需百分比不同。

我对负载测试的观察使我相信它的工作原理如下。在不同的时间,负载测试会将当前执行的测试数量与应该处于活动状态的虚拟用户数量进行比较。这些时间是负载测试的时钟滴答作响和步进负载模式发生变化的时间,也是测试用例完成的时间。如果比较显示虚拟用户多于正在执行的测试用例,则启动足够的新测试以使数字相等。选择测试用例以匹配所需的测试组合,但请记住,选择中存在一些随机性。

您的步进模式最初是 10,每 10 秒步进 10,最多 300。最大用户数应该在(每步 10 秒)*(300 位用户)/(每步 10 位用户)= 300 秒之后=(5 分钟)。 运行 10 分钟的持续时间意味着增加 5 分钟,然后在最大用户数下稳定 5 分钟。

对于你问题的最后一段。给定相同的百分比但用户数恒定为 100,那么您会期望每个测试用例的初始数量接近百分比。因此,A 的 10 个,B 的 65 个,C 的 9 个,D 的 8 个和 E 的 8 个。当任何测试用例完成时 visual studio 将选择一个新的测试用例,尝试遵循测试组合模型,但是,正如我所说早些时候,选择有一些随机性。