load-testing-and-stress-testing

Stress Testing

Think of stress testing in software testing as the confirmation that any sudden increase in transactions per unit time can be accommodated by the program being tested and won’t cause the program to stop working or degrade its operation in any manner. i.e. a short sharp peak.

Risk if not completed – It may not be possible to operate the system under conditions of high demand.

Stress Testing anticipates the worst case scenario in terms of numbers of transactions and testing for that while monitoring all other aspects of the system.

Stress Testing is another tool in testing tool bag. It explores several system qualities, that can be simplified to:

  • Speed – does the system respond quickly enough
  • Capacity – is the infrastructure sized adequately
  • Scalability – can the system grow to handle future volumes
  • Stability – does the system behave correctly under load

Be sure to ask yourself the following when conducting a tree test:

  1. What is the highest number of anticipated transactions per second?
  2. When could this occur?
  3. What else could be going on at the same time?

An Example:

A store site from a large retailer was recently accessed. It wasn’t a special day of any type so no one anticiapted being delayed and the site sent back a message: “The maximum number of people are currently accessing this site”, and then a counter started at 30 seconds and counted down to 0. Then it started again. And again! After the third countdown, access was granted to the site. Clearly the retailer had put some sort of throttle on the site to avoid it crashing. They knew their stress limits and made sure they did not exceed them.

Some items are not a cancer when it comes to Stress Testing but there are always those few that need to be analysed. It needs to be identified whether they will have problems at some point in the future and this is typically a mathematical analysis.

Discussion Questions

  1. How do you define Stress Testing?
  2. Was the Stress Testing successfully completed?
  3. Were other items discovered later or was unexpected Stress encountered?

Next Week: QA Management – Using the Results