VK9217
VK9217

Reputation: 47

Right way to performance test scenarios in Jmeter

Im currently load testing an application which includes scenarios such as login, create ticket, modify ticket, search ticket and log out. I used http recorder to record samplers and can replay the test for the required number of users

But the problem is when I look at the results, the response times I see would correspond to the end to end scenario which is in the order of multiple seconds.

Eg: loading home page takes 5 seconds because it authenticates the user login and loads the appropriate home page. But when someone sees the response times they would wonder why it takes 5 seconds just to load the home page and might end up saying the application performance is poor.

I don't know if I'm doing the right way to load test application scenarios. Should I remove the samplers that aren't directly making calls to the authenticate or such scenario related requests? Or should I keep them but clearly articulate in my report the fact that it's all end to end times for a scenario as it'd load during ui interaction? How to determine the performance of the solution in this case?

Please can someone guide me.

Upvotes: 0

Views: 781

Answers (2)

Rahul Jadhav
Rahul Jadhav

Reputation: 463

Possibly there are two aspects to the problem. One of it is answered by Dmitri to make the request behave like a real browser would do assuming it is a web application.

Other aspect is reporting and it has to be dealt with case-by-case basis.

Usually, business owners are concerned with how fast a transaction happens and that is answered by rps of APIs. This is true for banking domains. However, if you are dealing with e-commerce applications like amazon or content aggregator like msn, you are more concerned with media content viz. images and video.

I usually separate rps of APIs and rps of API + static content (html, css, js, images, fonts, etc...). This gives right interpretations to users

An extension to this, define what success looks like. For business owners (non-technical group), rps, tps, etc.. terms makes no sense. Try to find some meaningful insights (KPI) like for e-commerce applications - Successful Orders places in an hours, Total Payment done in an hour, etc... this has more impact then just reporting numbers in milliseconds.

If you are dealing with architect level person, you can talk in technical terms

You could try applying this reporting strategy to your application and see if it makes difference.

Upvotes: 0

Dmitri T
Dmitri T

Reputation: 168247

There is one rule: well behaved JMeter test must produce the same network footprint as the real user using the real browser does. See How to make JMeter behave more like a real browser article for instructions on properly setting up JMeter for web applications performance testing.

With regards to your "home page" - it should be only one request (HTTP Request sampler) probably containing embedded resources (images, scripts, styles, fonts, sounds, etc)

enter image description here

So in my opinion you should have at least 3 different samplers like:

enter image description here

all with different results.

If you want to "group" 2 or more samplers together into a business transaction - put them under the Transaction Controller which will return the cumulative execution time of its children:

enter image description here

Upvotes: 1

Related Questions