Client-side performance test statistics represent the behaviour of the application which an end-user may experience in the real world. The analysis of such stats and graphs is termed Client-side Result Analysis. As an outcome of the test, these stats and graphs are generated by Performance Testing Tool and analysed by a Performance Tester. Any performance issue like high response time etc. can be detected by viewing the client-side stats. By analysing the client-side result you can easily filter out the untuned pages and requests of the application. Client-side result analysis is a kick-off point to start the investigation of the root cause by narrowing the search.
Example: A performance test report contains the result of 10 transactions. Out of 10 transactions, 2 transactions have high response time and breached the NFR. It means that only 2 transactions will require the bottleneck investigation and the rest 8 transactions can be parked.
Basic graphs and stats come under Client-side Result:
- User Graph
- Average Response Time of each transaction/request
- 90th, 95th and 99th Percentile Response Time
- Transactions/Hits per second
- Data Throughput
- Error Rate
- Connection Rate
Generic steps to analyse Client-side result:
- Open the test result: Some tools have dedicated analysis tools whereas some tools only generate the report. The dedicated analysis tool has plenty of features like filter, merge, correlate etc. But such options are not available in the tool which only generates the report.
- Validate the SLA/NFR: Check whether the defined SLA (service level agreement) or NFR (Non-functional requirement) has been met or not. This validation approach will give you a high-level idea of the pass/fail status of the test.
- Filter-out the untuned transactions/requests: Make a list of the transactions or requests which breached the SLA/NFR. You can also use the filter option (if available in the test) of the tool. By filtering the failed transactions, you can do a specific search and get the right direction towards root cause analysis.
- Read the Error Graph: Verify the error message and understand whether it’s client-side (HTTP 4XX), server-side (HTTP 5XX) or any other issue.
- Merge the graphs: Start the investigation by merging the client-side result graphs. Generally, an error graph is merged with Response Time, Throughput and TPS graph. In this step, you need to focus on the time period when the error appeared and note down the behaviour of the application during that period.
- Get the clue: Analyse the merged graphs and collect the clues which will help for further investigation.
Client-side Test Result Analysis could be the starting point of the bottleneck investigation but you can not conclude the result only on the basis of this. You have to analyse server-side results too so that the exact root cause can be identified.
Refer to the next posts to learn the analysis of the client-side graphs and stats.