September 24, 2015

Testing Your App's Mobile Performance

Written by Tom

keyword icon DevOps, Performance monitoring, SEO, Mobile

As of April 21, 2015, Google indicates the sites it deems "Mobile-friendly" in the service's mobile search results.

 

As Sitepoint's John Tabita writes in a March 24, 2015, post, Google is testing a red "Slow" indicator for the sites it identifies as mobile-hostile.

The Google Webmaster Central Blog lists the criteria a page must satisfy to be eligible for mobile-friendly status:

  1. It doesn't use Flash or other software that's "not common on mobile devices."
  2. Its text is readable on a mobile screen without zooming.
  3. Content is sized in a way that doesn't require users to scroll horizontally or vertically.
  4. There's sufficient space between links to allow them to be tapped easily.

Even if you follow Google's guidelines for creating fast mobile sites, you can't be certain your app will avoid being added to the search king's naughty list unless you test it by simulating real-world server-load conditions. As CIO's Jen A. Miller points out in a June 18, 2014, article, testing a web app's mobile performance is trickier than measuring a typical page's load speed. You have to test performance over Wi-Fi and 3G/4G networks, not to mention the multitude of mobile devices now in use.

Google offers developers several tools to help them "mobilize" their sites and web apps. The Mobile-Friendly Test page analyzes any URL you enter into the test's lone text box. A second or two later, you're told how mobile-ready the page is, and whether any of the page's resources were blocked by robots.txt. You're also shown how the page renders in a mobile emulator.

Google's Mobile-Friendly Test indicates how well a page or web app renders on mobile devices, as well as whether any of the page's resources were blocked by robots.txt. Source: Google

Google also provides a Webmasters Mobile Guide, a mobile usability report that takes a site-wide perspective on mobile readiness, and a how-to guide for third-party software to facilitate migration of sites hosted on WordPress, Joomla, and other content management systems to a mobile format.

Testing mobile performance requires a broader approach

The wide variations in networks and devices on which mobile apps run are only the beginning of the challenges mobile testing presents. TechTarget's Jan Stafford interviews Perfecto Mobile's Eran Kinsbruner about ways to avoid common pitfalls when measuring the performance of apps delivered over mobile connections.

Kinsbruner emphasizes the need to combine cloud testing tools, automatic tests, and manual tests. In particular, location-based and voice-related apps require custom manual tests to account for such variations as incoming calls and SMS messages, low battery, email alerts, and roaming. However, it's most efficient to automate as many tests as possible:

  1. Automate the mobile scenarios you test most frequently.
  2. Automate whenever you can predict the test results.
  3. When possible, automate the most tedious manual tests.
  4. For efficiency's sake, automate the simplest tests.

Kinsbruner offers several other caveats for an app developer's mobile strategy:

  1. Minimize use of device memory by the app, such as displaying an image on screen that's stored locally.
  2. To preserve the mobile device's precious CPU cycles, don't parse Javascript until the application needs it.
  3. Avoid relying on DOM objects, which are more complicated to process on mobile platforms.
  4. Despite the increased availability of 4G and Wi-Fi, continue to test at slower 3G speeds to ensure adequate performance even with bandwidth constraints.