Come on Asda, sort your website out or face losing market share….

© Copyright Rich Tea and licensed for reuse under this Creative Commons Licence

My wife is a regular online shopper and is a little more tech savvy than the average shopper. She’s heard me “banging on” about website performance for long enough that she knows that when one browser doesn’t work she should try another, or use a different PC (as a geek household we have several!)

We’ve used Asda’s Click and Collect service since it started in our area and have used their Home Delivery service for several years.  Over recent weeks, my wife has been complaining that their website seems slow; she’s experienced several browser crashes when adding items to orders and is becoming generally dissatisfied with the website’s performance. She described this to a delivery driver recently and he mentioned the fact that deliveries were “quieter than normal”.

My wife told me that the Asda website had performed poorly with Chrome, IE and Firefox browsers on her Windows 7 PC. I confirmed the same behaviour on my PC. Rather than adding additional items to the order I gave up and basically decided that we’d accept whatever was delivered. My wife persevered and finally managed to amend the order late last night on an iPad using the Safari browser. (She’s very persistent) 🙂

This morning, I decided to take a closer look at the Asda website. I installed DynaTrace AJAX Edition on my PC and monitored my IE browser as I logged into the Asda website. I wasn’t surprised to see poor performance in client-side code.

dt1

The home page and the groceries pages both respond in a few seconds, but when I logged in and clicked on the page showing my favourite items (i.e. those that we order most frequently), the page took 9.5 seconds to appear in my browser. The bulk of this time was spent executing client-side JavaScript (shown in orange in the image below).

dt2

I’m not testing the Asda website, but if I was… I’d start performance testing whilst simultaneously using APM tools like DynaTrace, HP Diagnostics or Introscope; this way I could give detailed feedback to the developers. I’d also want to use performance test tools that are capable of executing client-side code such as LoadRunner, SilkPerformer, SOASTA CloudTest or NeoLoad. This is preferable to using low-cost/no-cost HTTP-only tools like The Grinder or JMeter.

Now I’m not a developer, but if I was…
I’d be paying particular attention to the following functions:
function navigateToFavouritesListsPage  (Total execution time – 11.8 seconds)
function getPCookieName  (This was called twice and took 3.5 seconds)

For Asda’s sake and that of the delivery driver who is reporting deliveries being “quieter than normal”, I hope that they sort this out soon. My wife for one would be grateful.

Author: Richard Bishop

http://about.me/richard_bishop