These concerns form the acceptance criteria or metrices for the tests.
- User concern – Response Time
- Business concern - Throughput. E.g. requests/ sec; calls/ day
- System concern - Resource Utilisation (often overlooked). E.g. processor & memory utilisation; disk I/O; network I/O
Purpose of Performance Testing
Depending on what has been done, performance testing helps in assessing:
- release readiness
- infrastructure adequacy
- software performance
- performance tuning efficiency
- Performance Target = Performance Goals
- Performance Requirements = contractual obligation, SLAs that cannot be compromised. = Performance Thresholds
- Workload = Stimulus applied. E.g. number of users, concurrent users, data volume, transaction volume.
Types of Performance Testing
- Load Testing - testing within anticipated production load/ volume
- Stress Testing - testing beyond expected production load/ volume. Objective is to reveal application bugs that will only surface under load. E.g. synchronisation issues, race conditions, memory leaks.