Is Testing on Rooted Mobile Devices Worth It?
Root as a term refers to the core—whether you are talking about a plant or a mobile device. As testers, we deal with a lot of devices—of the mobile and non-mobile sort—and device manufacturers have restricted settings that they impose on devices to ensure overall secure usage. Some devices have tighter restrictions than others, and the level of restriction depends on the level the device and operating system maker wants to impose.
Rooting in the digital world refers to unlocking preset restrictions to get complete hold of the core potential of the device and the operating system. While there are certain country-specific legal restrictions to keep in mind when attempting to root a device, for the most part rooting is legal. However, it is a complicated process with its own pros and cons that need to be considered. Specific to software testing, rooting has advantages that make it worth considering, especially when testing for global software where there's a need to simulate global scenarios.
For example, rooting helps with simulating both a high- and a low-end mobile experience on a single device, enables testing for global locations, facilitates automation through easy identification of image locators, and brings in better load simulations. However, there are a few things to keep in mind:
- Once rooted, it is very difficult to set the device back to its original configuration (unroot).
- In most cases, the device's warranty ends once it has been rooted.
- The device may no longer be used for regular, realistic end user scenarios, as rooting has made you a super and privileged user.
So while rooting may help you achieve a few otherwise difficult-to-simulate scenarios, it comes with its own baggage that can weigh down potential benefits. Testers have to carefully weigh the pros and cons and the true need to root a device for a testing assignment before doing so. If the scenarios you are able to accomplish with a rooted device are numerous, you could possibly root just one device for the entire team to leverage. It may also be a good idea to inform stakeholders that the scenarios have been achieved on a rooted device, so that they can explore if other realistic options are possible, such as if the team would rather invest in real devices instead of having to leverage a rooted device.
These are good choices to make upfront, but nevertheless, rooting is possible and opens up the potential to scenarios that would otherwise not be very straightforward to test.