我使用JMETER 4.0创建了一个性能测试套件,我有多个测试用例,分为2个片段,我从一个线程调用它们。以下是两个片段中的测试用例类型。
测试片段1:用户
上的CURD操作测试片段2:从MongoDB和API获取用户计数并进行比较 测试片段1中的测试用例首先根据线程计数多次运行,然后从第二次片段运行开始测试用例
在测试片段2中,我有这两个测试用例
TC1:从mongoDB获取用户数(使用JSR223采样器)
TC2:使用API
获取用户数当第二个测试片段运行时,测试用例从mongoDb获取用户计数与使用API直接获取计数的测试用例相比给出了不同的计数。 API正在谈论更新mongoDB中的数据的时间,因为可能有一些层需要时间来更新数据库中的数据(我不确定哪个层存在以及为什么需要时间准确)。当我为单个用户运行脚本时脚本工作正常,所以毫无疑问脚本出了问题。
有人请建议我们可以使用哪种方法来获得相同的数量。
一个。添加定时器/延迟或其他可以使用的是一种好方法吗?
湾如果使用定时器/延迟也影响性能测试报告,这些延迟是否会在我们的性能测试报告中加起来?
答案 0 :(得分:1)
可能是您面临race condition的情况,即当您使用一个线程从数据库执行读取操作时,该数字已经使用另一个线程更新。
选项包括: