2 minutes read

Performance testing is a generic term that refers to testing how an application behaves under load. Performance testing should be done continuously not just on specific milestones, as this brings benefits related to:

  • how the performance improves/degrades during the releases
  • can be a very early indicator that something has gone wrong that might really affect the user experience even though the functional test might all still pass
  • slow applications affects user experience and in the end affects monetization

Software developers try to implement applications that not only is responsive and fast with a very small number of users but also with multiple users using the application. To be able to measure this we need to rely on different types of performance testing.

Performance testing should be an integral part of the agile release manifesto.

Understanding Performance Testing Types

  1. Load Testing: Determines how the system handles under an increasing load of users or transactions to ensure it can meet its performance targets for availability, concurrency, throughput, and response time.
  2. Stress Testing: Involves testing beyond normal operational capacity, often to a breaking point, to observe how the system fails and how well it recovers from crashes.
  3. Endurance Testing (Soak Testing): Checks for system stability and performance over an extended period to ensure it can handle sustained use.
  4. Spike Testing: Tests the software’s reaction to sudden large spikes in the load generated by users or transactions.
  5. Volume Testing: Focuses on determining the software’s performance when handling a large volume of data. This could be testing the database’s response to large queries or the application’s behavior with a significant amount of data input.
  6. Scalability Testing: Determines if the software application will scale up to support an increase in user load. It involves gradually increasing the user load or data volume while monitoring performance.
  7. Capacity Testing: Measures the total number of users or transactions a system can handle before reaching a performance threshold.
  8. Configuration Testing: This type of testing involves variations in configuration to determine the impacts of different hardware and software environments on system performance.
  9. Isolation Testing: When a performance issue arises, this type focuses on isolating the problem to see where the breakdown occurs. This can often involve repeating a test that led to system performance degradation.
  10. Internet of Things (IoT) Performance Testing: Specific to IoT ecosystems, it evaluates the performance of IoT devices and applications under various conditions of data volume, velocity, variety, and verification.

Written by Chris R.

LoadFocus is a cloud testing platform, a load and stress testing tool which provides the infrastructure to run tests with thousands of concurrent users, from multiple cloud locations, in less than a few minutes, keep history of the results, compare different runs to inspect performance improvements or performance degradation. It also supports running JMeter load tests from the cloud and monitoring and audit web and mobile performance.

How fast is your website? Free Website Speed Test