How to deal with fragmentation when testing mobile apps and games

By | April 30, 2015

When it’s time to start testing your new app or game there’s one headache that’s unavoidable – fragmentation. The two most popular platforms in the mobile world, Android and iOS, both suffer from fragmentation issues. It’s a much bigger challenge to deal with on Android because there are so many hardware manufacturers, and a bigger split on software versions.

2013-07-30-image-6

For up to date statistics on Android software version distribution check the Android developer site. You’ll find that only, just over 5% of users are on the latest version, Android 5.0 Lollipop. There’s still fragmentation with iOS, but well over 70% of users are on iOS 8 now, so it’s not as pronounced. On top of software versions you also have to consider the differences in hardware and how they might impact the smooth running of your app or game.

Fragmentation is not a new problem

People make a big fuss of the fragmentation issue, but the truth is that this problem has been around since people starting developing games and apps. The PC market is horribly fragmented, with all sorts of possible software versions and permutations of hardware to test for. The basic principles of testing on Android are exactly the same.

download

  • Start by identifying your target audience. Look at the most popular devices in your main target countries, and focus on developing a great experience on them. There are thousands of different Android smartphones and tablets out there, but a handful dominate the sales charts.
  • Use default platform navigation and controls, whether it’s iOS or Android. If you’re porting, then do a proper redesign that takes advantage of the way your target platform works.
  • Try to achieve the same thing on all versions of the OS you are targeting. You want the UI to be as close to identical as you can get.

Practical techniques, tools, and services that can help

It doesn’t make sense for most developers to try and cover every possibility. It would be far too expensive to buy in every possible Android handset. You want your target devices for some solid real-world testing, but you have options for the rest of the field.

  • Employ automated testing to cover a lot of ground and flag possible problems on specific devices. If you build automation into your development pipeline, then this will serve you well going forward with updates as well.
  • Consider outsourcing functional testing to a lab with a wide range of hardware, or, failing that, employ emulators to cover as many different models as you can.
  • Form partnerships with other Android developers. You can agree to share APKs and help each other out with basic testing on different hardware.

Deal with defects as they arise

There’s no such thing as a zero-defect product. Your app or game will have bugs in it and there will be hardware and software combinations out there that throw up serious issues. Keep a close eye on your reviews and forums. You can deal with user defects based on untested hardware according to how popular each device is. Fix problems on popular devices first, and make sure you’re quick to test the big new releases.

Fragmentation is just one of the costs of doing business, but it’s not really as big a problem as is often made out. If you design and prepare properly, and have a solid testing plan in place, it needn’t cause you any sleepless nights.

Category: Quality assurance testing Web and software development Tags: , ,

About Simon Hill

Simon is an experienced freelance technology journalist covering mobile technology, software, and videogames for a wide variety of clients in print and online. He regularly contributes to Digital Trends, Tech Radar, and Android Authority, and he ghostwrites for CEOs in the technology space. After completing a Masters in Scottish History at Edinburgh University, he began his career as a games tester, progressing to lead tester, game designer, and finally producer, before leaving the industry to write full time. He is passionate about the potential for good software and hardware to improve our lives, and strongly believes that thorough testing is a vital prerequisite for greatness.