Sobes.tech
Junior

What is stress testing?

sobes.tech AI

Answer from AI

Stress testing is a type of non-functional testing aimed at determining the resilience of software under extreme loads and identifying the system's failure point.

Goals of stress testing:

  • Determine system performance under peak conditions.
  • Detect memory leaks.
  • Identify deadlocks and resource contention in multi-threaded applications.
  • Verify error handling correctness during resource failures (memory, disk, network).
  • Assess system behavior after recovery from a crash.

Examples of stress testing scenarios:

  • Sudden multiple increases in the number of users.
  • Processing large volumes of data in a short time.
  • Stress testing individual components or transactions.
  • Stress testing with limited available resources.

Metrics monitored during stress testing:

  • Response time.
  • Throughput.
  • Number of errors.
  • Resource utilization (CPU, RAM, Disk I/O, Network I/O).

Tools for stress testing:

  • Apache JMeter
  • Gatling
  • LoadRunner
  • k6

Difference from load testing: Load testing evaluates system behavior under expected (peak or average) load, whereas stress testing exceeds these limits to find the failure point.

The result of stress testing often includes identifying bottlenecks, failures, incorrect exception handling, and scalability issues.