Difference Between Performance Testing, Load Testing and Stress Testing – With Examples

Q. What is difference between Performance Testing, Load Testing and Stress Testing?

1) Performance Testing:

Performance testing is the testing, which is performed, to ascertain how the components of a system are performing, given a particular situation. Resource usage, scalability and reliability of the product are also validated under this testing. This testing is the subset of performance engineering, which is focused on addressing performance issues in the design and architecture of software product.

Performance Testing Goal:

The primary goal of performance testing includes establishing the benchmark behaviour of the system. There are a number of industry-defined benchmarks, which should be met during performance testing.

Performance testing does not aim to find defects in the application, it address a little more critical task of testing the benchmark and standard set for the application. Accuracy and close monitoring of the performance and results of the test is the primary characteristic of performance testing.

Example:

For instance, you can test the application network performance on Connection Speed vs. Latency chart. Latency is the time difference between the data to reach from source to destination. Thus, a 70kb page would take not more than 15 seconds to load for a worst connection of 28.8kbps modem (latency=1000 milliseconds), while the page of same size would appear within 5 seconds, for the average connection of 256kbps DSL (latency=100 milliseconds). 1.5mbps T1 connection (latency=50 milliseconds) would have the performance benchmark set within 1 second to achieve this target.

For example, the time difference between the generation of request and acknowledgement of response should be in the range of x ms (milliseconds) and y ms, where x and y are standard digits. A successful performance testing should project most of the performance issues, which could be related to database, network, software, hardware etc…

Performance Load and stress testing

2) Load Testing:

Load testing is meant to test the system by constantly and steadily increasing the load on the system till the time it reaches the threshold limit. It is the simplest form of testing which employs the use of automation tools such as LoadRunner or any other good tools, which are available. Load testing is also famous by the names like volume testing and endurance testing.

The sole purpose of load testing is to assign the system the largest job it could possible handle to test the endurance and monitoring the results. An interesting fact is that sometimes the system is fed with empty task to determine the behaviour of system in zero-load situation.

Load Testing Goal:

The goals of load testing are to expose the defects in application related to buffer overflow, memory leaks and mismanagement of memory. Another target of load testing is to determine the upper limit of all the components of application like database, hardware and network etc… so that it could manage the anticipated load in future. The issues that would eventually come out as the result of load testing may include load balancing problems, bandwidth issues, capacity of the existing system etc…

Example:

For example, to check the email functionality of an application, it could be flooded with 1000 users at a time. Now, 1000 users can fire the email transactions (read, send, delete, forward, reply) in many different ways. If we take one transaction per user per hour, then it would be 1000 transactions per hour. By simulating 10 transactions/user, we could load test the email server by occupying it with 10000 transactions/hour.

------------

 

3) Stress testing

Under stress testing, various activities to overload the existing resources with excess jobs are carried out in an attempt to break the system down. Negative testing, which includes removal of the components from the system is also done as a part of stress testing. Also known as fatigue testing, this testing should capture the stability of the application by testing it beyond its bandwidth capacity.

The purpose behind stress testing is to ascertain the failure of system and to monitor how the system recovers back gracefully. The challenge here is to set up a controlled environment before launching the test so that you could precisely capture the behaviour of system repeatedly, under the most unpredictable scenarios.

Stress Testing Goal:

The goal of the stress testing is to analyse post-crash reports to define the behaviour of application after failure. The biggest issue is to ensure that the system does not compromise with the security of sensitive data after the failure. In a successful stress testing, the system will come back to normality along with all its components, after even the most terrible break down.

Example:

As an example, a word processor like Writer1.1.0 by OpenOffice.org is utilized in development of letters, presentations, spread sheets etc… Purpose of our stress testing is to load it with the excess of characters.

To do this, we will repeatedly paste a line of data, till it reaches its threshold limit of handling large volume of text. As soon as the character size reaches 65,535 characters, it would simply refuse to accept more data. The result of stress testing on Writer 1.1.0 produces the result that, it does not crash under the stress and that it handle the situation gracefully, which make sure that application is working correctly even under rigorous stress conditions.

Further readingWeb Application Load, Stress and Performance Testing Using WAPT.

Have queries on Software Testing? All you need to do is post your questions in the comment section below.



Get FREE eBook + Blog Updates By Email!

Subscribe to get software testing awesome articles and free resources. Enter your email address and click 'SIGN UP NOW' button.


58 comments ↓

#1 Vamsi Krishna on 07.17.11 at 6:11 pm

these are confusing terminologies especially when asked in interviews :) thanks for clearing the doubts.

All these testing types are very important for application stability and scalability. In agile testing environment most testers fails to perform performance testing, rather projects from the service industry don’t give much importance for performance.

The best and easiest to learn website load testing tool I found and used is JMeter.

#2 Nirav on 07.17.11 at 6:30 pm

Excellent. Thanks

#3 Gaurav Khanna on 07.18.11 at 4:39 am

It is very clear and easy to understand. Thanks you for posting such a nice blog.

#4 Pooja on 07.18.11 at 5:27 am

Very informative and well explained.
well said by Vamsi these terms are always told to be like similar one but here lies the difference explained by you

#5 Ravi on 07.18.11 at 6:50 am

Nice article…

#6 Jagdish on 07.18.11 at 4:23 pm

Can you tell me that how to perform Stress, Load and performance testing. How we test admin?

#7 Srivalli on 07.18.11 at 5:02 pm

Similarly can you explain below questions with simple explanation from interview point:

1. What is difference between Manual Testing and Automation Testing?
2. What is difference between Testing and QA?
3. How to approach for a QA/testing job?

#8 ARUNA on 07.18.11 at 7:14 pm

WELL DEFINED AND DIFFERNTIATED. GOOD WORK.

#9 PATO on 07.19.11 at 6:08 pm

Good work, these topics are always confuse us. But now it is clear. Please give brief on Unit, Integration, System, Acceptance and Regression testing. If anyone can do this I will thankful for that.

#10 Raju Phatak on 07.20.11 at 4:55 am

Very good artical on PSR testing. Its explained with exapmple in a simple language. Kindly post some more articals on this.

#11 Reddy Siva Saran on 07.22.11 at 2:50 pm

Nice article and good explanation

#12 pravin on 07.23.11 at 11:35 am

hi….nice article

#13 Yamraaj on 07.25.11 at 10:55 am

Very nice article, simple explanation with easy to understand examples. Very good help for all especially for the beginners.

#14 Rajendra on 07.26.11 at 6:09 am

Excellent Article..!!!!

#15 Jitendra Bhande on 07.26.11 at 10:11 am

best Article …..

#16 Deepak yadav on 07.30.11 at 11:13 am

Excellent…….

#17 sweta dubey on 08.04.11 at 12:48 pm

very good example.provide few more for better understanding and ease.

#18 karamjeet on 09.08.11 at 6:30 am

nce gidence and good explan for software testing…….

#19 Pratap on 09.13.11 at 8:22 am

Hi all

Can anybody tell me how to test a website in which

“iFrames” plays a very important role.

i mean few things that i must remember while testing

these kind of site ?

plz help me guys

#20 Tal on 09.17.11 at 6:37 pm

people always confuse load and stress testing. sometimes the tests could be very similar, but like you said, the goal is different…

#21 Jagadish on 10.06.11 at 12:09 pm

Sir,

Presently i ma working in non-it industry, having an experience of 5+ years in the non-it field.i am thinking shift into the software testing field.

Please guide me how can i proceed.

With regards

Jagadish

09777302953

#22 vikas on 11.12.11 at 3:38 pm

hi all!
i am searching for interview questions that are been asked to experienced candidates.i mean those who alredy have experience of 1 yr-2 yrs.
wil b thankful.

#23 sandeep redhu on 12.12.11 at 5:44 pm

thaxxxxx….its really help for us…

#24 gan on 12.28.11 at 10:37 am

my doubt is ….. in companies separate roles will be there?
i mean performance tester?
load tester?
stress tester?
else all three are same..i have little bit confusion …. clarify anybody pls

#25 Animesh on 02.11.12 at 6:45 pm

Excellent…….
they are really usefull

#26 Animesh on 02.11.12 at 6:46 pm

Excellent

#27 Swati Namdeo on 02.16.12 at 4:37 pm

Please give me answers to these questions..
1) difference between retesting and regression testing with example?
2) what is STLC ?
3) when smoke & sanity testing is performed? please explain these with example.

#28 CONNECT on 03.09.12 at 5:53 pm

PLEASE CONTACT ME AT 08065473432, CAN HELP YOU

#29 Lizzi on 03.28.12 at 12:03 pm

Excellent

#30 kulbir on 04.30.12 at 8:43 pm

good

#31 geeta on 06.27.12 at 5:39 pm

Nice explanation and good to understand

#32 Anand Kulkarni on 07.31.12 at 11:17 am

Very crisp, up to the point explanation.
It helps me learning Performance Testing.

#33 Hitesh on 08.14.12 at 9:32 am

Elegant description about testing

#34 shalini dinavahi on 08.30.12 at 6:04 am

hi friends..
i am a telecom testing proffesional,i would like to make my career in TESTING in IT domain,kindly help me how can i proceed further

Thank you
Shalini dinavahi

#35 Vishal on 09.05.12 at 2:46 am

Thank….it really helped me to clear the difference between the two…..

#36 Trivikram on 09.06.12 at 11:38 am

Thanks for a very informative article.

#37 Charu on 09.18.12 at 7:18 am

How can we do performance, stress and load testing without automation tool ?

#38 agile load testing on 09.18.12 at 7:31 pm

Thanks for this bright explaination

#39 kumesh on 10.16.12 at 5:57 pm

good deffination

#40 Supriya on 10.17.12 at 6:26 am

my doubt is ….. in companies separate roles will be there?
i mean performance tester?
load tester?
stress tester?
else all three are same..i have little bit confusion …. clarify anybody pls

#41 Ravi on 11.22.12 at 11:48 am

Hi.. nice article..
I have a different view on the volume testing and endurance testing.
Volume testing is done with huge volume of data in the database keeping in mind, future growth in the data. Ideally we insert huge data in the database and do the testing. And Endurance testing is to test application stability for the extended time or duration. the main idea of endurance testing is to check for the memory leakage in the application. Ex: GC is happening properly without any issues..
Correct me if i m wrong.
Cheers :)

#42 Anshu on 01.09.13 at 7:28 am

Great article but I agree to what Ravi said. Endurance testing is different from any amongst Performance, Load or Stress. Although I am still apprehensive by the definition of Volume testing given so far. Expert opinions welcomed!

#43 kaushaya on 01.14.13 at 10:46 am

hi, i have one year experience in manual testing and that too i have tested “education system software” i want to switch to finance and banking domain,from i can get knowledge in this domain so that i can clear interviews please help me

#44 Abdul Ghaffar on 01.28.13 at 5:22 pm

Excellent differeciation bw the terms……….

#45 radheshyam on 01.30.13 at 4:38 am

descriptin excelent,good contents,

#46 parag patil on 02.03.13 at 2:12 pm

Thanks for the Post
all the things are very nicely explained .

#47 Nimesha on 02.13.13 at 5:35 am

It’s really clear and understanderble.. Thanks a lot for this clear explanation :-D

#48 Amit Kumar Thakur on 03.20.13 at 9:21 am

I like this.

#49 Musab Rasheed on 04.06.13 at 3:20 pm

Thank you for every thing, specially for examples.

#50 chetan on 06.20.13 at 1:37 pm

How to test the database stress testing (i.e. how to test affect of heavy data on application). any idea or tool please share.

Thanks in advance,
chetan

#51 Frank on 06.30.13 at 1:07 am

Wonderfully explained in a very comprehensive way. Thank you.

#52 Makesh on 07.20.13 at 6:02 pm

Nice and clear :)

#53 Rina on 10.14.13 at 6:38 am

hi, pls tell me Manual Testing logical question answer & ISTQB exam paper.

#54 satish Namburi on 11.27.13 at 6:58 am

Hi Every one,

Am New to Performance Testing,
Am Working with VS2012 Ultimate Version.

I Have some doubts regarding,
What is Scalability?
What is Stability?
What is Stress Test?

and What are the major differences between these tests.

How to perform these tests on web appplication?

Looking for a better solutions..

Thanks in advance:)

#55 madhavilatha on 12.31.13 at 5:46 am

Hi Every one,

any one can you please give me performance(load,stress,scalability,stress) test cases for windows application?

#56 supriya on 01.01.14 at 5:44 pm

thanx….

#57 dian on 03.06.14 at 12:57 pm

can i have information about tools for performance testing when an application are access by so many users?
tell me, please. thank you

#58 Pavan on 04.02.14 at 7:04 am

Nice article even for an experienced tester or a beginner