Testing is an important phase of the entire software development lifecycle and this importance is paramount in current mobile app ecosystem where users have tons of alternative options. Developers can’t possibly afford to make a mistake here and that’s why the process of testing is considered essential to ensure the app works perfectly on all the target devices. However, Android possesses a unique issue here as there are thousands of different Android devices in the world, often called “the Android fragmentation”.
Developers need to choose the top devices for testing Android apps. And this selection is usually based on the popularity of the device itself, the operating system version it uses and some other factors. Let’s take a closer look. Following are some statistics from official Google developer portal. (This data is changing every day, so visit our Live statistics to get the latest information). As of January 2017:
- Around 0.4% of the Android devices in the world are using Android Nougat 7.0 which is API level 24
- More than 26% Android devices are running Android Marshmallow 6.0
- 34% devices are using Android Lollipop 5.0 and 5.1
- 24% devices have Android Kitkat 4.4 installed on them.
- Jelly Beans which is relatively quite older, still occupies around 13% of the Android devices.
- All previous versions are on less than 3% Android devices.
Besides Android flavor, some other hardware specifications and configurations matter too. For example, during the development process, developers have to consider the possibility of their target audience using big screen devices so they can plan the layout of the apps accordingly. According to the analysis of the data in Google Dashboards:
- 3% of the Android devices have small screens.
- 3% of the devices have normal screens.
- Large screen devices have 6.7% of the market.
- 7% of the devices have extra large screen.
In most of the cases, the screen size matters less and the density of the screen matters more during the app designing process. Let’s see some statistics regarding the market shares of devices with different densities.
- 5% of the devices have low density aka ldpi
- 4% of the devices have mdpi
- 1% of the devices have tvdpi
- 8% of the devices have hdpi
- 4% of the devices have xhdpi
- 8% of the devices have xxhdpi
How to select the best devices for Android app testing?
The most obvious and simplest solution is to choose popular devices based on the market data. However, unlike iOS devices, in case of Android devices, the market is distributed that makes it harder to choose the most popular devices that cover a significant proportion of the market. In other words, in order to save time, efforts and other resources, Android developers and testers have to ignore some of the target audience. Let’s see what factors can help developers choose the most suitable devices for testing purposes.
- Android version is the most important factor here. Based on the data provided above or on Google Dashboards official developer portal, you can decide which specific Android versions have the highest market shares and you can focus your efforts on those versions. It is highly recommended to cover at least 80% of the Android versions which are currently in the market at any given moment. For example, if you test your app on all Android versions above Jelly Beans 4.2, you would cover more than 95% of the devices in the market.
- Screen size and density can affect the overall user experience. That’s why it is preferable to test your app on devices with different screen sizes and densities. You can see the Google Dashboards to know more about the popular display configurations in the market and focus your efforts there. An app working fine on a high density modern device may not run smoothly on a low density device with medium configuration. Some developers make the mistake of focusing on high density and large screen devices exclusively. Not everyone owns a flagship phone and the majority of the people have Android devices with moderate configuration.
- The most difficult step is choosing the popular models. Android device market is very wide and there are thousands of different models of mobile devices running Android operating system. This possesses a dilemma for developers while choosing the devices for testing purposes. The only solution is to go with some popular devices.
What Are 1000 Apps Doing to Reduce Their Bugs to Zero?
Down to Zero is a practical guide to solving bugs. Our team has been developing mobile apps for over a decade and we'd like to share some tips we've picked up along the way.
Remote Testing Tool for Android Apps
As mentioned above, Android ecosystem is too expanded as compared to iOS and that makes it impossible for developers to test their apps on all popular Android devices in timely and cost efficient way. Another alternative is to use the innovative technology of remote testing. Crash reporting tools send developers logs and insights about the crashes remotely.
Bugfender is more than a crash reporting tool as it not only covers total failures and crashes. Not all bugs result in app crash but some lead to abnormal behavioral patterns, performance reduction and even security vulnerabilities. That’s where Bugfender excels as it sends all of the relevant logs to developers and testers so they can fix the bug before their users discover it and move to their competitors’ apps.