Sometimes during development of an Android application, we’d like to test the application on different real devices. But buying 10 different devices just for testing sounds crazy.
In my case, I was developing an Android game with quite specific layout and so I expected that on some devices the game may look wrong. After some modifications in the code, I’d like to test it on devices with different screen sizes and ratios to ensure that it looks well. But because there are so many Android devices and so many vendors with so many standards (would it be a standard though?), there are as many variations of screen sizes and ratios.
Then I found Test Lab -- a service from Samsung that allows to test Android apps on 10+ real devices remotely.
How It Works
Each registered user receives 20 credits per day.
2 credits allow to borrow a selected device for 30 minutes. 30 minutes is a minimum. But taking into account connection delays, I don’t think any testing can be done faster.
When the device is booked, a user downloads a Java executable and runs it to get remote access to the device.
- quality: low, medium, high (helps control response due to connection delays)
- screen share to make a presentation (sounds interesting)
- capture and record
- save folder (not sure what is this)
- applications (install/uninstall apps)
- clipboard (mobile -> PC, PC -> mobile)
- file (probably file transferring)
- reset Wi-Fi
- install application
- auto repeat (repeatedly testing a series of specific operations)
- logcat window
I used only few features: screen quality and orientation, application manager, logcat, reboot. Those ones work fine, can’t tel about other features.
You can install your Android app via drag-and-drop on the device, but for me it didn’t work. Installing via application manager works fine.
The service is really good, but, as any service, it has some issues. I would not call them critical, but it’s something good to know about.
Don’t forget you app there.
The app should be uninstalled manually before the session is finished. Otherwise it will remain living there and will be available for anyone, who will use the device later. Good thing is that you can book the same device later and clean it up, if you forgot to do it before. Looks like the service is not so popular, so I could re-book the same device easily.
Couple times I could not connect to the booked device. But taking into account that a single user has 5 hours/day available, it’s not a big issue -- just another device can be booked for another 30 min. Unless you need exact type of device and there is only one of device available. Or unless you already booked it for 5 hours.
Also I noticed that after closing the Java app, it’s impossible to connect back to the device running same Java app. Sometimes I could, sometimes I couldn’t. Just in case, it’s better to not close the session until you’re done.
The devices are located in different parts of the world. If you book a device, which is far from you, connection may be very slow. Good thing is that video quality can be reduced to reduce amount of data being transferred, but “low” quality is really low. So it’s better to choose a device, which is closer to you, if possible.
While the service is not perfect and can be improved, it’s very helpful in the current implementation.
Yes, it allows to test only Samsung devices, but it still allows to test your application on phones or tablets, on devices with different screen resolution and ratio. Existing list of features covers almost everything an Android developer may need for testing specifics of a certain device.
The Test Lab is too slow to allow real and constant development and having at least one Android device is a must for development, but checking how the application looks like on a real device is a great addition to Android VMs, which are usually hard to setup somehow close to a real device.
I’d wish other vendors would provide same service, so developers could make applications that suite their devices better.