So testing your App on multiple real devices be it on Android or iOS has one major problem, to do it properly you need to buy all the different models….. or do you!?
A Quick Note for iOS
iOS, OK so I’m not going into iOS here but read on even if you’re not looking for Android testing and I’ll refer to TestFlight which is a pretty useful SDK that lets you test on multiple devices. Not quite as simple to use as the below methods for Android but we all know iOS is more of a closed system so adding a bit of code and an SDK is what you get (unless you can afford multiple iPhones+iPads+more iPhones and iPads with iOS X and iOS Y installed).
Onto the real Story: Android Remote Testing
Thanks to Android being a more open system, a number of third party services are available that allow you to test on literally hundreds of different device models and OS versions from the present and the past.
There are two that have stood out to me and it is these two that I’m going to talk about here.
APKUDO will test your app in APK form, you simply upload your APK and then wait for the results. Your app will be tested on over 200 Android devices automatically and a simple clear table will then be generated on the website that shows the results.
A best approach is to make an APK of your app with debug logs enabled and then upload to APKUDO. This way you can also look at the logcat for each test.
After testing your first APK and finding problems, it is a simple case of working to fix problems in your code or try different settings, make a new APK and then go back to test again on APKUDO. I did this in Arrow Mania 2 and managed to go from 105 working devices to 171 with modification to some code and my manifest by fixing some bugs and adding better support for older devices like memory issues and supporting installation on external memory cards. Note this 171 devices was my limit, 48 of the devices were running on Android versions or had other hardware limitations lower than I could support and so they stay as failures for my app.
TestObject is another service very similar to APKUDO. The usage is virtually the same upload your APK and wait for test results. Differences are apparent though, TestObject is presented with a feature filled modern web interface. On the results page images of all the devices with your apps screen captured appear so you can instantly spot devices your app didn’t run on (a blank screen usually). TestObject also gives you access to individual real devices in a real time web interface environment so you can actually control your app – though you will need premium minutes to do this you do get a certain amount free (30 minutes when I started my account).
The number of real devices you can test on isn’t as high as APKUDO, there are simulators too but I prefer to turn them off to keep my results clear. Some of the device models here are different too, so all in all I would say use both APKUDO and TestObject to test on.