I heard about JMETER before as the free web site load testing tool but never used it.
My experience includes working with Load Runner for a couple of years for performance and load testing so I thought that there is not much to learn from a free tool.
After watching the videos, I am still convinced that the difference between the paid tool (Load Runner) and the free one (JMETER) is big since the sophistication of Load Runner is high.
But, JMETER can work pretty well in many cases too.
I am digressing from what I had in mind .....
After watching the videos, I realized that learning to use JMETER can have a very nice side effect for a tester.
There are many things that have to be mastered before creating and running a successful load test:
- regular expressions: important for finding values in the web page content
- web proxy: a web proxy is being used by JMETER to record a web script
- creating scripts: after the web proxy generates the script, the script needs to be modified so that the script parameters can be "parameterized" (not great English, I know; what i mean is that the script should be able to use multiple values for the same parameter; imagine that a web page has a category parameter; the script should be able to use sports, business, home and decor as possible values for the category parameter); the "parameterization" is done usually through external data files
- find, save and re-use browser session variables: the session variable is generated usually as soon as the user opens the site and all other site pages need it; this uses regular expressions most of the time
- assertions: assertions will verify that the page returned for a web request is actually the correct page; this is done by checking for information in the web page content
- set up load test configuration info: to do this, a basic understanding of HTTP requests, HTTP headers, cookies, cache is important
- listeners: the listeners provide the results for each web script after the script is executed
- results reports: these reports include information like throughput, samples, min, max, average, etc
- server concepts: to run a load test, multiple computers will be needed: some of them will just send the requests to the target system (slaves), then you have the master server which controls the load test and the target system which hosts the application under test
So far, I just summarized some concepts that can be easily found in the JMETER user guide.
Learning JMETER will not be easy or quick especially for a tester that does not have a technical background and has no previous exposure to load tests and load testing tools.
What is the second benefit, however, of learning JMETER?
Learning about all key concepts for JMETER will improve the technical knowledge of the tester a great deal.
Technical knowledge is very handy when deciding to start on test automation or even on security testing.
It also allows the technical tester to do much more than just black-box functional testing.