Performance Testing
What is Performance Testing?
Performance testing addresses the non-functional requirements of Software Quality. Instead of determining if functional requirements are met, performance testing focuses on how well the functions performs under various conditions. It can determine how fast a system performs under a particular workload. It can also serve to measure quality attributes such as scalability, reliability, and resource usage.
Benefits of Performance Testing
- It demonstrates that the system meets performance criteria
- helps to determine bottlenecks in system
- cost benefits to find performance issues in early phases of development, as it is costly to later repair performance defects once system is released
- helps to understand capacity and resource requirements
Performance Testing tries to accomplish the following:
- Assess production readiness
- Evaluate against performance criteria
- Compare performance characteristics of multiple systems or system configurations
- Find the source of performance problems
- Support system tuning
- Find throughput levels
Types of Performance Testing
Stress Tests
- evaluates the system when stressed to its limits over short period of time
- if requirements state that a system should handle up to a specified number of usrs, this type evaluates system performance when all those users are active simulnateouly.
- this test is important for systems that usually operate below maximum capacity, but are stressed at certain times of peak demand
Volume Tests
- address the handling of large amount of data in the system
- make sure that the system reacts appropriately when data sets reach their maximum size
- large throughput
Configuration Tests
- these tests analyze the various software and hardware configurations specified in the requirements
- it evaluates all possible configurations to make sure that each satisfies the requirements
Compatibility Tests
- these are needded what a system interfaces with other systems
- find out whether the interface functions perform according to the requirements
Regression Tests
- required when the system being tested is replacing an existing system
- regression tests check to see if new system’s performance is at least as good as that of the old system
Security Tests
- ensures that the security requirements are met.
- test system characteristics related to availability, integrity, and confidentiality of data and services
Timing Tests
- evaluate requirements dealing with time to respond to a user and time to perform a function
Environmental Tests
- looks at the system’s ability to perform at the installation site / location
Quality Tests
- Evaluate the system’s reliability, maintainablity, and availablity
- include calculation of mean time to failure, and mean time to repair, average time to find and fix a fault
Recovery Tests
- address response to the presence of faults or to the loss of data, power, devices, or services
- we subject the system to a loss of system resources and see if it recovers properly






Recent Comments