Reporting of Apdex Rating in JMeter
If you have difficulties in making a Pass/Fail call for your performance tests when given your Summary Statistics, then the Apdex metric may come in handy.
Join the DZone community and get the full member experience.Join For Free
Application Performance Index
If, like me, you have some difficulties in making a Pass/Fail call for your performance tests when given the Summary Statistics of the performance test results, then the Apdex metric may come in handy.
The Application Performance Index defines a score to report the quality of the user experience across any application. The score ranges from 0.0 to 1.0 and the user experience is split into different ratings as per the following table:
You can use the Apdex rating to simplify the reporting of your performance tests. For example, for "Good" or "Excellent" ratings, I usually pass the tests. But for "Unacceptable" or "Poor" ratings, I will fail the tests. When the rating comes back as "Fair" then I am open to discussions!
Apdex Score Calculator Plugin in JMeter
Apdex metric is already reported by JMeter, and this for some time now. But you have to generate the full Report Dashboard to get that metric.
Now, with the new Apdex Score Calulator plugin, you can obtain the Apdex score in an easy and straight way. All you have to do is specify your Tolerated threshold T and then the plugin will compute the Apdex score of the samplers and display the results in a table. You can export this table into a file should you wish to import the Apdex results in your test report.
What Value To Choose For Apdex T
As per the Apdex specs, the plugin comes with a default value of 4s for T. Ideally, the Business Analysts and/or Product owners should provide you with a value for T in the performance requirements of your specific application.
In case T is missing and that the default value does not suit you, you can fallback on Industry best practices. Below are some common alternative values for T:
- API testing: T = 0.5s (100ms might be too severe)
- Web testing: T = 1s (as per the RAIL model)
As to me, I have picked a T threshold for my application that results in consistent scores (baselines) so that I can monitor significant movement over time.
Opinions expressed by DZone contributors are their own.