Blog Objective

This is a blog that attempts to make life easier by noting down the author's accrued knowledge and experiences.
The author has dealt with several IT projects (in Java EE and .NET) and is a specialist in system development.

18 September 2011

Performance Testing

There are 3 main concerns that performance testing seeks to address.
These concerns form the acceptance criteria or metrices for the tests.
They are:
  1. User concern – Response Time
  2. Business concern - Throughput. E.g. requests/ sec; calls/ day
  3. 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:

  1. release readiness
  2. infrastructure adequacy
  3. software performance
  4. performance tuning efficiency

Some Definitions

  • 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.

No comments: