Mobile application testing requires us to ensure that we test the apps on a plethora of devices. Soon, we fall into multiple challenges in managing devices. There are many cloud-based services available in the market that give access to physical mobile devices over cloud, which eliminates some of the challenges mentioned above. Perfecto Mobile, De-vice Anywhere, and Sauce Labs are a few providers who offer these services.
These services try to overcome the challenges in mobile lab management.
- 1. Wide range of devices in the market: With the current rapid pace of smartphone revolution, there are a few models released by different phone-makers across the world, each day. This creates a wide diversity in terms of operating systems, phone sizes, and manufactures
Cloud solution: Cloud providers will keep updating their device repository on a regular basis to keep all the latest devices available.
- 2. Unavailability of old models: There are many times when a few old models are out-of-sale due to the release of new phones. However, people who purchased those devices earlier still use those and access the mobile applications. If the usage of those devices is higher, then it’s difficult to test due to unavailability of those devices
Cloud solution: As the cloud providers have been there for a long time, they maintain older device versions as well. This also helps us test any production defects that were found in the phones which are not considered in our device matrix.
- 3. High cost: Considering the wide variety of the devices, the budget to procure physical devices is becoming challenging for a lot of project teams, particularly for short-term projects. Irrespective of the complexity / size, applications have to be certified in all major platforms before releasing it to the market. Otherwise, those are prone to failure
Cloud solution: Cloud platforms provide access to real-time devices and charge as per the usage only. If it is short term, that is, if the need and usage is minimal then using this is an obvious choice.
- 4. Distributed project teams: In a typical outsourcing model, all the project teams (offshore team, onsite team, and developers and testers) may not operate from the same location. Hence, demand for purchasing multiple devices of the same phone will get high as they cannot share the physical devices across all the locations
Cloud solution: Again, going for a cloud-based provider solves these problems as everyone in the project team will have an access to all the devices over a client app or a web browser.
- 5. Inefficient ways to track the availability / usage: Most often, teams track device availability and sharing on Excel that is stored in shared repositories. But as this is a manual process, one can’t assure that everyone is filling it as soon as loaning / returning the device. This leaves other people waiting for a long time to get an access to those devices
Cloud solution: Implementing a web interface for tracking the devices and scheduling will ease a lot of these problems. These days, all the tools that provide services over cloud are providing these scheduling features.
- 6. Security: These physical devices used for testing are not always data-wiped immediately after the use, which leads to a risk others may have an access to the confidential data concerned. The testers may carry these devices home over the weekend to support adhoc requests but at the same time, someone from his family may accidentally use the phone and see the data or may even login to a malicious website unintentionally
Cloud solution: Flushing data after use by each user / session, and also limiting the usage outside proves beneficial. In cloud, this is already taken care of.
- 7. Physical damage and maintenance: As the use of devices is very high in project schedules, maintenance levels of the physical devices are also very high. It could be an unintentional physical damage or the maintenance may be beyond warranty levels
Cloud solution: Going with cloud-based service, we do not need to bother about the maintenance of the devices as those are taken care by the service-provider.
Apart from these, Cloud offers other key features too
- 1. Automation: Most of these cloud-providers do provide the automation capability which serves as a common platform for everyone who will automate frequently used cases. Here are some advantages:
- Need not set-up the environment in local machines
- Anyone can run the scripts by logging into the account
- 2. Continuous integration: All these cloud-providers have the support to integrate one or more continuous integration tools
- Few tools provide the option of exporting the scripts to development environment and run from there
- We can integrate with local CI tools and run the tests over public cloud
- 3. Private cloud set-up: If there are any security constraints, then a few vendors give private cloud set-up mechanism to deploy in a local environment
- Physical devices are connected to a server and tools will support us in enabling the cloud
- Private cloud will have most of the features of the public cloud like scheduling and web interface
- 4. Reporting and video logs: Cloud-providers offer good test reports, which save a lot of time in understanding the progress. Service-providers like Sauce Labs provide video logs for the tests that we perform