One of the greatest challenges in developing Android applications is the need to test for multiple devices. For those of you who say that Android fragmentation is "not a big deal", just have a look at this picture. It throws NPEs on some popular devices but not others. Those are far worse than the common screen size / layout issues people typically encounter.
Now, the question is how do you address those issues. Besides purchasing a large number of devices and data plans, and have the tests done by humans, you could now also outsource those tests to automated testing service providers. An early leader in this space is DeviceAnywhere, which provides in-browser access to real, physician devices hosted in their data center. Those devices are fully network capable (i.e., have phone numbers to send / receive SMS). But their service is also very expensive (each device can only be used by one person at a time) and in-browser interactive access of those devices is also very slow.
Now, there are a few new generation of automated testing services that are much cheaper and easier to use. They run software-based UI test runners like Selenium, which acts as "containers" to run Android apps on the device and reports errors. Of course, those services are Android-only due to the availability of those tester runner containers. But they are certainly worth checking out if you primarily develop smartphone apps.
No comments:
Post a Comment