In ideal world you should have NFRs which describe in details what is expected and what are the acceptable ranges for different metrics and pass them along with other (functional) requirements to the company. The underlying reason is that needs to be checked on early stages as it will appear that your application needs to scale and the company designed it in an unscalable way – they will need to re-implement its core from scratch.

Normally people are interested in answers to the following questions:

  1. Will my application support X users providing reasonable response time where “reasonable” may vary depending on your application nature – Load Testing
  2. Will my application support prolonged load (there are no memory leaks, it doesn’t run out of free space, there is no performance degradation over time) – Soak Testing
  3. What is the maximum amount of users my application can handle before breaking (or response time starts exceeding acceptable) – Stress Testing

The metrics mostly depend on your application nature and your NFRs, the most commonly used performance metrics for web applications are:

  • Response Time (average/min/max/median/90%)
  • Throughput (number of requests/transactions/bytes per second)
  • Resources consumption (CPU, RAM, Swap, Disk, etc.)

Source link


Please enter your comment!
Please enter your name here