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

How Android Fragmentation Complicates Application Quality

DZone's Guide to

How Android Fragmentation Complicates Application Quality

Learn how to overcome the twin headaches of Android device and OS fragmentation with the help of cross-browser app testing.

· 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.

When there are more than 24,000 unique Android devices, fragmentation favors the consumer who loves choices but creates a massive headache for developers.

Image title

Android fragmentation map (source: OpenSignal).

We already know that responsive design is a recurring challenge - we constantly need to be checking, testing, and optimizing web applications across desktops, tablets, and smartphones. When even the smallest discrepancies in screen size and resolution can impact the quality of the user's experience, fragmentation creates problems for QA teams who know they need to test multiple devices.

But what is Android fragmentation exactly, and how does it affect software testing development? Let's look at the statistics.

iPhone vs Android

If you look at the iOS device series history, the variations between Apple iPhones are minute. While an effective testing strategy should include a few iPhone versions, there are still only some models that haven't gone obsolete. If you're looking at majority, iPhones older than the 4 only hold about .03 percent of the smartphone market.

However, though iPhone has lead the way for the look and build of today's smartphones, the Android market does not match Apple's consistency.

Between Samsung, Google, LG, HTC, Motorola, Blackberry, and Nokia (to name a few of the thousand brands), the range of manufacturers on its own ensures that these devices will not render developer code the same way.

While there's already far more Android brands and models, this also means that new Androids devices are shipping 90 times more often than the one or two iPhones released every year. And, unlike the iPhone, Android user preferences among all these choices are not limited a couple of comparable devices but vary state to state and country to country.

Additionally, since iOS updates are automatic or otherwise prompted, most iPhone users are on either iOS 9 or 10 (and now the recently-released iOS 11). Meanwhile, Android users are on OS 2 to 6 and every decimal in between (a.k.a. Gingerbread, Jellybean, KitKat, Lollipop, Marshmallow, etc.). In fact, only 1.2 percent of Android devices use the latest OS.

Image title

Android OS fragmentation via OpenSignal.

Android Fragmentation and Testing

Despite all of the shortcomings in fragmentation for developers, Android operating systems capture the majority of the market share for smartphones and tablets.

This makes sense, of course. Consumers are often drawn to Androids since they're usually more cost effective. Meanwhile, companies like Samsung and Google have been releasing more competitive technology to peak buyer interest.

Moreover, because there are more models and more choices, the Android user base simply reflects the number of Androids.

While Android application design may be something software engineers want to avoid, the popularity of the devices proves that testing for this fragmented user base is imperative.

In this way, Android fragmentation truly emphasizes the need for cross-browser testing. Because the operating system versions, hardware specifications, screen sizes, and system UI all differ from device to device and brand to brand, test results will vary in the same way.

Having a device lab, or outsourcing test automation to a third-party cloud for parallel testing is truly the only way to optimize usability for various Android devices in order to be inclusive of your current market as well as your potential market of mobile users. To learn more, check out our designer's guide to cross-browser testing.

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 ,android ,mobile testing ,device fragmentation

Published at DZone with permission of Alex McPeak, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

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

{{ parent.tldr }}

{{ parent.urlSource.name }}