Performance Testing
- Performance testing is a type of software testing that is used to evaluate the speed, scalability, and stability of a system. It is used to ensure that the system can handle the expected load and volume of traffic.
Types:
- Load Testing
- Stress Testing
- Data/Volume Testing
- Scalability testing
- Endurance testing
- Spike testing
Load Testing:
- Load testing is a generic term covering Performance Testing and Stress Testing.
- Testing the app with the maximum number of users.
- To measure the performance under the expected load.
Stress Testing:
- The system is under extreme load conditions, such as peak user activity or maximum transaction throughput.
- Testing the application with MORE than the maximum number of users.
- To measure performance under a load much higher than expected.
Endurance Testing:
- Endurance Testing is done to ensure the software can handle the EXPECTED load over a long period.
Spike Testing:
- System by SUDDENLY increasing the load (e.g. the number of users or transactions) to check how it responds.
Data/Volume Testing:
- System by increasing the number of users or transactions over a PERIOD OF TIME.
Scalability testing:
- The system performs when the workload increases or decreases.
Common Performance Problem:
- Most performance problems revolve around speed, response time, load time, and poor scalability.
- A slow-running application will lose potential users.
- Long Load time - While some applications are impossible to make load in under a minute, Load time should be kept under a few seconds if possible.
- Poor response time - Response time is the time it takes from when a user inputs data into the application until the application outputs a response to that input. Generally, this should be very quick. Again if a user has to wait too long, they lose interest.
- Poor scalability - A software product suffers from poor scalability when it cannot handle the expected number of users or when it does not accommodate a wide enough range of users.
- Bottlenecking - Bottlenecking is when either coding errors or hardware issues cause a decrease in throughput under certain loads.
Common performance bottlenecks are:
- CPU utilization
- Memory utilization
- Network utilization
- Operating System limitations
- Disk usage
No comments:
Post a Comment