1. Stress testing is subjecting a system to an unreasonable load while denying it the resources (e.g., RAM, disc, mips, interrupts, etc.) needed to process that load. The idea is to stress a system to the breaking point in order to find bugs that will make that break potentially harmful. The system is not expected to process the overload without adequate resources, but to behave (e.g., fail) in a decent manner (e.g., not corrupting or losing data). Bugs and failure modes discovered under stress testing may or may not be repaired depending on the application, the failure mode, consequences, etc. The load (incoming transaction stream) in stress testing is often deliberately distorted so as to force the system into resource depletion.
2. Load testing is subjecting a system to a statistically representative (usually) load. The two main reasons for using such loads is in support of software reliability testing and in performance testing. The term "load testing" by itself is too vague and imprecise to warrant use. For example, do you mean representative load," "overload," "high load," etc. In performance testing, load is varied from a minimum (zero) to the maximum level the system can sustain without running out of resources or having, transactions suffer (application-specific) excessive delay.
To know more visit - http://agiletesting.blogspot.com/2005/02/performance-vs-load-vs-str...
Performance Testing is performed to determine how fast some aspect of a system performs under a particular workload
Load Testing is conducted to check whether the system is capable of handling an anticipated load
Stress Testing is conducted to check the systems capability beyond the anticipated load
Gr8 Arun. These are the practical oriented definitions. I would like to add into it.
Load Testing: Related with the no. of users accessing any appln.
Stress : Beyond the limit.
Volume: Related with the data base.
Performance: The response time/throughput required for any transaction