Saturday 28 November 2015

Introduction To JMeter

JMeter is an open source software by Apache Software Foundation, a 100% pure Java application designed to measure performance. Initially it was designed to test Web Application but later expanded to test other test functions.

The protocols supported by JMeter are:
  • Web – HTTP, HTTPS.
  • SOAP / REST
  • FTP
  • Database via JDBC
  • LDAP
  • Message-oriented middleware (MOM) via JMS
  • Mail – SMTP(S), POP3(S) and IMAP(S)
  • MongoDB (NoSQL)
  • Native Command or Shell Scripts
  • TCP

Following are the features of JMeter:
  • As it is open source software, it is available for free.
  • JMeter is a platform-independent software. On Windows it can be invoked by starting the jmeter.bat file and on Linux it cab be invoked by clicking the JMeter shell script.
  • JMeter stores its test plans in XML format.
  • JMeter is a multi-threading framework allows concurrent sampling by many threads and simultaneous sampling of different functions by separate threads group(Users).
  • JMeter can also be used to test automated and functional testing of the application.

Following are the terms you will encounter frequently while using JMeter:
  • Test Plan – A test plan describes a series of steps JMeter will execute when run. A test plan can consist of one or more Thread Groups, Controllers, Samplers, Listeners, Timers, Assertions and Configuration elements.
  • Thread Group – Thread Groups is a collection of groups.Basically each thread represents one user running against the Application Under Test(AUT). It is the starting point under the test plan.
  • Samplers – Samplers are the way to send all types of requests to server supported by JMeter.
  • Controllers – Controllers allows you to control when to send a user request to a server. There are various type of controllers such as logic controller etc., we will discuss those in detail in later posts.
  • Listeners – Listeners are nothing but way to show the results of samplers in form of tables, graphs, trees or in simple text format.
  • Timers – While sending requests JMeter thread sends request without any pause between each sampler. Timers allows you to define a period to wait between each request.
  • Assertions – As it is self defined word provides the capability to include some validation on the response of the request sent. By using different assertions we can assure that sent request is returning correct or expected data.
  • Configuration Elements – There are various configuration elements in JMeter, it works very closely with samplers and can only be accessed inside the three branch where it is placed. It allows to create defaults and variables to be used by samplers.
Stay tuned to see more updates on JMeter.



References: http://jmeter.apache.org/