Performance testing checks for software speed, scalability and stability, looking at specific functions such as response times, usage and reliability. The overall goal of Performance Testing for Cinchy is to optimize system performance. This is completed through long term system monitoring allowing efficient identification of problems for effective solutions and improvement.
Performance testing is important because it uncovers areas for improvement and issues such as performance bottlenecks. Performance bottlenecks are when either coding or hardware issues decrease performance under certain performance loads. The key to fixing a performance bottleneck is to identify the exact area of a coding error in order to fix it. Without performance testing, custom-built solutions may be slow, inconsistent, or experience poor usability. Performance testing can efficiently identify these areas of weakness and ensure the solution is performing at a high level.
There are several different types of performance testing, the most common types of performance testing are:
Load Testing: identifies how well a system performs with the estimated user demands and identifies performance bottlenecks.
Stress Testing: Tests system performance under extreme stress by pushing the system to a breaking point.
Endurance Testing: Tests the long term use of the system.
Spike Testing: Tests the system's reaction to unexpected spikes in the workload by users.
Volume Testing: Tests the performance of the system in response to various data volumes.
Scalability Testing: Tests the system's ability to adapt to an increase in user load.
The most common problems that arise from performance testing are issues with load and response times. Performance testing is important because this is a significant part of a system that should constantly be improved in order to increase customer and user satisfaction.
Overall, performance monitoring of a solution built-in Cinchy can also help to:
Determine whether performance can be improved.
Evaluate user activity.
Troubleshoot problems or debug application components.