|
Author
|
Topic: Load-Stress_Stess-Load..A Confusion
|
rahulchavan Member
Posts: 16 Registered: Feb 2002
|
posted 03-13-2002 05:47 AM
Hi forum members, I am very sorry if i m asking any basic silly question.After being into testing profession from 18 months i m still confused with certain terminologies.1.Load Testing, Stress Testing And Performance testing.. Are these all three different terms???I doubt. Now please tell me Q1. the purpose of Load testing and the Stress testing? Q2.Is that usage of specific tools necessary for doing these types of testing? Here is MY UNDERSTANDING about these terminologies. Load testing is done to check the response & behaviour of the application under varied Data and Varied User..one constant at a time. Stress testing.Application is put under extreme condition,.. for Data/User limits so as to check its failure effects on the system. What else..??please put down any more points. Q3.But now what is the difference between Load and Stress & Performance???i don't know.Interviewers confuse u and i don't know what answers they expect. Kindly help me to solve my doubts ------------------ RC [This message has been edited by rahulchavan (edited 03-13-2002).]

|
andystaves Member
Posts: 46 Registered: Oct 2001
|
posted 03-13-2002 06:08 AM
Interviewers are probably confused themselves, so don't worry too much about that. The best way to approach this would be to actually ask the interviewer what they mean. Some people use the terms interchangeably, mostly because there doesn't seem to be a strict 'across the board' definition for these terms. For example, one person will give you a definition of what performance testing is, then you can go to another person and they will give you the same definition for stress testing. There is a site out there (which I will have to find and post a link to later) that has a good definition of all the terms you will need to know, but again, remember that you might think performance means one thing and the interviewer might think it's something else. That's why it's best to ask  I would approach it something like this. 'I know that these terms are used interchangeably, so I will tell you what I consider xxxxxxx to be' I think that you will do fine if you approach it this way ------------------ Is it up? Is it down?

|
allogene Advanced Guru
    
Posts: 921 Registered: Jun 2001
|
posted 03-13-2002 07:50 AM
It is true, it came seem daunting. If you do a search on the subject you will find that this same question has been asked and answered many times. So please try a search and if you still have questions ask those.------------------ Simple minds, Simple thoughts! Doug

|
gaur Guru
  
Posts: 227 Registered: May 2001
|
posted 03-14-2002 02:33 AM
The different views found in the standard testing books add to the confusion.I found the terms stress testing and load testing to be having different meanings in Patton's Software Testing whereas there seems to be little difference between the two terms in the book Automated Software Testing. ------------------

|
QAGirl Moderator
   
Posts: 2424 Registered: Aug 2001
|
posted 03-14-2002 04:40 AM
quote: Originally posted by gaur: The different views found in the standard testing books add to the confusion.I found the terms stress testing and load testing to be having different meanings in Patton's Software Testing whereas there seems to be little difference between the two terms in the book Automated Software Testing.
Do you have either source handy to show the definitions for discussion? I don't have Patton's book, so I'd be interested to know. ------------------ ~ Annemarie Martin ~ annemarie[dot]martin2[at]verizon[dot]net ~ So you found a girl who thinks really deep thoughts - what's so amazing about really deep thoughts? ~ Tori Amos

|
gaur Guru
  
Posts: 227 Registered: May 2001
|
posted 03-15-2002 04:59 AM
Annemarie,i do not have Patton's book at the office...it's kept at my residence....so i am not able to quote him but here is what i gathered of his views:To stress test a software is to run it with the minimum requirements that the software needs to run on....basically,starving the software of resources like low connection speeds,low memory etc. To load test a software is to give it all the resources it needs and then try to bog it down with extreme loads of users/transactions. I found his definitions to be making out the differences pretty well.No doubt the software will be stressed for resources when it is being bogged down with huge loads but that would be happening bcoz of the load and not bcoz it wasn't given the required resources to run.......this he isn't saying...it's my own interpretation  As for what has been written in Automated Software Testing is concerned, u already have the book with u,so i am not putting it down here....the terms have been used interchangeably in there.
------------------

|
AmitK Member

Posts: 75 Registered: Dec 2001
|
posted 03-15-2002 06:09 AM
Hi,Load: some thing is put on you. Some one esle is forcing you to do it. Stress: It somes from inside of you. Because of Load there is stress? Is this making sence? Thanks, AmitK
------------------

|
Jules Advanced Guru
    
Posts: 484 Registered: Mar 2001
|
posted 03-15-2002 06:10 AM
Hi chaps,Not having time to look up references I will try and concisely present Beizers view: Performance testing is a question. The answers being: How fast is it? and is it fast enough? Volume testing is a question. The answers being: How much does it hold? and does it hold enough? Load testing is a question. The answers being: How many (requests) can successfully go through 'the pipe' within a certain time period? and is this good enough. If you increase either load or volume then it stands to reason that performance may suffer.
I.e load and volume are tests in themselves and also factors to consider and change in a controlled fashion as a part of performance testing. If you change these environmental factors (load, volume and hardware speed) such that the system fails Catastrophically, then you are into the realms of stress testing. What we are most concerned with here is determining safe operational limits for a system and also with how gracefully a system treats your data and recovers following such a failure. beizer has a lot of experience in telecoms systems where this stuff matters a lot. Apologies in advance if I have misrepresented anything here. me busy. Cheers, jules ------------------ Softly, Softly catchee monkey...

|
William Read unregistered
|
posted 03-15-2002 08:29 AM
This: www.faqs.org/faqs/software-eng/testing-faq/section-15.html gives Beizer's definitions of load and stress testing.------------------

|
rahulchavan Member
Posts: 16 Registered: Feb 2002
|
posted 03-17-2002 11:21 PM
Hi All, Are we adding some more confusion to an already confused terminology? Mr.Amit, I have not understood what u tried to say. I am bit more confused my reading your reply. Gaur your explanation from Patton's book does help me to differentiate between load & stress. Thanks. This what I have considered from Patton's Book (Stress Testing > starves the resources and checks its behavior Load Testing > Overload the appl. feed to much) Jules your views are simple & precise & best. But u missed the term Stress to explain. Can u explain it for me?I would try to consolidate my understanding at this point. Performance Testing: Tracking & comparing the execution time of application, mainly the speed (Response time). The action to perform this type of testing would be Load, Stress, or Volume. Under each type of testing we find the speed. So I would say Performance testing is a Methodology under which falls Load, Stress & Volume Testing. [ Exactly like under Black Box Testing Methodology we have Functional Testing, GUI Testing, Usability Testing etc. ] Load Testing: Finding out what would be the max limit/load/requests, which the application can bear. Working out at the upper limit & find any discrepancies or failures. Stress Testing: Tearing the System by stress at certain point either by keeping starving the application of resources or by keeping the resources at minimum lower limit. Kindly try to add your views to my understanding. With Thanks Rahul Chavan
------------------ RC

|
Gollakota Prasanthi unregistered
|
posted 03-18-2002 09:48 PM
hi, Load-testing the system under realistic condition ie no of users taken into consideration and other paramters like hardware etc and checking for the response time of the applicationStress- checking thesystem under unrealistic load conditions to find what point the system degrades or fails Performance testing - a combination of both load and stress testing where the application response is being checked for a particular load ------------------

|
Jules Advanced Guru
    
Posts: 484 Registered: Mar 2001
|
posted 03-19-2002 05:20 AM
Hi Rahulchavan,Me busy but will try: 1) Get an idea, either from educated guesswork or market research, what a) your maximum load(s) will be and b) your maximum volume(s) will be. I pluralise these because your system may comprise one or more load bearing elements and one or more volume holding elements. 2) Subject your system to your predicted maximum load then test while increasing the volume until you get to the point where the systme fails (note 1) 3) Subject your system to your predicted maximum volume then test while increasing the load until you get to the point where the systme fails (note 1) 4) While you are carrying out the above, always gather perfomance (i.e. speed) data By now, you will have an idea of how your system will perform under varying combinations of loads and volumes. Repeat the above at twice, 5 times and 10 times your predicted maximum load and volume settings. Think sensibly about the results. Remember that you are trying to establish wether or not your system is acceptably performant at the high end of its predicted operational conditions. Note1 : Failure. If you do the above, your system will fail. What you must do is: a) Build in checks and stops such that, rather than failing, before the failure point is reached, the system stops itself, informs the user(s) that it cannot cope and will therefore shut down and makes safe all data and unfinished processing. b) In the event that your checks and stops do not work for whatever reason, you must make sure that, upon failure, your system is kind to the data, the user and itself by being able to be repaired, re-run, whatever it needs to make it useful to the user once more. Hope this makes things clearer. Jules ------------------ Softly, Softly catchee monkey...

|
igglue Guru
  
Posts: 291 Registered: Jan 2002
|
posted 03-19-2002 06:55 AM
Load and stress test is defined differently by many but here's a consistant one the people seem to agree.Load is when you apply an 'acceptable' amount of work within 'acceptable' parameters of the software for duration of time. Stress is when you apply 'excess' amount of work beyond 'acceptable' of the parameters of the software where software is expected to be operational for duration of time. Stress tests are generally executed to monitor/verify the behavior of the software under excessive heavy load. Often, you make sure connections are dropped, or server starts to refuse connections. What you want to avoid is the 'spiral of death' behavior where the server essentially starts to kill itself. This would be often considered as part of 'error handling' tests. Load testing is generally making sure that server can stand large quantity of load over periods of time. You wan to look for memory leaks, or performance degredataion over time. I hope this helps. :-)
------------------

|
rtehve Advanced
 
Posts: 160 Registered: Aug 2000
|
posted 04-01-2002 07:08 PM
They are all very different.Load testing is a Volumetric measure...i.e. what load can the system take while satisfying the requirements. Stress testing is what happens when the system is pushed past its limit....is data integrity threatened etc...it is a stability measure or accessment. Performance testing is a rate measure. How quickly does the system respond. The confusion starts when people talk about a valid test to do is performnace under load. This means, load the system up with the expected traffic and see how quickly it responds. ------------------ Robert Tehve rtehve@bigpond.com

|
JeffNyman unregistered
|
posted 04-01-2002 07:40 PM
I will just add my two cents. I do not believe I am significantly repeating anything that was said. quote: Originally posted by rahulchavan: 1.Load Testing, Stress Testing And Performance testing.. Are these all three different terms???
They are different terms. How people employ the terms, however, is a different matter. For example, technically speaking stress and load testing can be considered one part of "performance testing" with the realization that performance does not just mean the number of people (users, visitors, hits, page views, etc.) hitting a system. I will clarify that momentarily. quote: Q1. the purpose of Load testing and the Stress testing?
As far as load testing, it pays to realize that load testing is different than volume testing. Some will look at load testing as being the process of running test scenarios to such a degree that they accurately attempt to simulate a normal daily workload (representative) or a realistically possible workload (unrepresentative) on a given system. The key is that unrepresentative does not mean actual, but it does mean viable. However, a load test can and should check the limits of a given system's operability when under varying work loads. (Volume testing, since I brought it up, is the process of finding weaknesses in the system with respect to its handling of large amounts of data during extended time periods. This is also sometimes known as stability testing.) Stress testing is generally considered to be the process of showing that a given system has the capacity to handle large numbers of transactions during peak periods and to show what a server can handle overall as far as bandwidth. Two types of stress testing are sustained and maximal. Sustained is a time-based measure whereas maximal is what Robert likes to call volumetric. However, keep in mind that part and parcel of "stress" is the notion of testing a given system's functionality under abnormal circumstances. This does not just have to be relative to hits, requests, page views, etc. You can consider a situation where the system has too little disk space, too low of memory, not enough power, hardware failures, extreme work loads, etc. Basically you can consider the stress as testing conducted to evaluate a system or component at or beyond the limits of its specified requirements. quote: Q2.Is that usage of specific tools necessary for doing these types of testing?
Generally, yes. You are going to want to employ tools that can, in terms performance simulation, generate the necessary workloads (sustained, maximal, representative, and unrepresentative). Notice, however, that as I described stress testing above, some of that can be done manually since it does not always involve a measure of rate or volume. quote: Load testing is done to check the response & behaviour of the application under varied Data and Varied User..one constant at a time.
As I said, it can be representative and unrepresentative and that applies not just to the user base but also to the nature of the transactions that are being done. Load testing should be based off of workload characterizations and visitor characterizations if you want it to be the most robust in terms of feeding into performance analysis and performance simulation. quote: Stress testing.Application is put under extreme condition,.. for Data/User limits so as to check its failure effects on the system.
See what I said above. Basically, however, what you are saying here is correct. quote: Q3.But now what is the difference between Load and Stress & Performance???
Keep in mind that "performance" is a general term applied to systems that denotes how well the system fulfills the tasks expected of it. A system with good performance is one that is stable, responds quickly to requests, and has acceptable throughput levels. "Performance testing" (which is really composed of performance simulation and performance analysis is generally taken as a means by which to derive relative measures of the stability and scalability of a given system under expected user/visitor conditions prior to deployment which aims to ensure that the software performs in accordance with specifications as stated in Service Level Agreements or relative to an operational profile. As such, "load testing" and "stress testing" are two ways (techniques) to handle the overall approach of "performance testing". Also bear in mind that with the exception of performance prediction models, all of this testing material is reactive for the most part. Performance engineering also has a proactive component which is referred to as capacity planning - another term that you might here thrown around. ------------------

|