It’s a question I hear from nearly every client. So here are five ways to make that testing easier.
There are thousands of variants of Android devices out there and your app will be run on an incredibly high number of them. There simply isn’t a way to test on every different flavor of device.
But like nearly everything in mobile app development, it simply requires a clear plan of action and the agility to respond when things change.
Here are my five tips for a basic testing strategy for Android:
1. Test on classes of devices, using popular models as a stand-in
You signed on to this platform because you wanted to add over a billion potential users to your mix, but the scale is more than you can pin down. That doesn’t mean that you can’t anticipate things that you might see in the wild.
Android devices fall into a couple broad categories – compact phone, phablet, tablet, flagship model, economy model, etc. Pick a few popular devices in each of those broad categories and focus testing there.
This allows validation of some of the most common devices while also covering a large slice of potential devices.
2. Automate as much as possible
Every CTO and product owner should be thinking about how unit tests and automated acceptance tests can be leveraged on their products and then commit the time and resources required to keeping them up to date.
This applies to all mobile apps (and server APIs) but is especially true when dealing with fragmentation. Ensuring the core of an app is solid makes the edge cases much easier to focus on and fix.
I am particularly fond of Cucumber and it’s mobile app variant Calabash. By automating acceptance tests, you can cover a cross section of devices. This allows a quick assessment of layout issues or other device fragmentation problems.
3. Test what your customers are using
Google Play provides a valuable and often overlooked set of data on what devices your customers are actually using. This data needs to inform your device selection.
If you see a specific device become popular amongst your real world users, it had better be quite popular with your testers.
4. Respond quickly to real world issues
Another critical piece of data Google Play provides are the crash logs from real users. No matter how perfect your app may be, and no matter how thoroughly tested it is before launch, something will go wrong in the real world.
If you stay constantly aware of issues you can quickly move to address things that come up. Play’s ability to release updates without any review period can be used to a huge advantage.
Be vigilant in investigating issues and your customers will reward you.
5. Never forget problem devices
We’ve all seen that one crazy thing that only happens on one device or something that always seems to cause issues. Once you’ve seen it, use that device for all testing.
Remember, testing is about finding problems and solving them. Look at devices that always reproduce an issue as a negative; they are goldmines for finding issues before your customers do.