Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

3 Steps to Address Mobile Testing in the Face of Device Fragmentation

DZone's Guide to

3 Steps to Address Mobile Testing in the Face of Device Fragmentation

These simple steps will help you make sure your mobile app is compatible with the most different phones and operating systems possible.

· Mobile Zone
Free Resource

Download this comprehensive Mobile Testing Reference Guide to help prioritize which mobile devices and OSs to test against, brought to you in partnership with Sauce Labs.

A wide variety of devices at different price points is great for consumers, but this fragmentation poses a major challenge for mobile developers trying to make sure their apps work well across all these devices. It is an especially thorny problem for an independent developer. Constrained by financial resources and facing pressure to get an app out quickly can lead to hasty, inadequate real device testing, a critical mistake when launching or updating an app.

By some estimates, there are upwards of 50,000 mobile devices types in use today, running varied combinations of operating systems. Developers and testers in large firms may have access to robust labs of many actual devices to test on, but that’s just not a realistic option for an independent developer. But not testing on enough real devices leaves a real risk of a terrible first impression and negative reviews that ruin any chance they may have for success.

But, if you are an independent developer, here are some steps you can take to help mitigate the challenge posed by device fragmentation.

Step 1: Test First on an Emulator, Early and Often

We all know there is no replacement for testing on actual devices, but using an emulator early on is a budget-friendly way to identify initial bugs that need to be addressed. If you’re not already doing this, I strongly recommend it as a good first step.

Image title

Step 2: Prioritize Devices You Must Test On vs. Those That Would Be Nice to Test On

After the emulators, you do need to get your app on real devices for testing before releasing it to the public. We’ve already agreed that you can’t test on everything, so what devices should you test on?

Image title

Step back for a moment and think about your intended audience, and from there develop a realistic and manageable set of configurations that you MUST test on: 

  1. Will your customer access your app through iOS or Android, or both?
  2. Are you focused exclusively on mobile phones, or will your app be available on tablets? Or both?
  3. Are they more likely to have updated hardware and OSes, or are they likely to be late upgraders?

By considering these three questions, you can quickly create a list of device combinations that you need to cover as part of your real device testing.

If you’re wondering what devices are new and popular, a site such as gsmarena.com can provide an up-to-date list of popular Android devices. 

A combination of a minimal number of devices, form factor, and OSes can quickly be overwhelming for an indie developer:

Android:

3 phones and 2 tablets, 2 OSes = 10 configurations

iOS:

2 phones and 2 tablets, 2 OSes = 4 configurations

You probably don’t have 14 devices on hand, and you don’t want the cost and hassle of upgrading your hardware and keeping OSes up to date.

You DO need to have several key devices on hand to perform much of your real device testing. You can cover your other real device testing needs by leveraging a mobile device cloud.

Step 3: Mobile Device Cloud Services

Mobile device clouds are a relatively recent offering, but they are becoming a viable option for access to actual devices. They allow you to purchase access to devices, either on a pay-per-use basis or a monthly minutes subscription. Then you can access their library of devices through your browser. You can load your app or mobile site on these devices, and perform tests remotely. Many will also let you run automated test scripts.

So now you don’t have to keep a large number of mobile devices on-hand to verify your app on a critical set of real hardware and ensure a high-quality experience for your most important users.

Following are several popular mobile device cloud solutions available today:

  1. AWS Device Farm
  2. Perfecto Mobile
  3. SeeTest
  4. Xamarin
  5. Saucelabs
  6. BrowserStack

Image title

We are also launching our own mobile cloud solution - Kobiton. It currently offers a 15-day free trial (no credit card required), during which you can test your application for free. Other solutions also offer free trials; you can check them out in the comparison table below:

Features

No.Concurrent session

No. of accessible devices

Device Lab management

Testing minutes

Number of Users

Kobiton

Unlimited

30

Yes

120

Unlimited

AWS

Limited

Up to 400

No

1000

Limited

Xamarin

3

Up to 450

No

Up to 3 Hours per day

Limited


While Kobiton Free Trial stands out as it offers the most features for trial users, but only with a selection of devices. Other solutions like AWS and Xamarin offer a longer period of testing in a wider range of devices. Choose whichever suits you. Get your apps tested often on a real device to ensure the app visualization looks its best on different screen resolutions and brightnesses.
 

Don’t let your great idea and hard work fail because of device compatibility issues. Test your app on the devices your customer uses and ensure a great experience. Happy hunting!

Analysts agree that a mix of emulators/simulators and real devices are necessary to optimize your mobile app testing - learn more in this white paper, brought to you in partnership with Sauce Labs.

Topics:
mobile testing ,mobile ,mobile app development ,compatibility testing

Published at DZone with permission of Ray Vu. See the original article here.

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}