One of the most important parts of a successful Performance Test is getting the requirements right. No matter what tool you use or how well you script, your test won’t succeed if you are not accurately simulating end-user activity on the application. Traditionally, the user volume has been a mix of current load levels from log files and projected load from the business. More recently, analytics have been so easily implementable that every site these days, even small blogs, have analytics information.
So how can we use Analytics to help build a realistic load profile for performance testing?
A post by Suraj Sundarrajan (@perfengineering) highlighted some of the current uses of GA in modelling user behaviour for performance testing. These include the calculation of user idle time, 3rd party web components like Flash, Silverlight & AJAX and a current area of interest for me, cache.
Industry reports suggest that ‘Cached pages’ can account for up to one-third of all page views. Due to its obvious performance benefits, browser caching mechanism is being extensively used by application developers. Web server logs do not (and will not be able to) capture user activity metrics for cached pages as no request is made to the Web server. On the contrary, Web Analytics tools track visits to cached pages (as they track usage from users’ browser) and thus provide a more accurate picture of “browser caching” on the web application. Performance testers can use this information to determine what percentage of total application usage is being cached and emulate this browser behavior in the load test scenario. – Suraj Sundarrajan
Suraj does a great job of describing some of the elements of Analytics that will help performance testers build a realistic load profile. Though I hear you saying “Analytics? So what, Google Analytics have been publicly available since 2006, and there were many options before then”. This is exactly where I was headed. Though I am impressed with the new features of GA, one of the most valuable additions isn’t actually a feature at all. It’s the fact that they have been around so long, and that we now have enough history to start to evaluate trends. Combining this data with projected business usage provides another invaluable source of information to help ensure a successful performance test.
Thanks for the article, we have just been given access to analytics. I am looking forward to improving our load profiles based on what we find in there!
Google Analytics are becoming a bigger part of my load testing planing and opens a wealth of information. When arriving on client site, this is one of the first things that I request access to. It’s definitely a lot quicker than requesting these kinds of stats through the official channels.