Load Testing Metrics

Load Testing MetricsWhich load testing metrics would you consider and why? This is an advanced software testing question that you might come up agains in case your interview has been going well. There isn’t a single correct answer; instead, your interviewer will be looking to see if you have a good understanding of software engineering, from both the technical and the business side.

So, how should you answer?

First, explain that there are lots of possible load testing metrics. Some of them are standard, but which metrics you ultimately focus on will depend on the specific requirements of the application.

Second, list a number of metrics: requests per second; bytes per second; response time; errors returned; number of concurrent users; memory usage; number of database queries.

Finally, focus on a couple of these metrics, and explain in which situations you might consider using them.

Example 1: for a web application, the number of concurrent users is one of the key metrics from the business perspective: if the application supports fewer users than are actually trying to access the site, valuable business is being lost.

Example 2: the response time is a valuable metric to asses the user experience (if this is typically longer than a second or two, users will get frustrated and will stop using the application).

Example 3: the response time might be very short, which is good. However, this might be because the number of errors returned is very large (perhaps the application throws an exception immediately on a new request), which would again make for a bad user experience.

Example 4: in case the number of database queries is very large, performance might be improved through caching.

In summary, when asked to explain which load testing metrics you would focus on, explain that there are lots of relevant metrics, and that the specific metrics should be determined by the need of the system and of the application. Then, illustrate with examples.