代码之家  ›  专栏  ›  技术社区  ›  Karan Desai

在Visual Studio中,要为REST API负载测试选择哪个测试组合模型选项?

  •  0
  • Karan Desai  · 技术社区  · 6 年前

    我已经创建了WebTest文件,现在使用WebTest文件添加新的负载测试。WebTest文件包含我的会话的API快照,该快照执行多个REST API,包括POST、GET等。Web性能测试正在成功通过。

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

    Screenshot1

    对于负载测试场景,有以下测试组合模型选项:

    1. 基于测试总数

    2. 基于虚拟用户的数量

    3. 基于用户速度

    4. 基于顺序

    我提到了那个官员 documentation 但我仍然无法理解要使用的模型组合,以及每个组合所产生的差异和性能影响是什么?

    1 回复  |  直到 6 年前
        1
  •  2
  •   AdrianHHH    6 年前

    因为您只有一个Web测试,所以我建议使用基于测试数量的测试组合。但实际上,除了用户速度之外,任何组合都应该是合适的。

    四种试验混合物的行为如下所述。我建议仔细阅读问题截图中显示的单词,以及其他混音的相关单词。上面的图表是用来建议如何混合。


    由于只有一个Web测试,因此“顺序”组合没有用处。仅当您有多个测试(例如, A , B C )它们需要按照这个顺序重复运行(即 A B C A B C A B C ... A B C )每个虚拟用户(VU)。

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

    当您希望尽可能快地运行Web测试(在指定的VU数量内并允许思考时间)时,将使用其他两种测试组合。区别在于如何选择运行Web测试。当只有一个Web测试时,两个混合具有相同的效果。对于多个Web测试,一个组合尝试使执行的Web测试数与组合中指定的比率(百分比)匹配。另一种组合试图使运行每个测试的VU数与比率匹配。

    假设我们有测试: 40%时, 30%时, 20%和 D 10%时。使用基于测试总数的测试组合,我们希望每个测试执行的数量接近所述的百分比。假设我们有20个VU和一个基于用户数量的测试组合,那么我们期望8个VU运行测试 ,6个Vus运行测试 ,4个Vus运行测试 和2个Vus运行测试 D .