DEV Community

Kshitij kumar
Kshitij kumar

Posted on

Performance Testing : An Introduction

Software testing is performed to check whether actual software matches expected requirement and to ensure that product is error free. There are various type of software testing and Performance testing is one of them.

What is Performance Testing?

Performance Testing is a non-functional testing method performed to determine the system performance in terms of sensitivity, reactivity and stability under a particular workload. It is also known as Perf Testing.

Performance Testing Attributes

Following are the four attributes of performance testing:

  • Speed : It determines whether the software product responds rapidly.
  • Scalability : It determines amount of load the software product can handle at a time.
  • Stability : It determines whether the software product is stable in case of varying workloads.
  • Reliability : It determines whether the software product is secure or not.

Why do Performance Testing?

Features and Functionality supported by a software system is not the only concern. A software application’s performance like its speed, response time, reliability, stability, resource usage and scalability do matter. The goal of
Performance testing is not to find bugs but to eliminate performance bottlenecks.

  • Only a 5-minute downtime of Google.com (19-Aug-13) is estimated to cost the search giant as much as $545,000.

  • It’s estimated that companies lost sales worth $1100 per second due to a recent Amazon Web Service Outage.

So, to avoid or minimize such loss, performance testing is important.

Types of Performance Testing

  1. Load testing – It checks the application’s ability to perform under anticipated user loads. The objective is to identify performance bottlenecks before the software application goes live.

  2. Stress testing – It involves testing an application under extreme workloads to see how it handles high traffic or data processing. The objective is to identify the breaking point of an application.

  3. Endurance testing – It is done to make sure the software can handle the expected load over a long period of time.
    Spike testing – tests the software’s reaction to sudden large spikes in the load generated by users.

  4. Volume testing – Under Volume testing large no. of. data is populated in a database and the overall software system’s behavior is monitored. The objective is to check software application’s performance under varying database volumes.

  5. Scalability testing – The objective of scalability testing is to determine the software application’s effectiveness in “scaling up” to support an increase in user load. It helps plan capacity addition to your software system.

Performance Testing tools

Some common tools used for performance testing are mentioned below:

To learn more about performance testing you can visit : https://www.perfmatrix.com/performance-testing-tutorial/

Top comments (0)