我有一个jmx脚本,用于执行功能和负载测试。
该脚本使用1个用户和多个线程用户测试一个简单的订单管理系统,该系统执行以下操作:
这些步骤成为jmx脚本中的步骤。
执行脚本时,我发现没有重大问题。 JMeter不会将任何错误报告为其收集性能指标和处理时间。
然而,在测试之后,当我们检查数据库(以及JMeter之外的系统本身)时 - 那些应该在我们运行JMeter测试时创建的订单没有被创建。
我假设当JMeter以虚拟用户身份登录并在UI上执行任何事务时,这些事务会看到他们进入数据库的过程。有一个端到端的交易。但似乎这不是这种情况。
有什么想法可能会导致这种情况发生? JMeter是否真的将UI上的操作一直推送到后端?
任何帮助都将不胜感激。
答案 0 :(得分:3)
首先,JMeter不是浏览器,它只复制服务器的流量。
其次,你是在添加断言来检查响应是否正确并包含它们应该包含的内容?
第三,你说你使用1个用户和N个线程,你的意思是你只有1个用户你多线程然后你测试是错误的,因为它会引发缓存,交易争用......
我建议您首先检查一个用户的脚本并查看结果树监听器。然后通过使用少量线程运行它们来检查用户。
最后进行实际负载测试。