What is Software Performance Testing & Why it is Required?
What is Performance Testing?
Performance testing is a Non-Functional Testing type in software testing.
Performance testing is performed to determine how a software application or a system performs in terms of responsiveness and stability and reliability under a given workload.
What it Measures?
Performance testing measures the quality attributes of the system, such as speed, scalability, reliability, and resource usage.
- Speed - Determines whether the application responds quickly enough for the users(SLA)
- Scalability - Determines the maximum user load a software application can handle. This helps to measure the ability of the application to scale with the increasing workload. (AKA Capacity)
- Stability - Determines if the application is stable under a given user load
- Reliability - Determines if the application works reliably without any errors under a load
Why Performance Testing?
- To confirm and validate SLA(Service Level Agreement) in the requirement.
- The main goal is not to find bugs but to eliminate performance bottlenecks that could have an impact on the system.
- To detect what parts or module of the system or workload causes the system to perform slowly.
- Performance testing can detect what needs to be improved before the application goes to real users.
- To compare two systems to find which performs better or to check the current application capacity.
- Mission-critical applications like aircraft control systems, space launch programs, or life-saving medical equipment should be thoroughly performance tested to ensure that they run for a long period without any impact on the functionality.
Let's look at the below examples how large an impact it can have on a software system:
- A 5-minute downtime of Google.com on 19th August 2013 resulted in an estimated loss of $545,000 to the company.
- An Amazon Web Service Outage resulted in an estimated loss of sales worth $1100 per second.
Leave a Comment