WHY SHOULD WE USE JMETER FOR PERFORMANCE TESTING
JMeter is one of the most popular, open source performance testing tools among the software testing professionals around the world. There are number of reasons for JMeter to be popular. We shall share some of the reasons in this post.
Test scripting is not essential to build performance testing test plans. Test plans can be built by adding and configuring available components in JMeter IDE. This allows beginners to create effective performance test plans without any scripting.
Learning or mastering a tool is not sufficient for a successful performance testing projects. Good understanding of the context, test planning, test design, test execution and test reporting is essential for a successful performance testing project.
JMeter do support the scripting. Advance users can use the scripting (example Java, Groovy, BeanShell scripting) to extend the ability of JMeter.
JMeter support number of scripting languages out of the box. It can support JSR223-compatible languages not configured with default settings. There are other languages supported than those that appear in the component drop-down list. Others may be available if the appropriate jar is installed in the JMeter lib directory
JMeter is an Apache project. The source is available to the community. JMeter source code can be modified and built for specific needs if required.
It can run on any platform
JMeter is developed using Java. Java applications can run on any platforms. Hence JMeter can be used on Windows, Mac , Linux or any other operating system when compatible JVM is available.
There is a huge community around the tool. There are active user groups in LinkedIN, Facebook , StackOverflow etc. Questions are answered within acceptable time period. The users can rely on the community for support questions.
There are organizations who provides commercial support too.
Reporting is one of the poor feature available in open source tools as compared to the commercial tools. Fortunately JMeter supports various reporting formats through available listeners and plugins. Also the test results can be upload to external reporting tools and generate commercial grade elegant reports.
There are number of listeners available out of the box for saving the test results. Test results can be loaded into the listeners to view the test results later too.
The test results can be loaded into third party tools (example blazemeter ) and generate the test reports.
There are number of plugins available for reporting.
It is possible to simulate various workloads using ThreadGroups, timers ,Logical controllers and config elements. Different users’ dynamic thinking timing can be simulated using wide range of available timers and third party plugins
User concurrency ,number of virtual users can be simulated using thread groups.
Jmeter supports not only the web applications. It supports wide range of applications, protocols and servers. Here is the list extracted from the official site.
- Web – HTTP, HTTPS (Java, NodeJS, PHP, ASP.NET, …)
- SOAP / REST Webservices
- Database via JDBC
- Message-oriented middleware (MOM) via JMS
- Mail – SMTP(S), POP3(S) and IMAP(S)
- Native commands or shell scripts
- Java Objects