Performance Analysis – Application Profiling
Performance Analysis, also known as Profiling, is measuring the performance of an application in an environment, through information collected during its execution. Its main objective is to identify bottlenecks and determine which components could be optimized in order to improve response times, memory consumption and processor loading, among others.
Profiling is used during the initial software development stage as a testing method to early identify and correct potential faults or design errors. Detecting these errors during production will increase costs and efforts and delay time to market.
This process is done in three basic steps:
- Initial Application Performance measure.
- Analysis of potential problems (i.e. coding, memory consumption, processing)
- Measuring the application´s performance thresholds.
Main types of testing for performance analysis:
- Load Testing
The behavior of an application is measured under normal and atypical situations of demand of resources in quantity, frequency or volumes of data. The results allow to determine: response time, process loading, work per time unit and usage of resources.
- Spike Testing
This test measures the behavior under a drastic change in loading due to increased user concurrency.
- Stress Testing
This test is used to identify “breaking point” of an application, systematically increasing the concurrency of users. The objective is to guarantee the correct operation of the application in extreme conditions of concurrence or computational resources.
- Soak Testing
The purpose of this test is to determine the capacity of an application to support the expected load continuously and ensure that it can behave exactly as expected for a length of time without memory leak.