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