The specification for a system will usually have some requirements for how well the system should perform certain functions, additional to a statement of required functions. Thus while functional testing will, for example, demonstrate that the sum and average of a set of numbers will be calculated, performance testing will concentrate on how well the calculation is done (speed, accuracy, range, etc.). Typically, performance testing will consist of one of more of the following.
Stress and timing tests, for example measuring and demonstrating the ability to meet peak service demand measured by number of users, transaction rate, volume of data, and the maximum number of devices all operating simultaneously.
Configuration, compatibility, and recovery tests, for example using a combination of the slowest processor, the minimal memory, the smallest disk, and the last version of the operating system, and checking that other valid combinations of processor, memory, disk, communications, and operating systems will interoperate and recover from faults.
Regression tests, showing that the new system will perform all the required application functions of the system it replaces.