在Visual Studio中为REST Api负载测试选择哪个测试混合模型选项?

问题描述 投票:0回答:1

我创建了WebTest文件,现在使用WebTest文件添加新的Load Test。 WebTest文件包含我的会话的api快照,该会话执行多个REST Apis,包括Post,Get等.Web性能测试成功通过。

我正在使用Visual Studio中的负载测试向导创建负载测试,我被要求选择测试组合模型,如屏幕截图所示:

Screenshot1

您的负载测试场景有以下测试混合模型选项:

  1. 根据测试总数
  2. 基于虚拟用户的数量
  3. 根据用户的节奏
  4. 基于顺序

我提到了官方的documentation,但是我无法理解使用哪种型号组合以及每种组合产生的差异和性能影响是什么?

visual-studio testing visual-studio-2017 performance-testing load-testing
1个回答
2
投票

由于您只有一个Web测试,我建议根据测试次数使用测试组合。但实际上除用户节奏外的任何组合都应该是合适的

四种测试混合物的行为如下所述。我建议仔细阅读问题中屏幕截图中显示的单词,以及其他混音的相关单词。上面这些单词的图表旨在表明混合是如何工作的。


由于只有一个Web测试,“顺序”混合没有用。它仅在您有多个测试时使用(例如,ABC),并且它们需要由每个虚拟用户(VU)以该顺序(即A B C A B C A B C ... A B C)重复运行。

当您希望Web测试以固定速率(每小时N次数)运行时,可以使用“用户速度”组合,以将稳定负载应用于被测系统。假设测试D需要大约40秒执行,并且速度设置为每小时30次测试。然后我们期望系统为每个VU启动每2分钟测试一次(因此在执行之间空闲约100秒)。现在假设还有测试E需要大约15秒执行,其速度设置为每小时90。然后每个VU应该每40秒运行一次测试E。所以现在每个VU以这些速率运行测试DE。测试D想要每个VU时间每小时30 * 40秒并且测试E想要90 * 15秒,因此我们每小时使用30 * 40 + 90 * 15 = 2550秒。所以每个VU都有足够的时间来运行这两个测试。如果测试需要更长时间或需要更快的速率,那么每小时可能需要超过3600秒。这是不可能的,我希望在测试运行时会看到有关它的错误或警告消息。

当您想要尽快运行Web测试时(在指定的VU数量内并允许思考时间),使用另外两个测试混合。区别在于如何选择运行Web测试。当只有一个网络测试时,这两个混合具有相同的效果。通过多个Web测试,一个混合尝试使执行的Web测试数量与混合中指定的比率(百分比)相匹配。另一个混合尝试使每个测试运行的数字VU与比率相匹配。

假设我们进行了测试:A为40%,B为30%,C为20%,D为10%。使用基于测试总数的测试组合,我们预计每次测试的数量将接近所述百分比。假设我们有20个VU和基于用户数量的测试组合,那么我们预计8个VU运行测试A,6个VU运行测试B,4个VU运行测试C和2个VU运行测试D

© www.soinside.com 2019 - 2024. All rights reserved.