Using Jmeter for load test:why "Record and Replay" method? - jmeter

I am a beginner working on jmeter. I am confused between the "Record and replay" method & the basic load test method (giving the url in the path and executing the test). Need help to distinguish between both - if possible with a good tutorial suggestion. Also how to do a "stress test" in the simplest way ?

The main idea behind web applications load testing is: your test must represent real user activities as close as possible.
How you implement it - it's up to you.
If you know exactly which requests you need to mimic - you're more than welcome to develop your test by manually adding HTTP Request samplers.
For those who are not very familiar with HTTP protocol it might be easier to go "record and replay" way. But remember, the chance that you will be able to successfully replay recorded test scenario is minimal, most probably your will have to perform correlation - handling dynamic request parameters.
With regards to tutorials, normally you should start with JMeter User Manual, especially pay attention to the following chapters:
Building a Web Test Plan
Building an Advanced Web Test Plan
You can also consider JMeter Academy - probably the fastest way of ramping up on JMeter

Related

Trying to Performance test an application developed in OJET technology. Which tool/protocol should I use for scripting?

Trying to Performance test an application developed in OJET technology. Which tool/protocol should I use for scripting? I tried HTTP/Web protocol with Jmeter and Load Runner. But that doesn't capture all the requests and responses at the javascript/browser level. Hence I am facing issues in correlating the dynamic values during test design. Hence, scripts fail during the replay. Currently trying to do it with Truclient Web protocol as an alternative. But I need to know which tool/protocol should I use for scripting?
According to OJET looks like this is a web app generator.
If you choose to start with JMeter use post-processor such as regex to catch and save every value that is needed for as arg in the next request.
Don't be afraid of these dynamic values. Try to follow next articles to get the idea.
None of tools will provide you automatic correlation without issue. Nor LoadRunner, nor Jmeter. It is always tricky.
Ask more specific questions when you start facing issue.
Jmeter catch correlations
You need to implement real user using your application with 100% accuracy in terms of network footprint
Both JMeter and/or LoadRunner are not capable of executing client-side JavaScript, the options are in:
Implement these JavaScript-driven network calls using scripting (in JMeter it will be JSR223 Test Elements)
Use a real browser, LoadRunner's Truclient protocol is basically a headless web browser, in JMeter can be integrated with Selenium browser automation framework via WebDriver Sampler
With regards to "which protocol/tool" to use:
Implementing JavaScript calls manually will take extra effort, however your test will consume less resources (CPU, RAM, etc.)
Using real browsers will take less efforts, but the test will consume much more resources (something like 1 CPU core and 2 GB of RAM per user/ browser instance) and you won't have metrics like Connect Time, Latency, etc.
LoadRunner TruClient. This will handle all of the Javascript executions and dynamic elements related to session, state, date/time, object identifiers, ... You will still need to appropriately handle user input items.

Creating JMeter scripts for ServiceNow applications

I am wondering if anyone was able to successfully create JMeter scripts for ServiceNow applications?
My challenge is that there are way too many recorded HTTP requests and JSONs in POST requests & response are huge and extremely hard to correlate dynamic values.
Welcome to Web 2.0
I'm afraid you will have to perform the correlation as the times where you could just replay the recorded test has gone.
If you're looking for a way of reducing effort required for the correlation implementation you can consider trying out an automated correlation solution like:
JMX Enhancer
BlazeMeter Proxy Recorder with SmartJMX export option
Otherwise you will have to wait until it's implemented in JMeter

Jmeter Best Practices and Reporting

I am new to Jmeter. so i want to know about what is jmeter best practices. can anyone explain shortly about Jmeter Best Practices?
Thanks in Advance
The main and only one "best practice" for Performance Testing and its subtypes (load testing, stress testing, soak testing) is: well behaved performance test must represent real application usage by real users as close as possible, otherwise the test doesn't make sense.
So keep it in mind while designing your test plan, for example if you are testing a web application you need to keep in mind that the real user is a real person sitting in front of real computer and using a real browser. So you need to:
Accurately mimic real user test scenario in terms of HTTP Requests
Make sure you properly configure JMeter to handle embedded resources (images, scripts, styles, fonts)
Make sure you handle Cookies
Make sure to send relevant HTTP Headers (User-Agent, Accept-Encoding, etc.)
Make sure JMeter is configured to represent browser cache
Real users need some time to "think" between operations so add reasonable delays using timers
Once you have test ready you can run it in command-line non-GUI mode and analyze results using HTML Reporting Dashboard.

JAVA API performance testing using GRINDER

i'm not sure if GRINDER is still best tool so far JAVA API performance testing tool. If anyone is using it, could you share your feedback? tx
I have used JMeter and Grinder and can tell you that grinder is awesome . JMeter is also great . Not sure why you will be testing a JAVA API.
Grinder is more like a programmers performance tester tool. Once you get a hang of it you will not lean away from it . The only complex part could be the recorded scripts that grinder generates .The initial recorded script can get you overwhelmed and you might think what have i picked up .
But actually it just a step by step script and easy to modify as per your needs.
Any performance testing will have only these steps .
Record - Generates the Initial Script of what you want to test.
Modify - Modify it as per you needs.For grinder you may require a basic knowledge of some scripting language. Many times this may not be required.
Test - Put the load you want to .Here you need to decide the number of threads plus agents .
My vote is for grinder specially for complicated scenarios.

Can you performance test Siebel applications using JMeter?

Is it possible to record JMeter scripts for performance testing Siebel?
Siebel uses a custom format for ENCODING its requests plus some necessary technical parameters.
So it's possible provided it's the http module but rather hard job as there are a lot of correlations to do on technical IDs.
For recording, see this:
JMeter record Siebel CRM System
You can use this commercial plugin that will do auto-correlation for you:
https://ubikloadpack.com/
Yes, it is possible to test Siebel with JMeter. I have done so for one of my projects with my client TataSky where I have used JMeters distributed testing approach for generating upto 2000 users with 4 - 5 normal desktops. Siebel uses http protocol so it is finally about understanding the requests sent by browser and responses by the web-server and correlating between them. It gets really messy though, so my suggestion is correlate parameters which are mandatory.
You can use JMeter-Siebel-plugin which provides Siebel HTTP(S) Test Script Recorder test element handy for capturing and correlating Siebel traffic.
The plugin can be installed using JMeter Plugins Manager
Check out Introducing the Siebel CRM Correlation Plugin in JMeter article for comprehensive instructions.

Resources