Regardless the fragmentation of Android smartphones, it’s necessary to optimize the choice. Indeed, it’s impossible to measure the consumption of resources and energy on all the market devices.
Several strategies are possible to choose the smartphones that will be integrated into the test campaigns. First of all, you need to define a validation goal:
- do I want to track energy consumption over a representative range of my users?
- do I want to focus on a reference device?
- Do I want to take the least powerful device to detect performance issues?
Classification of devices
A first classification can be done by taking ranges of smartphones: low-end, mid-range and high-end. High-end smartphones integrate the latest technological developments. At this date, we can consider that a smartphone with a latest generation CPU (> quad-core), more than 2GB of memory and a definition> 400ppi is a high-end smartphone. In contrast, the low-end smartphone integrates old generation technologies (single core CPU, <1GB of memory).
Testing a low-end device will detect performance issues. Indeed, given the lower capacity of smartphones, the application will be less efficient. This test will also verify that the application is usable for all users and avoid the exclusion of certain people.
Test on a mid-range device allows to cover a validation on a large number of users. Indeed, this type of device is usually the most widespread.
Test on a high-end device will make it possible to check that the application is fluid on these devices. Buyers of high-end devices are indeed more demanding of performance. In terms of battery, given the new generation components, it is possible to have an additional cost of consumption despite significant performance. These campaigns will therefore measure it (high definition screen, octo-core …)
Choice of devices ranges and devices to take into account
In order to reduce the testing possibilities, it may be possible to delete certain ranges. For instance, if the application is intended for a targeted audience (application for users with high-end devices for example), we will test only on this range.
If we want to focus only on the performance of the application, we can take a device low-end. A validation of the performance on this type of device will ensure a good performance on the other devices.
A test on a low-end device and a high-end device will allow to check the behavior of the application to the limits and to ensure a good functioning on the rest of the range.
The choice must in all cases be made taking into account the list of smartphones used. An analysis of the ranges on the top 20 smartphones will be interesting to decide which strategy to use.
This strategy must be coupled with that of continuous integration. It may be necessary to continuously monitor the resource consumption on the most critical device or on the chosen range on the one hand, and to control the consumption on other devices or another range on the other hand. This one-off validation (or in any case not necessarily continuous) will allow to detect potential issues or confirm that you can continue the measurement strategy on a device or set of devices.
Books author «Green Patterns», «Green IT – Gérer la consommation d’énergie de vos systèmes informatiques», …
Speaker (VOXXED Luxembourg, EGG Berlin, ICT4S Stockholm, …)
Green Code Lab Founder, ecodesign software national association
Project leader of Green Code Label
Project supervisor of the energy label WebEnergyArchive