Introduction to Performance Testing – LoadRunner Training Tutorial Part 1

Today, we are starting the ‘Performance testing with LoadRunner’ tutorial series. This is the first tutorial in a three-part HP LoadRunner training series.

In the first two tutorials, we will introduce you to performance testing and in the last tutorial we will share ‘Load Testing with LoadRunner video tutorials‘.

See Also => List of all LoadRunner Video Tutorials.

Why Performance testing?

Performance testing has proved itself to be crucial for the success of a business. Not only does a poor performing site face financial

losses, it also could lead to legal repercussions at times.

Performance testing intro

No one wants to put up with a slow performing, unreliable site when purchasing, taking tests online, bill paying, etc. With the internet being so widely available, the alternates are immense. It is easier to lose clientele than gain them, and performance is a key game changer.

Therefore, performance testing is no longer a name sake checkpoint before going live. It is indeed a comprehensive and detailed stage that would determine whether the performance of a site or an application meets the needs.

Introduction

The purpose of this test is to understand the performance of an application under load, particularly for users.

Types of Performance Testing

Performance testing types

Load Testing

Load testing is a type of performance test where the application is tested for its performance on normal and peak usage. Performance of an application is checked with respect to its response to the user request and its ability to respond consistently within an accepted tolerance on different user loads.

The key considerations are:

  1. What is the max load the application is able to hold before the application starts behaving unexpectedly?
  2. How much data the Database able to handle before system slows or the crash is observed?
  3. Are there any network related issues to be addressed?

Stress Testing

Stress testing is used to find the ways to break the system. The test also provides the range of maximum load the system can hold.

Generally, stress testing has an incremental approach where the load is increased gradually. The test is started with a load for which the application has already been tested. Then, more load is added slowly to stress the system. The point at which we start seeing servers not responding to the requests is considered the breaking point.

During this test, the functionality of the application is tested under a heavy load.  On the back-end, the functionality might be running complex queries, handling data, etc.

The following questions are to be addressed:

  • What is the max load a system can sustain before it breaks down?
  • How is the system break down?
  • Is the system able to recover once it’s crashed?
  • In how many ways system can break and which are the weak node while handling the unexpected load?

Volume Testing

Volume testing is to verify that the performance of the application is not affected by the volume of data that is being handled by the application. In order to execute a Volume Test, a huge volume of data is entered into the database. This test can be incremental or a steady test. In the incremental test, volume of data is increased gradually.

Generally, with the application usage, the database size grows, and it is necessary to test the application against a heavy database.  A good example of this could be a website of a new school or a college having small amounts of data to store initially, but after 5-10 years, the data stores in the database of the website is much more.

The most common recommendation of this test is the tuning of DB queries which access the database for data. In some cases, the response of DB queries is high for a big database, so it needs to be rewritten in a different way or the index, joints etc need to be included.

Capacity Testing

=> Is the application capable of meeting business volume under both normal and peak load conditions?

Capacity testing is generally done for future prospects.  Capacity testing addresses the following:

  1. Will the application be able to support the future load?
  2. Is the environment capable of standing for the upcoming increased load?
  3. What are the additional resources required to make the environment capable enough?

Capacity testing is used to determine how many users and/or transactions a given web application will support and still meet performance. During this testing, resources such as processor capacity, network bandwidth, memory usage, disk capacity, etc. are considered and altered to meet the goal.

Online Banking is a perfect example of where capacity testing could play a major role.

Reliability/Recovery Testing

Reliability Testing or Recovery Testing – is to verify whether or not the application is able to return back to its normal state after a failure or abnormal behavior and how long does it take for it to do so (in other words, time estimation).

If an online trading site experiences a failure where the users are not able to buy/sell shares at a certain point of the day (peak hours) but are able to do so after an hour or two, we can say the application is reliable or recovered from the abnormal behavior.

In addition to the above sub-forms of performance testing, there are other fundamental tests that are prominent:

Smoke Test:

  • How is the new version of the application performing when compared to previous ones?
  • Is any performance degradation observed in any area in the new version?
  • What area should developers focus on in order to address performance issues in the new version of the application?

See also => Smoke testing in functional testing.

Component Test:

  • Determines whether the component is responsible for the performance issue.
  • Determines whether the component is doing what is expected and component optimization has been done.

Endurance Test:

  • Determines whether the application will able to perform well enough over a certain period of time.
  • Looks for any potential reasons that could slow the system down.
  • Uses a third party tool and/or vendor integration and to determine if there is any possibility that the interaction makes the application slower.

How does Functional Testing differ from Performance Testing?

Functional vs Performance Testing


Identification of components for testing

In an ideal scenario, all components should be performance tested. However, due to time & other business constraints, that may not be possible. Hence, the identification of components for testing happens to be one of the most important tasks in load testing.

The following components must be included in performance testing:

#1. Functional business critical features

Components that have a Customer Service Level Agreement or those having complex business logic (and are critical for the business’s success) should be included.
Example:  Checkout and Payment for an E-commerce site like eBay.

#2. Components that process high volumes of data

Components, especially background jobs are to be included for sure. Example: Upload and download feature on a file sharing website.

#3. Components which are commonly used

A component that is frequently used by end-users like jobs scheduled multiple times in a day, etc.
Example: Login and Logout.

#4. Components interfacing with one or more application systems

In a system involving multiple applications that interact with one another, all the interface components must be deemed as critical for a performance test.
Example: E-commerce sites interface with online banking sites for payments, which is an external third party application. This should definitely be part of Perf testing.

Tools for performance testing

Sure, you could have a million computers set up with a million different credentials and all of them could login at once and monitor the performance. However, it’s not practical and even if we do that, we still need some sort of monitoring infrastructure.

The best way this situation is handled is through – virtual user (VU). For all our tests, the VU behaves just the way a real user would.

For the creation of as many VUs as you would require and to simulate real time conditions, performance testing tools are employed. Not only that, Perf testing also tests for the peak load usage, breakdown point, long term usage, etc.

To enable all with limited resources fast and to obtain reliable results, tools are often used for this process. There are a variety of tools available in the market- licensed, free wares and open sourced.

A Few of such tools are:

  • HP LoadRunner,
  • Jmeter,
  • Silk Performer,
  • NeoLoad,
  • Web Load,
  • Rational Performance Tester (RTP),
  • VSTS,
  • Loadstorm,
  • Web Performance,
  • LoadUI,
  • Loadster,
  • Load Impact,
  • OpenSTA,
  • QEngine,
  • Cloud Test,
  • Httperf,
  • App Loader,
  • Qtest,
  • RTI,
  • Apica LoadTest,
  • Forecast,
  • WAPT,
  • Monitis,
  • Keynote Test Perspective,
  • Agile Load, etc.

See Also => List of top 15 Performance Testing tools

The tool selection depends on budget, technology used, purpose of testing, nature of the applications, performance goals being validated, infrastructure, etc.

HP Load Runner captures majority of the market due to:

  1. Versatility – can be used on windows as well as web based applications. It also works for many kinds of technologies.
  2. Test Results – It provides in-depth insights that can be used for tuning the application.
  3. Easy Integrations – works with diagnostics tool like HP Sitescope and HP Diagnostic.
  4. Analysis utility provides a variety of features which help in depth analysis.
  5. Robust Reports – LoadRunner has a good reporting engine and provides a variety of reporting formats.
  6. Comes with an Enterprise package too.

The down side is its license cost. It is a little bit on the expensive side – which is why other open source or affordable license tools that are specific to a technology, protocol and with limited analysis and reporting capabilities have emerged in the market.

Still, the HP LoadRunner is a clear winner

Future in Performance Testing Career

Performance testing is easy to learn but need lots of dedication to master it. It’s like a math problem where you have to build your concept. Once the concept is through, it can be applied to most of the tools irrespective of the scripting language being different, straight forward logic not being applicable, look and feel of the tool being different, etc. – the approach to Perf testing is almost always the same.

I would highly recommend learning this hot and booming technology to enhance your skills. Mastering PT could be just what you are looking for to move ahead in your software testing career.

Conclusion

In this article we have covered most of the information required to build a base to move ahead and understand Performance testing.  In the next article, we will apply these concepts and understand the key activities of Performance testing.

Next Tutorial => How to Performance Test an Application

LoadRunner is going to be our vehicle in the journey, but the destination we want to reach is understanding everything about performance testing.

Stay tuned!

About the Author: Chetan Kaushal is helping us for this ‘Performance testing with LoadRunner’ tutorial series. He has over 6 years of experience working on performance testing projects using HP LoadRunner and Performance Center tools.

In the meantime, if you have any questions related to performance testing, load testing, or LoadRunner please ask them in the comments below.




Recommended reading

70 comments ↓

#1 Topher

Thank you so much for this great article. It really informative. Keep up the good work :)

#2 Kiran

Can you please add tutorial of Jmeter.

#3 Rakesh

Nice article to know the funda of performance testing

#4 Pravin

Many Thanks for sharing this articles.

#5 Udara

Can you please add tutorial for selenium & Jmeter.

#6 Udara

can u pls add tutorials for selemium & jmeter.

#7 Pallavi

Thanks for this article. Good information shred for performance testing basics.

Along with Load runner can you please share tutorial for performance testing tool – Cloud test.

#8 Ankit

when we will grt its second tutorial ? After 2 3 days ihave to work on load runner.so pls post it soon :(

#9 Sachin

Great Documentation on the Performance testing terms (statements) .. :)

Now, the question which always arrives in my mind about performance testing is –

What is the actually time to do (start) performance testing ?

As we know the performance testing deals with load, stress, Volume testing…., so is that mean we should do performance testing at the end of development process, or if not……. then what is the relevant way to begin with performance testing in Software Project ?

Kindly elaborate your points on above issue.

#10 Bhavesh

Thanks for such a informative articles on performance testing.

#11 sathish

Good Article

#12 Yogesh

How to decide the application performance is good or poor?
Suppose there is application take 1 hr to send the 1GB file to database,So how to decide its performance?

#13 Ashu

I would like to pursue my software testing career ahead into performance testing. what are the job opportunities available in this respect to performance testing.

Please suggest

#14 sarvesh

Thanx Vijay for this greate intresting article……..thanx again…

#15 Chetan

Thanks everybody for appreciating the article and work.

#16 Chetan

@Kiran, @Udara- We will definitely consider your request. Thanks

#17 Chetan

@Sachin-Previously when Performance testing was not given so much importance so it was done at the end and whatever were the minimum changes required to tune the application after the performance testing were considered . But now industry is very much aware of need of Performance testing. So the culture is now to have “Built to Performance” application where performance of application is checked from time to time.

Developers check the performance of their code in unit testing through profilers. And when a functionality is ready to test, Performance team starts their performance testing and give feedback to Dev team so that they can fix the performance issues along with the release of next functionality. So with each release Dev team keep adding functionality and tuning the application in their integration phase.

#18 Bamidele

You have tremendously educate me about performance testing. Thanks.

#19 Vijay

@ Ankit – Video tutorials will be on Monday.

#20 Anusha

when can we get the next part of tutorial and practical session?

#21 Kedara

Thank you and please also help us on Selenium…:)

Thanks In Advance

#22 Sumit Jaiswal

It’s great article for the Beginner’s.
I would be expecting more practical example’s, apporach , and solution to the error’s which we encountered while creating Load Script’s and Performance Test.

Hope you full fill my expectation.

All the Best.

#23 priyanka

Great article!! Can u please provide tutorials for JMeter…
:)

#24 Sachin

@ Chetan.

Thanks a lot Sir !

Firstly you understan dmy Question very much exact.
and the answer is great along with the Software Development Track.

Really Nice :)

Thanks,
Sachin

#25 Sachin

@ Yogesh.

Below are two bullet points i would like to mention (for answering you) –

1. PM (Product Manger) should decide the Performance limits. and if your Application (software) full fill the limits than the Performance is as Expected.

In your example first you should know what is the expected behaviour (expected speed) and then you can say it is Good or Poor.

2. Performance Testing has Load testing, Stress Testing, Volume Testing… (you can see in tutorial above).
So if all this Testing Results are Good (Actual Result = Expected Result) then the performance is Good and if not you can guess it.

Your nots are Welcome !

#26 Anthony

Excellent article to understand the need of Performance Testing.

#27 Merlyn

Thanks. Excellent material.
Looking forward to the tutorials which I expect to cover not merely basics.

#28 Pravin

Hello Chetan,
Thanks,Really helpful material.
Please tell me how to write performance testing test cases manually.
pravinyeole04@gmail.com

#29 Ritu

Thanks for article

#30 chetan J

Thanks for your efforts Chetan Kaushal. i am the old reader of this blog can we start same tutorial for Jmeter I am interested in Jmeter because of open source, any help from your side will be helpful.

#31 Gourav Soni

Hello Sir,

I am very thank full to you that u understand me, what is performance testing exactly…thanks alot my blassings are with you….

Keep it up sir……

#32 Sudhakar

Thankq so much for providing very useful information :-)

#33 Sangram Kumar Das

Thanks for this Article. This is a nice Documentation on the Performance testing terms and statements.

Looking forward to your next article.

#34 Girish

Thanks! Amazing artical on Performance Testing.
Good Work Thank you so much.

#35 Dipesh

I just want to know that theoritically the article was best and can we have practise of this at home…I mean to say is it essential that we should work in a corporate for getting full hands on experience of load runner.

We can learn it from here but where can we practise these steps any link from where we can download.

#36 ade

Can some please tell me what problems they have faced doing perf testing and how it was resolved..?

#37 prakash

hello sir,actually i am a begginer for load runner and i know all the basics.but i want to learn loadrunner scripting using c.and i search everywhere.so can anyone please help me to how to start the scripting part.

#38 Rajesh

Hello Sir

It was a wonderful article about Performance Testing.
Was very interesting to go through …and was helpful as well.
Thank you so much for taking the interest in creating such pages..

#39 Sher

Hi Vijay !

I’ve one query about automation testing. Is there any open source automation testing tool available that support flex based applications?

Need your thoughts on it.

Regards,

Sher

#40 Mukta

Hi Chetan,

I am a manual testing professional with 5 yrs.of experience. I want to switch to automation industry now. Could I please request you to help me which automation tool I should go into. I have knowledge of qtp and have done 1 small project of mobile application as well. I have done functional testing of web services using SOAP UI but not fully into the tool. I am befazzled about which one I should go in? Which tool/technology will help me in career growth? I thought to prepare loadrunner by myself, hence explored your site and found it very useful n informative. Could you pl.suggest will these tutorials of loadrunner be enough to enter in performance testing automation or to clear interview? Will you cover any project to make us understand practically how to start performance testing using loadrunner? Is there any programming language or scripting lang.required to learn loadrunner? I am not able to take any decision in regardence of qtp, selenium, loadrunner, mobile testing, soap ui…please help me.Looking forward for your suggestions, I hope you won’t disappoint me. Thanks n Best Regards!

#41 srikanth

I wanted to learn testingtools. .can you pls help me out for complete course soft copy. ..&materials which u have…
I am middle class family.i can’t pay money…I am providing my contact& e mail ids…pls share d video tutorials to my mail id..

Mob:8099174104 email:kvrsrikanth6@gmail.com. ..waiting

#42 Nitin Sharma

Highly informative. Thanks for sharing.

#43 Kallem Rajender

Good and basic required information provided.
Good for beginers.

#44 Neha Srivastava

hello sir,
This article is very helpfull to me. I have two year experiance on PHP development, But now I want to switch into testing field.Currently I am not working anywhere. I dont have any idea about automation testing. Will you please help me to make my carrer in software testing.

#45 Vivek

I need to test a software for performance which will have lot of servers in it with proper IP Address, does any of the performance testing tools support creating virtual servers as many as needed for testing.

#46 mahendra

Good 1 to a fresher whoz going 2 start the career of performance testing

#47 Karthi

I want to thank for the information, it really helpful to know a bit of what is performance testing? . I have one year experience in Manual Testing with background of B.E (ECE), As I am planning to learn Loadrunner,but i don’t have any programming or scripting language so far..Is that create any conflict to learn loadrunner..or do i need to know any programming language to learn..please advise i will decide my career based on your kind reply

#48 Madhura Deshmane

It is good article for beginner in performance Testing

#49 Aditya Deshpande

I want to learn how the performance is tested using load runner or any other testing tool.
If any one is having notes or any study material please forward it to my mail id.

#50 Santhosh

It is really great one for beginner

#51 Vamsi

Nice article and i can kick start my PT prep..:)

#52 KIRAN

good article

#53 Anna

Please let me know you can train on load runner advanced topics onsite?

#54 MANOJ

Thank you so much now my eyes are opened i will start my career in performance testing as a load runner …

#55 Pooja

Really helpful,Thanks!!

#56 kashiv

Hi Vijay sir, this article is really helpful for beginners . I am planing to switch my carrier in performance testing and I am having an 1.7 years of experience in manual testing . Can you please guide that this much of experience is sufficient for switching into performance testing.

Sir please guide me.

#57 siva

Hi Chetan Kaushal,
i liked your article.I want to learn LR correlation topic and analysis part in depth..
Are you providing any online training /instuite on this.if not,can you please suggest any websites where i can learn this indepth

#58 piyush

Great Article sir!!

#59 Vijay Mehta

Hi Chetan,

I am 54 years old and have bachelor degree in electrical engineering. I have been thinking for a long to switch my career in IT. I explored a field of my interest and Load Runner seems me good to get into it. I download the tutorials from HP site and also got installed Load runner 12.0.
The problem I am facing is connecting with the web tour application server. The HP has a comment if the file is not saved in default the web application connection will not be possible. I have not understood it if the load runner has been installed on my machine and appears in my all programs button how this can be not in default files.
Can you please help me to get it installed properly so that I could also take advantage of your lectures to learn it with practice?

#60 Praveen Sahu

Thanks for this article.

#61 srini

is there any material on performance testing metrics and they are read or understood from the performance standpoint

#62 Srini

Under what condition we would be in a position stating the code base is good for production

Entry and exit criteria checklist

#63 Ganesh

Very Informative and useful article

#64 Subhash

It’s Very Useful Article.

#65 Avinash

Hi,

I have over 2.5 years exp in performance testing using load runner and currently working as a Java dev from past 1.3 yrs.

Total exp:2.5+1.3 yrs.

Which is a better carrier option Perftesting or Java Dev.
Please advice.

#66 Rakesh

Hi Vijay Mehta,

Load Runner is just a tool to implement Performance testing. Learning just Load Runner will not take you any where. You need to read and know about Performance testing, HTTP concepts, World Wide Web Concepts, Network concepts and general concpets on how web applications work. Having a fair understanding of all these concepts is more essential than knowing load runner. Once you know these concepts, you can use any of the many load testing tools and then learn how to implement these concepts in a particular tool.

And to learn / practise load runner, you dont need the webtours application that HP provides. As long as you have network connectivity on your application, you can practise script creating on any of the applications available online.

Ofcourse, you cannot execute load tests on those applications, if you do they may sue you.

One of the best internet application to practise Load Runner is http://www.demo.opencart.com

Again, learn the concepts first then tools. Learning just load runner without the basic foundation in Performance testing is like learning to user movie cameras when what you want to actually do is Movie Direction..

Camera is just a tool… story, screenplay, direction is the content, underlying foundation… !!

#67 sunitha

Thank you very much the article is very informative :)

#68 Uma

Hi,
Thanks for the good info.Can you please let us know if we want to become master in performance testing in load runner what should I do. As of now I just have vugen knowledge of writing scripts and running but very minimal knowledge in analysis

#69 lavanya

Thanks for your Information.Can you please suggest best traning institute for learning performnace Testing Tool.

#70 Sandhya

Hello Lavanya, recently I have learned performance testing online at itelearn.

Really this article is very impressive. Keep it up .

Leave a Comment