The number of downloads through the Android platform has grown significantly and is continuing to grow. This is exciting. In the first quarter of 2015 alone App Annie reports that Google Play had over 150 million downloads and created over 50 million in revenue, this is fantastic news for any app developer.
Even with this news, there are some issues that are a cause for concern going forward. The fragmentation of the Android market is larger than ever and it’s only growing. There are a multitude of models, model variants, carrier variants and form factors to now keep track of. When trying to capture the bulk of the relevant Android market share it will be difficult for developers to keep track of all of these devices.
The fragmentation issue can affect developers in a number of ways. The compatibility rate will lower as more devices become available. The ability to track all of the compatible devices and understand their market value will become vague. Old OS’ that still have considerable market share will be disregarded and their value will be indeterminable, regardless of how many devices are out there. This could account for a considerable loss of revenue in the long run.
Think about that, an app might only be compatible with the most popular devices which make up to around 40-50% of the entire Android market in US. This could cause a loss of 50-60% of potential app users. This could be huge for an app’s revenue, especially when the app heavily relies on showing advertisements. Besides, when that 50% of users download the app and find out that they can’t start the app or that there are different kinds of compatibility issues, this is going to cause bad reviews which is something we try our best to avoid. These issues weren’t apparent because they weren’t tested for.
This large number of devices makes it completely impractical if not impossible for an in-house development team to try and resolve this incompatibility issue. The managing of so many devices would raise the development cost of any application considerably, and the constant need to update and expand the library of devices only adds on to this. The operational cost of such a venture could even exceed the development cost of an app by itself.
This issue isn’t just a problem for Android. iOS also has a large number of devices and an even larger number of OS versions. This is only due to increase. All of the previous issues with device fragmentation apply to iOS as well. Given the revenue numbers for iOS applications, this could even be a bigger issue.
The only practical solution for this is test automation. By using a service dedicated to test automation, a developer can greatly lower their overhead and reach a larger percentage of the market share. A test automation service can run compatibility testing over a larger number of devices, greatly reducing the cost of development and broadening the reach of an app. Automation also allows for quicker results by creating scripts that they can then run across a larger number of devices. This kind of service would typically require a very large QA team, and also impact the release timeline of an app.
The real cost reduction here would come from the fact that true test automation is done with physical devices. To properly test a device you need the physical device itself. Often companies try emulate devices but the results are nowhere near as reliable or detailed. Proper test automation is handled via a large number of physical devices and so the results are far more substantial and reliable. I will talk about how to choose the right test automation service later, stay tuned.