Being a Software Testers it’s important to focus on many aspects to ensure the app works smoothly on every device no matter the circumstance. For this, a tester must consider compatibility as a vital aspect to be covered in their Test Approach.
Approach to test the product
No matter what approach one follows, we need to speak about the Coverage.
Out of the numerous coverage reports, Let’s take a look at the approach on Android device coverage and the unique challenges we can expect from the platform.
Windows and Apple devices are comparatively easy to deal with when it comes to device fragmentation as they have smaller offerings and range of devices in the market.
On the other hand, when we come to Android, it’s a much bigger challenge to deal with because there are countless hardware manufacturers and the devices run different versions of Android which further compounds the fragmentation.
On top of that, we also have to carefully consider the differences in hardware and its impact on the smooth running of the app.
Speaking of the Android OS versions, its effect varies from app to app. Which makes testing the apps even more tedious. The chart given below shows the market share of the different flavors of Android OS.
Source: https://developer.android.com/about/dashboards/index.html
Why device coverage?
There are “N” number of apps which are built for the mobile platform. Majority of businesses target mostly Android, iOS, and then WP. Such Apps developed should run on the OS they claim to support.
For example, if the app was built for Android and if it supports version 2.3 and above, the developer should make sure that app works on
- 2.3, 2.3.3 — 2.3.7
- 4.0.3 — 4.0.4, 4.1.x,4.2.x, 4.3, 4.4
- 5.0, 5.1
- 6.0, 6.0.1
- 7.0
There are many manufacturers who use Android OS, for example –
- Motorola
- LG
- Samsung
- MIUI
- Xiaomi
- HTC, etc.
And all these Manufactures release series of device models with resolutions like –
- LDPI
- MDPI
- HDPI
- XHDPI
- XXHDPI
- XXXHDPI
The trick to ensure compatibility
Device Coverage = (Model name + OS version +Resolution)
Failing to support any one of them might cause compatibility issue. The impact is high when there is a large segment of users who use such devices which are uncovered in our coverage report which results in the users facing compatibility related bugs like installation failure and app crashes.
So, how does one handle this to make sure that our coverage is good enough for the app to go live in the market?
Importance of testing on various devices:
Apps are built for users.
More the number of users, better the business.
To keep users engaged and provide the best app experience, it is important for us to make sure the app performs well on most devices.
So how to make sure we have covered those devices?
Challenge:
Imagine the result of device combinations after applying the above formula. Now, the challenge is how we cover the devices with limited resource and time? Here we have to apply the tactics which make sure that we have given the expected coverage.
My approach for Device Coverage:
These are a few possible ways that help us to achieve our coverage.
- Available Real devices
- Third-party tools (Emulators/Simulators)
- Google cloud
- BYOD (Bring Your Own Device)
- Knowing the top used devices which cover 80% of app users. GA would help us to track the list of top devices for the app.
Device:
Version:
By working on the above-mentioned areas it might help us to target most users and could avoid issues related to compatibility.
Author: Himansha Tyagi |Exploratory Tester
0