If you are working on performance engineering, you use the following terms frequently: load testing and stress testing. Most of us think that the objective of load and stress testing are almost the same, but it is not. Let me explain it with a simple example.
Hitting gym in a new year? First, we warm up, then work out in a treadmill and then tries small weight dumbbells. If they are comfortable in lifting more weight, then they proceed. Assume than you are able comfortable in lifting 30lbs (one set), then your capacity is 30lbs. Period.
Similarly, think of you as a server and weight as the load (number of requests/hits/users/transactions per second).
Load Testing helps to study the system's behavior under the normal load. During load testing, defined number of users will be injected gradually and the performance will be measured (typically response time).
Now you are comfortable in lifting 30lbs, but your friend is challenging you that you cannot lift 35lbs. But you are confident and tries 35lbs. You feel okay after lifting 35lbs. Then he insists you to try 40lbs. But you give up after trying.
From the above exercise you determine that your capacity is 30 lbs and but you can lift 35 lbs and you cannot go beyond that. Now, your breaking point is 35 lbs.
Similarly, in Stress testing you inject the load beyond the defined number of users step by step (or using any other patterns) and measures the breaking point of the system.
In load testing, you measure the response time, but in stress testing, you measure the breaking point and the other parameters such as response time, system resources etc.
Breaking point could be anything, response time, system resources, throughout etc.
You can checkout my blog for more such articles.