Well, to ensure that it meets the expected service levels in production, as well as deliver a positive user experience. Application performance is a key determinant of adoption, success, and productivity.
Before we begin, lets understand what performance testing is
Performance testing is a method performed to determine the responsiveness and attitude of a system when a particular workload is applied on it. It can also give us the information about how the system performs in variable workloads in terms of average throughput, average response time, user hits per second etc.
Performance testing can be done using jmeter and also by BlazeMeter. A BlazeMeter report based on a jmeter script somehow gives us the detailed report of how the system worked in the applied load under a fixed stress point.
These reports give us the exact count of errors for each action, the behaviour of errors, and the response code returned for each of these errors.
BlazeMeter also provides various graphs related to the parameters like load time graph, engine health graph, response time graph, request status graphs etc. which will give us a quick understanding of how the system performs in response to each request of our web/mobile application.
The user load graph illustrates the response of the system at different stages of the user hits,that is,the percentage of error occurred during each second when the entire user load hits the system simultaneously.
The load graph above clearly depicts the performance of the system for an applied user load. All the indicators of the graph is marked as horizontal curves.
Clicking on any point will display the maximum users, user hits/second and error rate at the point.
For an ideal system, the error rate stays at 0% which turns the graph to vanish out the red error curve in the system even when the user hits per second increases upto the maximum users.
A Response time graph indicates the rate of responses against the user hits. The response time graph shows how the applied user load affects the responses.
The graph shows only one curve which indicates the response time for each second.
In the above graph, when it reaches the maximum applied users, the response time also increases to the maximum which indicates the low performance of the application.
For a good performing system, the response time is uniform for every second and does not vary.
The response time curve will be straight and response time will be low for an ideal application.
On clicking at any point on the curve, the response time for the maximum users at that particular second is displayed.
A timeline graph depicts various parameters in a single graph. The parameters depicted in the graph are as follows:
The key performance indicators shows the status of various parameters when the application worked on the applied load.
There are 4 different curves which indicates each of the key performance indicators:
On the left side of the timeline graph, shows the API’s with error count for each, response time, latency time, bytes per second and the response code received for each of the requests.
Clicking on each of the options, it will highlight the respective request curve with all of its key performance indicators.
An engine health graph shows the capacity of the user engine used for testing.
It also helps us understand whether the testing infrastructure is the reason for obtaining bottlenecks or errors.
Performance testing gathers all the tests that verify an application’s speed, robustness, reliability, and correct sizing. It examines several indicators such as a browser, page and network response times, server query processing time, number of acceptable concurrent users architected, CPU memory consumption, and number/type of errors which may be encountered when using an application.