What are the different types of Performance Testing?
Performance Testing is different to other types of software and website testing in that it doesn’t seek to find defects, but instead tests for bottlenecks that could potentially impact real-world performance. Whether it’s a slow-loading page or a site that falls over with too many users, using the right type of Performance Testing should find the problem and offer workable solutions.
There are different types of Performance Testing, each of which is designed to test one of three key metrics: speed, scalability and stability. Speed is all about the responsiveness and fluidity of user experience; scalability determines how many users can access a website or log in to your software at the same time before it slows down or becomes unstable; and stability seeks out any issues that can impact the software’s ability to perform optimally.
As such, there are different types of Performance Testing, many of which can be done with the same set of tools. They include:
- Load Testing. This is the most common type of Performance Test and determines what load your software or website can reliably manage before it slows down or crash completely. Load Testing can be measured gradually until a certain performance level is breached, at which point suggestions can be made to increase load capacity.
- Spike Testing. Similar to Load Testing, Spike Testing floods your software or website with heavy traffic over shorter periods to check how it copes with sudden increased demand. This can help alleviate unforeseen and planned traffic increases in emergencies, or during promotional events like Black Friday.
- Stress Testing. Unlike Load Testing or Spike Testing that measure performance under user load, Stress Testing determines how reliably your software functions under extreme processing load. Any bottlenecks here can usually be solved with design tweaks, optimisation or additional hardware.
- Endurance Testing. Also related to the above, Endurance Testing determines how well your software or website copes with prolonged periods of high load volumes or high processing requirements. It tests the robustness of your software to withstand multiple, demanding events over a longer period.
- Scalability Testing. Your software or website’s ability to ‘scale up’ with increased demand determines how well it can cope with the various types of performance tests detailed above. From idle to full load, how quickly and efficiently your software performs as load, stress and duration increases determines how scalable it is, and whether or not additional resources are required to allow it to scale more effectively.
While there are numerous other tests and subsets that can be classified as Performance Testing, these are the main types of tests that most organisations employ for their own systems, and the ones we most frequently execute for our customers.