Performance Testing
Load testing
Stress testing
Domain
Superset of load and stress testing
A subset of performance testing
A subset of performance testing
Scope
Very wide scope. Includes - Load Testing, Stress Testing, capacity testing, volume testing, endurance testing, spike testing, scalability testing and reliability testing, etc.
Narrower scope as compared to performance testing. Includes volume testing and endurance testing.
Narrower scope as compared to performance testing. Includes soak testing and spike testing.
Major goal
To set the benchmark and standards for the application.
To identify the upper limit of the system, set SLA of the app and see how the system handles heavy load volumes.
To identify how the system behaves under intense loads and how it recovers from failure. Basically, to prepare your app for the unexpected traffic spike.
Load Limit
Both – below and above the threshold of a break.
Till the threshold of break
Above the threshold of break
Attributes studied
Resource usage, reliability, scalability, resource usage, response time, throughput, speed, etc.
peak performance, server throughput, response time under various load levels (below the threshold of break), adequacy of H/W environment, the number of user app can handle, load balancing requirements, etc.
Stability beyond bandwidth capacity, response time (above the threshold of break), etc.
Issues identified through this testing type
All performance bugs including runtime bloat, the scope for optimization, issues related to speed, latency, throughput, etc. Basically – anything related to performance!
Load balancing problems, bandwidth issues, system capacity issues, poor response time, throughput issues, etc.
Security loopholes with overload, data corruption issues at overload situation, slowness, memory leaks, etc.