Realistically speaking, how many times do you redownload an application that’s buggy? Unless it’s a hugely beneficial app, which one might begrudgingly use (off the top of my head, I can’t think of any that aren’t replaceable), users tend to just switch to an alternative app that does the same thing — sans bugs.
It’s 2018, and there isn’t much wiggle room for faulty apps. Testing your applications thoroughly before releasing your app is hugely important. Testing while developing the app, or locally on emulators is one thing, but getting hands on with your app on real devices is by far the best way.
The problem with testing on real devices is that, with the wide range of devices available these days, it’s hard to know just which ones to test on. Testing on all devices is just not feasible, so you’re going to make a call to test on the most commonly used devices — a decision you hopefully won’t have to make blindly.
Bugfender: The Who, What and Why
At Bugfender, this is exactly what we’re trying to solve. Bugfender helps you to catch bugs in your application where it’s pretty much impossible to test your application on every device.
As developers ourselves, we too have been frustrated by the lack of good tools to remotely gather app logs to get the key information we need to improve the quality of our apps.
Which is why we created Bugfender — a tool that helps developers see what’s really happening inside their apps. Application logs can be sent straight to a central console, allowing developers to debug their apps on any phone, anywhere in the world.
We collect logs from over 34 million devices — including the device make, model and OS — giving us detailed insights into the most commonly used devices. Subsequently, this paints a clear picture on which devices you really should be testing your apps on.
Why It’s Important To Test On Commonly Used Devices
Of course common sense dictates that you should test your applications on the latest devices, and it’s true, you should. But realistically, the latest devices aren’t likely to be the most commonly used ones (just yet).
Bugfender has been gathering stats on which devices are the most widely used. Based on that, we believe you should consider testing on the following devices:
The Top Devices for Testing iOS
Device (Global Usage %)
Latest
- iPhone X (4.4%)
- iPhone 8 (2.6%)
- iPhone 8 Plus (3.7%)
Older
- iPhone 7 (18.1%)
- iPhone 6S (14.9%)
- iPhone 6 (13.3%)
- iPhone 7 Plus (9.1%)
- iPhone 5S (6.6%)
- iPhone SE (6.6%)
- iPhone 6S Plus (5.3%)
- iPhone 6 Plus (3.7%)
The Top Devices for Testing Android
Device (Global Usage %)
Latest
- Samsung Galaxy S8 (< 2%)
- Samsung Galaxy S8 Plus (< 2%)
- Google Pixel 2 (< 2%)
- Huawei Mate 10 Pro (< 2%)
- Samsung Galaxy Note 8 (< 2%)
Older
- Samsung Galaxy J7 (6%)
- Samsung Galaxy On Nxt (4.8%)
- Samsung Galaxy Note 5 (3.9%)
- Samsung Galaxy J7 (2016) (3.8%)
- Samsung Galaxy Note 4 (3%)
- Samsung Galaxy S7 Edge (2.9%)
- Samsung Galaxy A9 Pro (2.1%)
- True Smart MAX 4.0 Plus (2%)
There are hundreds of other Android devices widely in use, but each have less than 2% of the overall usage.
The Top OS Versions for Testing
Alongside testing different devices, each ecosystem has its own range of OS versions distributed throughout devices. Bugfender also anonymously collects OS version data. We recommended testing your applications on the following OS versions:
Top iOS Versions for Testing
OS Version (Global Usage %)
Latest
- 11 (83.9%)
Older
- 10 (13.3%)
- 9 (2.7%)
- 8 (0.1%)
- 7 (< 0.1%)
iOS 8 and 7 are only listed here to indicate their global usage, and aren’t really required to test on.
Top Android Versions For Testing
Latest
- 8.0, 8.1 (0.2%)
Older
- 7.0, 7.1.1, 7.1.2 (2.2%)
- 6.0, 6.0.1 (2.3%)
- 5.0, 5.0.1, 5.0.2, 5.1, 5.1.1 (3.6%)
- All other versions (< 2%)
Testing On Real Devices Vs Emulators
Now, we’re not knocking testing on emulators. Emulators are great for initial testing, they’re fast and can enable you to catch the most common bugs. Of course testing on emulators is better than no testing at all. But after the initial tests are done on an emulator, it is always recommended that you test on a real device.
Especially if you want to test for performance and gestures — responsiveness, battery drainage, etc — these are things that can only be done on a real device. Testing on a real device also gives you a clearer idea on just how your app responds when network conditions are less than optimal, throttling just isn’t enough sometimes.
However, testing shouldn’t be an either/or situation, but rather, trying to find a balance between the two.
Bugfender Helps Preempt Possible Problems
So at this point we know that people all over the world are using thousands of different devices. And we know that there is just no possible way to test on all of them.
This is where Bugfender comes in handy — you’ll have access to logs from real users on real devices, allowing you to keep tabs on more devices than you’d ever be able to get your hands on.
Discovering issues on these devices may enable you to release a fix for them before users even become aware of the problem. Logs from devices can also help you troubleshoot problems — especially logs from errors that lead to a crash.
Preempting problems before they arise and being able to clearly troubleshoot a problem allows you to offer better support, which leads to happy customers. At the end of the day, isn’t that what we want? A great app, used by happy, raving customers.