Where we learn technology

WHY SHOULD WE USE JMETER FOR PERFORMANCE TESTING

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.

Scripting knowledge is not required to build test plans

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 supports multiple scripting languages 

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 free and open source

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. 

Free support 

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. 

Customized reports can be generated 

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.

Real world workloads can be simulated

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.
Throughputs ,

JMeter supports many protocols

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
  • FTP
  • Database via JDBC
  • LDAP
  • Message-oriented middleware (MOM) via JMS
  • Mail – SMTP(S), POP3(S) and IMAP(S)
  • Native commands or shell scripts
  • TCP
  • Java Objects

Easy to create the test plans

Test plans creation can be started with recording feature available with JMeter. Also BabBoy software can be used for exporting the recorded flows into JMeter test plans. Some commercial tools based on Jmeter can be used for creating the JMeter scripts easily. Fore example Blazemeter’s Chrome plugin.

Distributed Testing 

JMeter can be used for simulating large number of users accessing the system concurrently or simultaneously. Virtual users will have to be distributed among few load agent as one machine may not be able to create all required threads (virtual users)

Mobile application testing is supported 

JMeter can be used for recording the requests sent from the device to the servers through its proxy configuration. Hence JMeter can be used to record the requests from mobile applications and web applications running on Android and iOS devices.

Comprehensive documentation 

JMeter has comprehensive documentation available online. It covers from installation, configuration, creating basic test plans , components reference, best practices , extending JMeter and much more. 
Component references, function references etc can be accessed readily from context menu, shortcuts or menu. A copy of user manual and api documentation is shipped with the installation and available for offline access.

User friendly IDE 

JMeter GUI is very user friendly. Components can be added by just right clicking a node in the test plan. Components can be configured easily by filling the placeholders (input boxes ). 
GUI can be customized further for user need by configuring the properties ( in bin/JMeter.properties file). For example toolbar  display, look and feel, proffered GUI language can be customized by updating the respective properties in the property file.

Free learning material

A beginner can start with JMeter through self 
There are good collection of free online documentation , blogs , Q&As and videos available. There are paid online and public training programs available around the world.

Third party plugins

JMeter capabilities can be extended through pluggable components (samplers , timers , listeners etc). Free custom JMeter plugins can be accessed from https://jmeter-plugins.org/. The plugins can be managed (install, uninstall) easily through the plugin manager interface.
User has access for commercial plugins covering custom features. For example UBIK Load Pack Plugins. https://ubikloadpack.com/. UBIK also do custom JMeter plugin development on demand too. 

Highly customizable

6 Comments

  1. sriram

    Hats off to your presence of mind..I really enjoyed reading your blog. I really appreciate your information which you shared with us.

    software testing course in chennai

  2. Unknown

    I really enjoyed ur tutorial. Please share selenium automation tutorial using python in YouTube . Now every company preferred python.

  3. Unknown

    Good Post! Thank you so much for sharing this pretty post, it was so good to read and useful to improve my knowledge as updated one, keep blogging.

    Python Training in electronic city

    DataScience with Python Training in electronic city

    AWS Training in electronic city

    Big Data Hadoop Training in electronic city

    Devops Training in electronic city

    ReplyDelete

  4. .

    Thank you, You have spent good time I guess to write this kind of good articles, there is link for xpath, please do read it.relative XPATH in Selenium webdriver

  5. viswanath

    AWS Training in Bangalore – Live Online & Classroom
    myTectra Amazon Web Services (AWS) certification training helps you to gain real time hands on experience on AWS. myTectra offers AWS training in Bangalore using classroom and AWS Online Training globally. AWS Training at myTectra delivered by the experienced professional who has atleast 4 years of relavent AWS experince and overall 8-15 years of IT experience. myTectra Offers AWS Training since 2013 and retained the positions of Top AWS Training Company in Bangalore and India.

    IOT Training in Bangalore – Live Online & Classroom
    IOT Training course observes iot as the platform for networking of different devices on the internet and their inter related communication. Reading data through the sensors and processing it with applications sitting in the cloud and thereafter passing the processed data to generate different kind of output is the motive of the complete curricula. Students are made to understand the type of input devices and communications among the devices in a wireless media.

  6. Unknown

    Really a very helpful Article. Thank You.

Leave a Reply

Your email address will not be published. Required fields are marked *