Mobile device fragmentation is a process that happens when some mobile users are using the older versions of an operating system, while other users are using newer versions.
The term mobile device fragmentation is also used to describe different versions of the same operating system that are created when an original equipment manufacturer (OEM) modifies an open-source mobile operating system for specific products.Ā Ā
Mobile device fragmentation can be a problem for software developers who must create different versions of the same app to ensure it works correctly with different versions of a given OS. It can also be a problem for testers as well in order to test the mobile applications on different devices to make sure the application is compatible with all the devices in terms of functionalities, screen sizes, screen resolutions, etc. It can also be a problem for IT departments because different operating versions have different capabilities, making them harder to manage and secure. Mobile device fragmentation is often made worse when the wireless carrier, and not the device manufacturer, is in charge of deciding when to deploy operating system updates.
Device Fragmentation has been a larger problem for Android in comparison to iOS. This is mainly due to the following reasons:
- iOS releases control its software to the end-users but Google software release depends upon the vendors and carriers to push it to the users with tweaks and enhancements.
- 89% of iOS devices are using iOS 10, while Android Lollipop and Marshmallow are still the most used versions.
- Android has a larger variety of devices such as mobile phones, tablets, phablets, wearable techs, etc. CPU, memory, screen resolution, OS optimization, and hardware are to be different.
Android Fragmentation
At a high level, Android Fragmentation refers to the fact that there are a massive number of different Android OS versions available and operational in the digital world.
Given the variety of versions in existence, one can imagine why āfragmentationā might feature in-app developersā and testersā nightmares because not every Android user will even update their particular OS at the same time. Additionally, every app that seeks to corner the Android market will have to run on every single OS version so as to not alienate any users.
(40%) Android users all over the globe are no longer receiving vital security updates from Google. This definitely opens them up to the risk of malware attacks, data loss, and a range of security breaches which eventually adds pressure on the app developers because they have to create software for OSes with unstable security.
Why Does Android Fragmentation Occur?
The primary reason Android fragmentation occurs can be summarized in two words: open-source.
Manufacturers, with some limitations, are free to use and play with Android as they desire. Eventually, they are responsible for providing the updates for the particular Android versions but not every manufacturer may provide the updates consistently. Also, some Android versions might be heavily modified and not even respond to the updates created for the other Android versions.Ā
Effects Of Android Fragmentation
Fragmentation in Android has far-reaching and diverse effects on the digital market as well as both hardware and software development practices.
- Inconsistency: Certain apps may require a particular Android version as well as a certain device feature to function properly. Given the variety of versions, there is no guarantee that all, or even a large number of operational Android devices will be upgraded to that version. This restricts the large number of potential users an app can target to a serious extent, and also makes it difficult to optimize the app for every single version.
- Development and QA difficulties: The vast number of device-Android versions makes it very difficult and exhausting for the app developers to tackle all the technical complexities while creating, verifying, and optimizing an app for every possible Android device. Testers also have to test the app on as many real device-Android combinations, which can be very expensive without the right infrastructure in place.
- Bad for BYOD (bring your own device): When enterprise mobility is being implemented with BYOD (bring your own device) policies, Android can be problematic. BYOD (bring your own device) is a policy that allows employees in an organization to use their personally owned devices for work-related activities. Fragmentation in Android means that the organization will have to deal with multiple security issues due to the difference between Android versions. This makes app management and security management complicated and tedious.
How To Overcome Device Fragmentation During Mobile Testing
One of the prominent challenges we face in mobile testing occurs because of Device Fragmentation. There are varieties of different versions of mobile OS and device models with different screen sizes and resolutions, the platform they support, manufacturers, keypad types, etc. Mobile applications are expected to run in varieties of devices with different configurations.
- Identifying the target audience
Identifying the target audience helps the tester to create real-life use cases and scenarios. Understanding the most popular devices among the target users and their expectations from the application helps to focus on developing a great user experience for them. - Choosing the proper reference devices
It is impossible for testers to test the app on all the devices that are available on the market. So, the best approach is to limit the scope of testing by choosing a sufficient number of reference devices that are commonly used and popular among the user group based on age, geography, and moneywise diversities. - Mobile device groups
Based on the target customer group, device groups can be created according to their priorities, technology, and their usage. Regular monitoring of devices in the market and removing the devices from the device group which does not meet the target users by checking the group criteria from time to time. This helps in having the proper device for testing minimizing the testing effort in terms of time and cost. - Mobile device labs
Building an in-house device lab can be an expensive option for a small team. An alternative to buying all the testing devices can be renting them. The testing devices can be rented from mobile device labs or device clouds. They offer mobile testing in the cloud where testers or developers are able to upload the app file to the cloud, select the devices, and start manual or automated testing. Some providers offering mobile device test cloud are:- https://mobilelabsinc.com/
- https://saucelabs.com/
- https://www.xamarin.com/test-cloud
- https://www.soasta.com/load-testing/
Alternatively, Open Device Las was introduced by the mobile community where anyone can borrow devices for testing purposes for free but are available in limited areas. Also, there are more solutions like Emulation tools, BrowserStack, AVDs, Genymotion, etc.
Thanks for reading, Donāt forget to share your thoughts in comment section!