Jmeter- Is It The Best For us For Performance Testing?
9
The goal of performance testing is not to find bugs, but to eliminate bottlenecks and establish a baseline for future regression testing. It's different from the stress testing as stress testing tries to break the system with a test by overwhelming its resources or by taking resources away from it (in which case it is sometimes called negative testing). The main purpose behind this madness is to make sure that the system fails and recovers gracefully -- this quality is known as recoverability. Performance testing has to run on projects in order to deliver our recommended system bench marks to customers, but what tools to use to get what we are searching for in a very simple, time-saving way?
Apache JMeter is one of the most recommended tools to use for performance testing; it's a 100% pure Java desktop application designed to load test functional behavior and measure performance for typically any front-end web application. We tend to use JMeter under both Windows and Linux. It has some assertions to ensure the correctness of the returned data, HTTP sampler elements.
JMeter has mainly 2 panels, the first to create test plan and the second is a workbench to store your test elements.
The Test Plan is where the overall settings for a test are specified; inside the plan you can add a thread group ( a thread Group defines a pool of users that will execute a particular test case against your server).
Some controllers and elements can be added to your test plan via Add command; I listed some of the important lists below:
- Samplers: perform the actual work of JMeter.
- FTP Request
- HTTP Request
- JDBC Request
- LDAP Request
- Configuration Element: Configuration elements can be used to set up defaults and variables for later use by samplers.
- FTP Request Defaults
- HTTP Cache Manager
- HTTP Cookie Manager
- HTTP Request Defaults
- Assertions: Assertions are used to perform additional checks on samplers and are processed after each sampler in the same scope.
- Response Assertion
- Duration Assertion
- Size Assertion
- HTML Assertion
- XPath Assertion
- Logic Controller: Logic Controllers determine the order in which Samplers are processed.
- Simple Controller
- Loop Controller
- Runtime Controller
- If Controller
- Include Controller
- Recording Controller
- Pre Processors: Pre processors are used to modify the Samplers in their scope.
- HTML Link Parser
- HTTP URL Re-writing Modifier
- HTML Parameter Mask
- HTTP User Parameter Modifier
- User Parameters
- Counter
- Post-Processors: As the name suggests, Post-Processors are applied after samplers.
- Regular Expression Extractor
- XPath Extractor
- Result Status Action Handler
- Save Responses to a file
- Generate Summary Results
- Timers:
- Constant Timer
- Gaussian Random Timer
- Uniform Random Timer
- Constant Throughput Timer
- Synchronizing Timer
- BeanShell Timer
- Listeners: Most of the Listeners perform several roles in addition to "listening" to the test results. They also provide means to view, save, and read saved test results.
- Sample Result Save Configuration
- Graph Results
- Assertion Results
- View Results Tree
- Aggregate Report
- View Results in Table
- Monitor Results
- Aggregate Graph
- Summary Report
Perhaps in my next blog I'll talk more about using and manipulating JMeter with its different elements.
References:
- JMeter help
- user manaual
- Performance vs. load vs. stress testing
Written By:
Heba Hosny
Comments
Post a Comment
eSpace podcast Prodcast
Archive
Latest Comments
- zxdvcs Commented on Reading Arabic in a PuTTY Connection
- zxdvcs Commented on Reading Arabic in a PuTTY Connection
- Ed Hardy Commented on Check Out Our iGoogle Gadgets
- Ed Hardy Commented on Thin, the thin server that can!

