Android/iOS Testing with Devices as a Service
As new combinations of hardware, operating system version, and carrier customizations continue to proliferate, testing mobile devices has grown increasingly challenging. Most companies don’t even have the devices needed for what would be considered a reasonable testing spectrum.
A solution proposed by Perfecto Mobile is their “Devices as a Service” offering called MobileCloud. Rather than purchasing all of the devices you need for testing, MobileCloud allows you to rent them on an hourly or monthly basis.
There are three tiers for their service. The basic tier, called MobileCloud Public, allows you to rent devices out of a common pool. When you are done with your test the device it reset and offered to other customers.
The next level up is MobileClould Private. This tier offers extra security guarantees such as VPN access and devices that are allocated to a single company. Hourly rates are not available for this plan, you have to purchase a subscription instead.
The third level if MobileCloud Express. This offers the highest level of security because the application never leaves your premises. Instead they follow the “cloud in a box” model and install the necessary services and mobile devices on site. The downside of this model is that the company has to handle many of the maintenance tasks that Perfecto Mobile would otherwise do for them.
Perfecto Mobile offers hundreds of different hardware/carrier combinations for iOS, Android, and Blackberry. Windows Phone is not currently supported but they are close to being able to offer it.
MobileCloud supports both manual and automated testing. Manual testing is done through what is essentially a remote desktop client. The mouse is used to simulate touch interactions.
For more advanced scenarios, automated testing is also available. Automated testing for native, web, and hybrid (i.e. PhoneGap) applications can be done using a plugin for Selenium. Both Eclipse and Visual Studio are supported, as well as continuous integration servers such as TFS and Jenkins.
In order to account for the various screen sizes and resolutions that different devices have, Perfecto Mobile has created their own scripting language called ScriptOnce.