
What is JMeter ?
JMeter is a powerful testing software that is used for load/performance testing and functional testing. It was originally made for web applications but now it can be used for testing desktop applications as well. JMeter is an opensource Apache Jakarta project. JMeter is also used as a unit test tool for JDBC database connections, FTP, Webservice, etc. JMeter can be used for monitoring server performance and load (web, database, etc).
JMeter history
JMeter was first developed by Stefano Mazzocchi of the Apache Software Foundation. He wrote it primarily to test the performance of Apache JServ, which was later replaced by the Apache Tomcat Project. JMeter has since been developed and has expanded to load-test FTP servers, database servers, and Java Servlets and objects. Today, it has been widely accepted as a performance testing tool for web applications. Various companies, including AOL, have used JMeter to load-test their websites and SharpMind of Germany has used JMeter for functional and regression testing its applications and its clients.
JMeter features
JMeter may be used to test performance on static and dynamic resources such as static files, Servlets, FTP servers, Java Objects, Databases, Perl/CGI scripts, Queries, and more. In order to test and measure the robustness of an HTTP or FTP server/network, testers need to provide simulation of multiple and different types of loads on these system objects. JMeter can help them do exactly that, and on a greater scale too. Besides that, its graphical tools allow you to make better analysis of performance under heavy loads.
If you need to further test the functional behavior of your applications, there are tools in JMeter that can help you perform regression tests on your applications. Simply, its assertion tools, in addition to the test scripts, help to ensure whether your application is returning the expected results or not. Scalability and flexibility are also inherent in this aspect, as you can extend the assertions using regular expressions.
JMeter tools
-
User simulation tool: When testing an application, you need to simulate a number of users to perform load/performance testing or functional testing. JMeter has an element called ‘thread group,’ from which you can set the number of users and you can set a schedule for the testing.
-
Samplers: a JMeter sampler is the element that defines the type of application that your testing. For example, if you are testing a web application, you would use the http sampler, from which you can set the targeted http address. Another example would be if you are testing a webservice/soap then you use the soap sampler.
-
Controllers: In automated functional testing, you need some kind of flow control elements that will give you the ability to simulate how your application is expected to work, and for that JMeter has logical controllers.
-
For setting up test/application configuration and global data, JMeter provides you with configuration elements that help you set http and ftp defaults. You can also load test data to be used in your test using the CSV Data Set Config element.
-
Timers: When testing your application, your main goal is to simulate real life users. For example, the time that a user takes to use a function within your application varies among users, therefore JMeter provides the timer element, allowing you to set fixed or random delays to make your test close to reality as possible.
-
Pre-processor elements: For example, when JMeter performs testing, if the response was html you can use the html pre-processor element to parse and view the html response.
-
Assertion tools: When performing functional testing, you would like to know if your application is returning the right response to the user. For example, if the user enters an invalid email then you will expect a message telling the user that the email address entered is invalid. JMeter provides assertion elements that read the response and compare it with the pre-setup expectations and inform you if the response matches what is expected or not. This is a very powerful tool for functional testing.
-
Reporting tools: Analyzing test results determines the quality of your application. JMeter provides listeners to store, analyze and report data in different ways. For example, you can use the graph result listener to store results in a statistical graph and use other listeners to store test results within a table.
JMeter home page
http://jakarta.apache.org/jmeter/
JMeter tutorials
http://jakarta.apache.org/jmeter/usermanual/index.html
Apache JMeter “A practical beginner’s guide to automated testing and performance measurement for your websites”.




Related posts: