TrustRadius Insights for Apache JMeter are summaries of user sentiment data from TrustRadius reviews and, when necessary, third party data sources.
Pros
User-Friendly Interface: Many users have praised JMeter for its user-friendly interface, stating that it makes load testing and stress testing efficient and easy. They appreciate the clear documentation provided by JMeter, which helps them test their applications' performance and resolve any issues before going into production. The friendly and easy-to-use UI of JMeter contributes to its popularity among testers.
Powerful Load Testing Functionality: Users consider JMeter a powerful tool for analyzing product performance through load testing. They find it very useful for performing performance tests in a detailed manner and consider it more complete than other tools like NeoLoad and LoadRunner. The ability to automate JMeter tests and integrate them with Jenkins is seen as a major advantage by users. The availability of various testing features, including functional and automation testing, is also appreciated.
Flexibility and Customization: Users highlight the flexibility of JMeter, allowing for customization according to their specific needs. They value the ability to replicate real-time scenarios, efficiently manage cookies, and utilize thread groups. Additionally, they highly appreciate the abundance of information available on the web about building custom flows with JMeter. The flexibility of JMeter along with the availability of numerous plugins are highlighted as valuable features by users.
We use JMeter to test our platform application. It is used by the whole organization.
Pros
You can do customization for the script. I have to write a Java code for integration with two factor authentication. It is pretty straight forward with putting in customized Java code and libs.
It is more useful for power users instead regular users. Plugin can be easily added.
It is free and community supported.
Cons
Reporting and analytics
Likelihood to Recommend
JMeter is more useful for power user or relatively apps for limited changes.
We are doing test cloud-based applications with Apache JMeter. This is used only by my team and not across the organization.
Pros
Extending functional JMeter scripts for reliability testing.
Using the Module Controller to modularize reusable fragments.
JMeter's capabilities as a testing tool for RESTful APIs.
Cons
I think JMeter hangs up on large loads. I have seen JMeter becoming unresponsive in the middle of a test. It is because of garbage collection in JMeter. We use best practices to mute all listeners, use non GUI mode, etc., but even with many best practices JMeter pauses in between load tests.
The reporting feature can be improved to provide better test results.
Likelihood to Recommend
JMeter has great capabilities as a testing tool for RESTful APIs.
We currently use JMeter at one of our divisions in the organization to assess site/system performance, fixing any issues that arise and looking for regressions in performance. We do this on a yearly basis before our holiday peak comes. Although strategically, our test framework/tools team is standardizing the entire company to use another open source tool going forward called Gatling. But we have yet to complete full migration to it, so in the meantime we still use JMeter.
JMeter was selected initially when we started formalizing load testing at my division and was evaluated along with another tool called WebLoad. We picked JMeter for its ease of use, usefulness, and being open source which saved us licensing costs. We primarily use JMeter to generate HTTP requests against our websites, either simulating browser activity or making back end REST API calls.
Pros
Easy of use - in generate load like HTTP requests, and processing/analyzing the responses. No coding is necessary at the basic level, just need to understand load testing and the infrastructure being tested.
Automatic management of things like cookies to help with session state support - so you don't specifically have to worry about it or handle it
Lots of testing/configuration options to suit your needs in making the right load generation (sampling requests), and analyzing the results, including any pre and post processing of the results first. Things like the Beanshell/BSF pre/post processors, response assertion, regular expression extractor, XPath extractor, CSV data set config
There is a JMeter cloud service called BlazeMeter that I think would be useful for those that need to scale up high load without provisioning their own systems. I've not personally tried it though, but I recently attended a meetup presentation that highlighted nice useful features that BlazeMeter provides. One should evaluate the service if they are considering JMeter and need to expand beyond existing hardware resources.
Cons
Programmatic customization - for more lower level detailed programming fine tune control of load test actions and processing of results, one has to write a JMeter plugin and load that plugin with JMeter to use it. Or encapsulate the logic into something like a Java class and access that through Beanshell, etc. in the pre/post processor or sampler, etc. It provides somewhat less control of everything than some other tools like Gatling. Or at least it requires more effort and a greater level of understanding of the workings of JMeter internals than a normal user has.
Test plan reuse - by design JMeter doesn't work very well when you have frequent components that you reuse across tests or having different modular tests chained together to form a bigger load tests. It gets harder to do so as you scale up with more tests or more levels of testing. Though someone once pointed out to me you can deal with this to some extent using test fragments and encapsulate the reusable component configurations in a test fragment that you can import to other tests. The fragments would be like the test templates. I've personally not gotten around to trying that out though. The other approach is to abstract the common usage functionality/code into Java class (for use with Beanshell, etc.) or JMeter plugin and reuse that. And the lazy way most beginners would deal with reuse is copy & paste from one area to another or one file to another.
JMeter might not generate load as well as other test tools not being able to scale up the load as high. I personally have not observed this yet comparing different load tools. But our test frameworks/tools division has found that Gatling scales higher and better than JMeter for high concurrency load against the system. So just wanted to point that out.
Likelihood to Recommend
The key questions I would pose are: how high of a concurrent load do you need to generate against the system? How technically skilled are your personnel that will perform the load testing? How much programmable/scripting/code based control do you desire from the tool? Do you prefer more of a GUI based tool or a programmatic code/scripting based tool? JMeter will be for those that want a GUI, moderate to low scripting/code based control/programmability, moderate to low load generation, and for users experienced in the novice to expert range.