Test Names Should Indicate the Goal
For whatever reason, our industry is replete with conflated and didactic definitions of performance testing. I thought I would offer my own framework here for you to take or leave.
Good definitions reveal the goal of testing.
Performance testing comprises tests designed to measure response.
They include baseline, scale, stress, and soak. I don’t use “load” testing because that’s like saying you are going to attend an “educational” school.
Baseline testing measures the response
of the end to end system, and the system components, under reasonable production load.
Scale testing increases the input levels
of the system using a reasonable step function over a reasonable period of time. NOTE: These step functions are not always correlated to one another or linear. They are correlated only with the system architecture & may be in terms of virtual users or API interaction.
Stress testing is designed to reveal the weakest link
in the system by using the same input paradigm as scale testing, but setting the step functions to grow toward infinity.
Soak testing is designed to find leaks
in memory or sloppy disk or I/O calls by running the system at a set input load for a long (6+hrs) duration of time and closely monitoring system internals.