While it was not the most exciting announcement at Google I/O, one of the most useful services announced was that of the upcoming Cloud Test Lab. Cloud Test Lab allows Android developers to have their apps automatically tested on real physical devices. Sounds pretty cool eh? Well it gets better, on launch it will have 20+ Android devices and it’s free! Well some features will be free anyway. Here is how Google describe the service:
For comprehensive testing before releasing your app, Cloud Test Lab gives you access to physical devices so you can see what’s going on for your users in the real world. Plus, you can run all of your tests across all devices, all at the same time—giving you access to massively parallel testing, bringing you deep and scaled insight.
What you need to know
Google Cloud Test Lab
Current Status: Early Access sign up is now open
Estimated Release Date: September 2015
Device support: 20+ devices on launch
Cost: Free for basic functionality
Sign Up: Follow the links from your Google Play Developer Console account, as shown below.
The Early Access Form is simply a few questions as shown below. You will need to have an app published though the Developer Console to apply.
Cloud Test Lab functionality
The Google Cloud Test Lab is based on technology from Appurify, which Google acquired back in June 2014. Appurify have some pretty awesome technology, so this is a service that is packed with potential.
As this is a yet to launch service, details from Google are a bit vague at the moment. Here are a couple of important statements that give a bit more of a hint of what we can expect.
Every APK submitted to Play Store’s Alpha and Beta channels will be automatically scanned on more than 20 physical devices and get a free launch performance report. Developers who want to run customized testing can eventually purchase it through Cloud Test Lab.
My hope is that Google’s strategy won’t be to focus on making money directly from this venture but use the service to drive an improvement in the quality of apps. The service has the potential to make it faster and easier for developers to deal with the issues associated with the fragmentation of Android devices. I see this playing out with a subset of functionality on a subset of devices being provided for free. This will be fantastic for indie developers and small companies that do not make enough money from their apps to spend $1000’s on testing. This free functionality is likely to be the use of basic app crawlers to provide unscripted pseudo-random testing. It will probably be more advanced than letting monkey loose on the app and most likely built from the Appurify robot app crawler functionality.
A much larger set of functionality from a much larger pool of devices is not a cheap service to provide and will come at a cost for developers. This will target the top 1% of apps and provide a method for supplementing the apps existing internal testing. The sort of extra functionality likely to be included would be features such as:
- Support of automated testing frameworks such as Espresso and UIAutomator
- Full control of device environment, such as network connection, signal strength, memory, language and location
- Comprehensive network traffic, memory, CPU, battery and FPS performance profiling
- Comprehensive device library
Devices I want to be included
Now I don’t ask much, but I want the physical devices to be a range of devices that covers the following:
- Devices from each manufacturer
- Flagship devices for each of the past several years
- Each released CPU architecture
- Each Android API, including preview APIs
- Combinations of Feature Sets
- Android One devices
- Various physical screen size
- Various screen densities
- Various screen resolutions
- Range of languages
- Languages with RTL layouts
- Android Wear devices
- Android TV devices
- Android Auto devices
When do we find out more?
More details and a test run of the service is still a month or two away. Stay tuned to the Cloud Test Lab site for updates.