使用有状态数据进行负载测试 [POST http 请求]

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

我试图了解当数据有状态时如何对 POST HTTP 请求进行负载测试。

为了清楚起见,这里有一个例子:

当触发 POST HTTP 请求时,数据将从 A -> B 发生变化。相同的数据(现在是“B”)无法被触发,因为业务逻辑只接受“A”。

我能想到的想法...

处理此类测试的技术是什么?

  1. 为此目的在数据库中创建大量“A”记录。 (但是我认为这是不可能的,因为我们正在尝试进行负载测试,我可能会触发比我尝试创建的记录数量更多的 API)
  2. 编写脚本。通过在下一次呼叫之前将相同数据重置为原始状态来执行挂机前/挂机后操作。 (我这里有一个问题,pre/post hook 是否会需要额外的时间来重置它,从而导致负载测试结果指标不准确?)
load-testing test-data
1个回答
0
投票

可重复性是测试最重要的特征之一。

您的“编写脚本”方法将导致请求之间存在差距,并给系统带来额外负载(即您将需要触发至少一个额外请求来“恢复”状态)

良好的测试应该使系统处于与测试之前完全相同的阶段。最快、最简单的选择是根据需要进行数据库转储,其中包含尽可能多的处于

A
状态的记录,运行测试,然后恢复转储,以便被测系统处于初始状态。

如果不可能,您可以在负载测试工具级别上进行,例如Apache JMeter提供:

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