How Android Fragmentation Complicates Application Quality
  May 10, 2017

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

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, where 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. Meanwhile, Android users are on OS 2 to 6 and ever 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.

[caption id="attachment_560" align="alignnone" width="779"]Android OS fragmentation Image via OpenSignal Android OS fragmentation via OpenSignal[/caption]

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 developer's guide to cross-browser testing.

How you execute UI testing on all these different mobile devices? Tell us in the comments!