15 years ago, software testing was almost the exclusive domain of desktops and laptops. Now, it has become an umbrella term that applies to a range of platforms from PCs and browsers to smartphones, tablets, and even wearable technology.

Despite this proliferation of new devices and interfaces, are the fundamental building blocks of software testing really that different? For example, would someone who specializes in Web-based applications have a difficult time switching to mobile software testing?

On the surface, the answer appears to be “no.”

  • Testing methodologies are universal (the tactics may change but the strategies are eternal). And thus, the logic and processes you’d use for one environment should apply to all environments.
  • Successful testers are adaptive by nature and master most of their skills on the job or through self-study. This is almost out of necessity given that there exist very few college-level software testing courses, and even fewer classes dedicated to mobile testing.
  • From Evernote to Gmail to Skype, applications continue to crop up in both the mobile and online worlds with increasing frequency. This convergence allows you to “essentially” test for the same bugs and functionality (although not always).

But despite these similarities, one could make the argument that testing for mobile and testing for the Web are not the same. And perhaps there should be schools dedicated to each vertical.

Let’s look at some of the major differences.

1. Limited Real Estate
The most obvious difference is screen size. Responsive design is relatively easy to code for desktop and laptop browsers – most of which come with predefined ratios anyway.

By contrast, mobile devices are much smaller. Aligning images and text becomes a real challenge – especially when you factor in features like portrait orientation (i.e. the ability to rotate a mobile device and have the image flip accordingly).

Worse still, there is so much more variation – even when dealing with the same manufacturer.

For example, the iPhone 5 has a 4” display, whereas the iPhone 6 is 4.7” on the diagonal. When you add in the iPhone 6 Plus (5.5”), iPad Mini (7.9”), and iPad standard (9.7”), it becomes harder and harder to code and test mobile applications that look “good” on all screens.

2. Storage and RAM
Screens are not the only spatial constraint mobile software testers face. You also must factor in the limited storage and processing power of today’s mobile devices. Even high capacity phones can quickly fill up as users download apps and multimedia.

In the browser world, such constraints are moot. Desktop storage is essentially unlimited (measured in terabytes). And cloud-based storage is easy to increase, even if this requires charging higher prices to end-users.

3. Internet Access
With the exception of a few off-line browser applications (e.g. Gmail), Web-based software always requires an Internet connection.

Mobile apps may or may not need online access (although those that don’t often take up more space – see point #2 above). When Internet is needed, however, mobile software testers must factor in 3G and 4G – in addition to normal Wi-Fi.

4. More Configurations
The majority of today’s browsers follow the same basic logic. There are, of course, exceptions to this rule. But Chrome is not radically different from Internet Explorer. And Firefox has more in common with Safari than Mozilla or Apple fans would ever care to admit.

Not so in the mobile world.

You’re not simply choosing between iOS, Android, Windows OS, and BlackBerry. You must also factor in the different hardware limitations specific to devices manufactured by Nokia, HTC, Sony, Samsung, Apple – and the list goes on.

Again, even when dealing with the same manufacturer, problems exist. For example, Siri doesn’t work with the iPhone 4 or earlier (unless you jailbreak it).

Further complicating the issue, new mobile devices hit the market with unbelievable frequency. Whereas Web-based software testers nearly always have access to the platforms they’re testing, mobile app developers often have to use simulators and emulators to test devices that have yet to become public.

And then you have software updates.

Neither side is immune, but mobile applications tend to go through more iterations (as do their underlying operating systems).

Browsers go through updates as well, and major upgrades can render certain functions obsolete. But this can usually be resolved with patches and plugins – fixes that enjoy relatively long lifetimes.

5. Input Interface
Another major difference is how users interface with mobile applications versus Web-based software. With the latter, it is usually with keyboards and mice (although even this is changing).

With mobile applications, testers must factor in touchscreens, USB connections, and even voice recognition (thanks again, Siri).

6. Performance Speed
There is one area in which Web-based software testers face a disadvantage.

Speed.

According to Google, delays of 400 milliseconds or longer are enough to scare away today’s increasingly impatient online browsers. You may have an easier time testing applications for the Web, but your product can still fail if it doesn’t deliver as promised in 399 milliseconds or less.

Mobile users tend to be more forgiving. If they’ve taken the time to buy, install, and configure an application, they’ll stick around a little bit longer.

Should You Reconsider That Career in Mobile Software Testing?

Reading the above, it’s easy to feel sorry for mobile software testers. It seems that at nearly every turn, they have a much harder job:

  • They must test more configurations across more devices.
  • They must work with smaller screens, less processing power, and greater storage limitations.
  • They must keep pace with faster innovation (often without access to the very tools they’re testing).

But is this a bad thing?

I would argue no.
Truly professional software testers are problem-solvers by nature. And far from being a deterrent, the challenges of mobile testing offer golden opportunities for us to shine. As both the complexity and diversity of software applications increase, the unique skills we possess become more valuable.