Задача:
По производственной необходимости возникли два следующих вопроса: как определить эффективность существующего набора устройств для тестирования приложения под Android и как правильно сделать выбор следующего устройства для тестирования.
Теория:
После небольших размышлений я принялся рыть интернет в поисках решения этой проблемы, но готового решения так и не нашел (это было около полугода назад). Зато нашлось достаточно теории и описания опыта в этом направлении.
Три наиболее полезные ссылки с описаниями стратегий по выбору устройств для тестирования расположены в конце статьи.
Все описанные там стратегии можно свести к общей теории, заключенной в следующих трех пунктах:
- Использовать существующую статистику (важно использовать актуальные устройства).
- Учитывать параметры и характеристики устройств.
Параметры, которые могут быть учтены:- размер экрана
- PPI (pixels per inch)
- разрешение экрана
- версия Android
- быстродействие (CPU, RAM)
- особенности конструкции, такие как тип ввода данных (клавиатура, сенсорный, трекбол и так далее), наличие камер...
- браузер
- производитель
- поддерживаемые службы (геолокация)
- цена
- Учитывать бюджет
Далее, в зависимости от проекта, каждый выбирает для себя определяющие факторы или их комбинации.
Параметры, которые учитывают практически все блоггеры — это версия Android, PPI и разрешение экрана. Для web-проектов важным, наряду с перечисленными параметрами, является браузер. Для тяжелых нативных приложений не менее важным является быстродействие… и так далее…
Наиболее логичной и простой стратегией мне показалась теория popular and cheap (популярные и дешевые).
Практика. Этап 1:
Вооруженный знаниями, я приступил к действиям.
Проектом, для которого были применены полученные знания пользуется приблизительно 1000 моделей мобильных устройств ежедневно более 2 миллионов раз. Причем имелась статистика по количеству посещений для каждого устройства.
Этап сбора данных об устройствах оказался самым трудозатратным. Я собрал информацию в интернете о 123 популярных устройствах, дополняя документ версиями Android, CPU, размерами экранов, разрешениями и PPI для каждого устройства. Эта работа заняла около недели.
Оказалось, что 123 из 1000 устройств покрывают 80% посещений, и на этом я решил остановиться.
Этап анализа данных был наиболее интересным. Отметив уже имеющиеся устройства (их было 7) для тестирования в таблице, я приступил у группировкам по различным параметрам.
Группировка по major.minor версии Android показала, что для тестирования покрыты все группы начиная с 4.2 до 2.2 (76% посещений) и только устройства с версией Android 2.1 (2.95% посещений) и 1.x (0.28% посещений) не покрыты. В целом, результат неплохой.
Анализ по разрешениям показал, что второе по популярности разрешение 480x320 с 18.61% посещений никогда не проверялось. В тоже время самая популярная группа с разрешением 800x480 (27.56%) покрыта 3 устройствами.
Анализ по версиям Android и разрешениям экранов дал более интересные результаты. Три самые популярные группы 2.3 и 800x480 (15.30%), 2.3 и 480x320 (11.83%), 4.1 и 1280x720 (10.75%) вообще не покрыты. При этом суммарное покрытие набором устройств для тестирования составляло всего 8% посещений.
В результате был выдвинут ряд предложений, которые смогли значительно увеличить покрытие посещений по основным параметрам устройств.
На этом мои изыскания в этой области приостановились.
Спустя полгода...
Недавно я вернулся к этому вопросу, работая над новым проектом. Если честно, перспектива собирать информацию об устройствах меня не радовала.
Один коллега сохранил мне кучу времени, поделившись ссылкой choosedevice.com. Это оказалось готовое автоматизированное решение. В этом проекте уже собрана информация более чем по 200 устройствам, но только по 4 параметрам: api level (os version), размер экрана, PPI и разрешение экрана. Видно, что этот проект еще молод и сейчас находится в стадии beta тестирования.
Действия. Этап 2:
Вот какой получился опыт при работе с этим сервисом:
- Зашел на сайт, используя свой google account.
- Отметил устройства, используемые для нового проекта.
- Сделал экспорт мобильных устройств из google analytics.
- Подгрузил эту статистику в choosedevice.
Все это заняло 10 минут, и я получил общую статистику по мобильным устройствам.
Дальше я использовал панель поиска для группировки устройств.
Система подсчитала покрытие посещений пользователей по выбранному параметру и выдала рекомендуемые устройства.
Группировать можно также по двум параметрам. Ниже представлен результат работы сервиса по ppi/resolution.
Вывод:
Android устройство действительно необходимо выбирать с умом. ChooseDevice поможет сделать это качественно.
Полезные ссылки:
stephanierieger.com/strategies-for-choosing-test-devices/
devblog.xing.com/qa/how-to-choose-the-right-mobile-test-devices/
mobilephonedevelopment.com/archives/1600
Еще полезные ссылки от google:
developer.android.com/about/dashboards/index.html
developer.android.com/guide/practices/screens_support.html
ChooseDevice:
Автор: gmaksimenko