воскресенье, 29 апреля 2012 г.

Выбираем и приобретаем девайсы для тестирования - август 2015

"На каких девайсах тестировать приложения?", - является краеугольным камнем тестирования. Соответственно, необходимо выработать стратегию тестирования и уже на ee основе приобретать устройства для разработки/тестирования. Разработка мобильного ПО - очень динамичная область и никогда не стоит на месте. Необходимо быть готовым к обновлению Вашей тестовой стратегии и постоянном обновлении парка устройств

Если приложение уже запущено, то самым первым шагом будет изучение Вашей аудитории, благо информация доступная в Google Play, App Store. После этого можно пропустить половину статьи ;)

Если приложение еще в стадии концепта/разработки, то лучше ознакомиться с балансом сил на каждом из рынков:
  1. так и соотношения сил вендоров девайсов в разбивке по регионам/странам

Информация к размышлению о Китайском рынке и экспансии :)

iOS

Итак, на данный момент, чтобы покрывать 90% рынка нам необходимо поддерживать:

     1. Три типа устройств:

  • телефоны
  • планшеты
  • плееры iPod touch

c шестью разрешениями экрана:

  • 960x640:      iPhone 4, iPhone 4S, iPod touch 4g,  iPod touch 4g 2012
  • 1024x768:    iPad 2, iPad mini
  • 1136x640:    iPod touch 5g, iPhone 5, iPhone 5C, iPhone5S
  • 1334×750:    iPhone 6*
  • 1920×1080:  iPhone 6+*
  • 2048x1536:  iPad 3, iPad 4, iPad Air, iPad mini retina
  • ARM v7: iPhone 4/4S, iPod touch 3g - iPod touch 4g 2012, iPad, iPad 2, iPad 2, iPad 3;
  • ARM v7s: iPhone 5, iPhone 5c, iPad 4, iPod touch 5g
  • ARM 64bit*: iPhone 5S, iPhone 6, iPhone 6+, iPad Air, iPad Air 2, iPad mini retina 1/2
*c июня 2015 обязательно поддерживать 64 бита как для новых приложений, так и для обновления старых

     3. и OS:

  • 7.x
  • 8.x
  • 9.x - ожидается в сентябре 2015, уже есть девелоперская бета 4 - самое время начинать миграцию
Пользователи быстро и охотно обновляются, особенно если сравнивать с темпами внедрения новых версий в Android. К примеру, за 72 часа доля iOS 8 выросла с 0 до 24%

David Smith тоже отслеживает статистику версий iOS и используемых устройств относительно своего приложения Audiobooks. За что ему ОГРОМНОЕ спасибо!




Кто же эти "таинственные ретрограды", не обновляющие прошивку до iOS8 :)? 
  1. владельцы "серых" разлоченных iPhone, т.к. нередко на новую прошивку нет анлока, позволяющего совершать звонки.
  2. владельцы iPhone 4 - даже iOS6 работает посредственно (обещание ускорения работы iOS7 в iOS7.1 так и остались обещаниями)
  3. оставшиеся на iOS6, которым не нравится дизайн iOS7/8 
  4. оставшиеся на iOS7, потому что iOS8 сильнее тормозит на их девайсах (в большинстве случаев - байки :) ) 

Рассмотрим 2 ситуации

      1. "эконом-вариант":
  • iPhone6 plus - новейшее "железо", поддерживает iOS8/9. В zoom режиме - UI как у iPhone6, а также новые восхитительные баги если UI написан спустя рукава :)
  • iPhone6 - новейшее "железо", поддерживает ios8/9. В zoom режиме разрешение как у 5/5С/5S, а также новые восхитительные баги если UI написан спустя рукава :)
  • iPhone5S - как второй по популярности iPhone в данный момент
  • iPod touch 5G - чуть "придушенный" по железу iPhone5 (ниже частота процессора и 512 RAM). Очень популярен в Америке у подростков, которым родители "зажали" айфон. Удобно тестировать приложение в условиях недостатка RAM
  • iPhone 4S - как эталон low-end телефона 
  • iPad mini - без iPad 2 можно обойтись - "железо" такое же. Заодно и протестируете usability на уменьшеном экране. Единственный из non retina девайсов. Можно использовать как эталон low-end таблетки
  • iPad Air2 - новейшее железо, retina дисплей
Все девайсы из этого списка можно обновить до iOS9 - нет бесцельно потраченных денег. iPad Air2 - пока единственный iPad поддерживающий split view в iOS9 (возможностей других iPad не хватит). Ждем новых iPhone/iPad в сентябре :)

      2. более расточительный вариант:
  • iPhone 4 (iOS7) - как последний мамонт не iOS8 и выше - наш "эталон" производительности :)
  • iPhone 4S 3шт. (iOS7, iOS8, iOS9)
  • iPod touch 5g (iOS7)
  • iPhone 5/5С* (iOS8)
  • iPhone 5S 2шт. (iOS8, iOS9)
  • iPad 2 (iOS7),
  • iPad mini 2шт. (iOS8, iOS9)
  • iPad mini 2 (retina)** (идентичная по железу iPad Air, но занимает меньше места и поможет в с юзабилити при небольшом экране таблетки)
  • iPad Air2 2шт. (iOS8, iOS9)
* идентичны по "железу", отличие лишь в корпусе
** идентичен по "железу" iPad Air, отличие только в размерах

Android

Проблема фрагментированности - одна из наиболее острых проблем Android. Логотип с зеленым человечка можно встретить уже не только на холодильнике и стиральной машинке, но и на спутнике.
К, сожалению, с выбором девайсов под Android не все так просто и четкие рекомендации по приобретению дать сложно. Обусловлено это: фрагментированностью, желанием вендоров кастомизировать прошивку и региональными предпочтениями пользователей.  Разбивку по вендорам можно посмотреть в шапке статьи.


Фрагментированность: Android OS - система с открытым исходным кодом, соответственно приходится поддерживать множество комбинацией программного и аппаратного обеспечения. 

Кастомизация: вендорам нужно выделять свои девайсы - как созданием кастомных оболочек, так и, иногда, модификацией составных частей системы (изменения в Android, обновление библиотек, кастомные лаунчеры). Что порождает баги, встречающиеся только на устройствах определенной марки (или даже на конкретных устройствах). Нередко в change-логах на PlayStore появляется: "Ура, теперь наше приложение запускается и работает на девайсе bla-bla-bla" 

Региональные особенности: Наивно ожидать, что в Японии и Китае будут популярны девайсы Motorola или Xiaomi будет популярен в Австралии.  


Краткий дайджест по устройствам на Android:

  1. 3 типа устройств:

  • телефоны
  • планшеты
  • другие устройства (плееры, навигаторы, камеры, телевизоры и тп)
      cо множеством разрешений экрана и screen density (DPI)

Самыми ходовыми разрешениями на данный момент являются: 

  • WVGA (800x480) - де-факто для очень старых hi-end девайсов (Galaxy S2) или low-end устройств 2013 года
  • qHD (960x540) - старые middle-end девайсы (а-ля HTC One S и тп) и китайцы 2013 года
  • HD (1280x720 aka 720p) - стандарт для middle end телефонов даже сейчас
  • FullHD (1920x1080) - стандарт для топовых смартфонов 2014 года и выше. Даже в 2015 не все компании считают 2к разрешение адекватным по соотношению цена/мощность железа/время автономной работы, как пример - Sony Z3, HTC One M9
  • 1440p aka 2k (2560x1440) - стандарт для самых топовых телефонов конца 2014 - середины 2015 года (LG G3/G4, Galaxy S6, MiNote Pro, Galaxy Note4)
  • FullHD/FullHD+ (1920x1080, 1920x1200) - достаточно популярное разрешение для middle-to-high end планшетов в 2013 году.
  • 2K tablet (WQXGA 2560x1600) - практически стандарт для hi-end планшетов (Sony Z4 Tablet, Galaxy Tab S, Asus ZenPad S)

     2.  Наборы логики под архитектуры:

  • ARMv7 и далее
  • x86
  • MIPS

     3.  OS: 4.0.x - 5.x

Из конкретных рекомендаций по покупке: 

1.  изучите долю рынка конкретной версии Android OS, наиболее ходовое разрешения экрана, и наиболее популярные девайсы для Вашей целевой аудитории


На данный момент для смартфонов наиболее популярна версия OS это KitKat (4.4). Froyo, Gingerbread уже ушли со сцены - все больше разработчиков ставят минимальную версию OS 4.0 или даже 4.1

Ожидается:
  • дальнейший рост доли версии KitKat и Lollipop в третьем и четвертом квартале - т.к. большинство новых устройств (даже "китайцев") выходят уже минимум с 4.4, а то и 5.0. 
  • постепенный рост доли Android M, которую по слухам выпустят в сентябре-октябре. В данный момент доступна beta 2

       2.  следует иметь как минимум по одному устройству с логикой от ведущих производителей.

ARM:

  • Qualcomm
  • MediaTek
  • Samsung
  • Nvidia
* Texas Instruments - уже экзотика - компания покидает рынок
x86:
"Зачем?", - спросите Вы. Существуют нюансы, связанные с ограничениями платформы (например Tegra 2 не поддерживает инструкции NEON, поэтому некоторые операции могут занимать больше времени чем на других платформах) А также ошибки с конкретными наборами логики и ПО: если при проигрывании потокового аудио терялись фреймы - на устройствах с Tegra 2 тембр голоса поднимался в несколько раз; в то же время на логике TI, Samsung были всего лишь небольшие паузы в воспроизведении). Особенно это касается приложения работающих с мультимедиа-контентом и игр.


На основе выбранных наборов логики следует выделить наиболее популярные девайсы для региона, в котором будет распространяться Ваше приложение. Статистика ниже для приложения App Brain из их аналитической статьи :)

Например, для Европейского региона, в данный момент популярны телефоныSamsung Galaxy S3 (когда же его сбросят с пьедестала?!), Samsung Galaxy S5, Samsung Galaxy S6, Samsung Galaxy Note 3, Moto G, HTC One M8, Sony Xperia Z3, LG G3.

популярные планшеты: актуальной информации от крупных агенств нет, поэтому буду опираться на внутреннюю статистику - которая достаточно репрезентативка (основана на милиионах уникальных пользователей в день). Как и заведено - балом практически единолично правит Samsung (с редкими вкраплениями Asus, Acer, Sony, Lenovo).


Пока топ 10 таблеток выглядит так: Galaxy Tab 2 7.0, Galaxy Tab 3 7.0, Galaxy Tab 3 Lite, Galaxy Tab 2 10.1, Galaxy Tab 3 8.0, Galaxy Note 10.1, Galaxy Note 8.0, Xperia T2 Ultra, Galaxy Tab, Galaxy Tab 3 10.1 3G

    3.  обязательно приобретите официальные девайсы от Google:

  • поддержка от Google (в т.ч. можно собрать прошивку из исходных кодов с необходимыми правками);
  • первыми получают обновления OS;
  • уж на референсных девайсах-то Ваше приложение должно работать безупречно :)
Особенно рекомендую Nexus 10 - можно эмулировать практически любое разрешние экрана и плотность пикселов из-за гигантского разрешения дисплея.

    4.  Очень желательно донести до заказчика сведения о фрагментированности, особенно если Ваше приложение не "заточено" под конкретные устройства и:

** Мне очень помогает. На практике я стараюсь серьезно поддерживать около 10 устройств. Раз в неделю устраиваю "день Device Anywhere" - провожу smoke-тесты на различных устройствах для уверенности в качестве. Из-за верстки "спустя рукава" или "быстрофиков" - оная может поплыть на двух устройствах (обычно таблетках) с одинаковым дюймажом и разрешением (например производители округляют плотность пикселов в разные стороны и тп)

Остальные out-of-scope устройства стараемся поддержать после релиза первой версии. всегда найдется какое-нибудь устройство, на котором приложение крашится на старте или еще где-то практически со 100% вероятностью.

Полезные ссылки по теме: