我试图了解当数据有状态时如何对 POST HTTP 请求进行负载测试。
为了清楚起见,这里有一个例子:
当触发 POST HTTP 请求时,数据将从 A -> B 发生变化。相同的数据(现在是“B”)无法被触发,因为业务逻辑只接受“A”。
处理此类测试的技术是什么?
可重复性是测试最重要的特征之一。
您的“编写脚本”方法将导致请求之间存在差距,并给系统带来额外负载(即您将需要触发至少一个额外请求来“恢复”状态)
良好的测试应该使系统处于与测试之前完全相同的阶段。最快、最简单的选择是根据需要进行数据库转储,其中包含尽可能多的处于
A
状态的记录,运行测试,然后恢复转储,以便被测系统处于初始状态。
如果不可能,您可以在负载测试工具级别上进行,例如Apache JMeter提供: