Сколько Android-устройств мне нужно для тщательного тестирования?

Я работаю над Android-приложением, которое я хочу запускать на всех устройствах Android, без каких-либо проблем, но мне трудно найти, сколько конфигураций устройств и сколько аппаратных устройств мне нужно для тестирования.

Есть несколько функций, которые я использую, которые не поддерживаются в эмуляторе, как указано ниже Использование эмулятора Android в Руководство разработчика:

Ограничения эмулятора

В этом выпуске ограничения эмулятора включают в себя:

  • Нет поддержки для размещения или получения фактических телефонных звонков. Ты можешь имитировать телефонные звонки (помещенные и полученные) через эмулятор консоль, однако.
  • Поддержка USB-соединений отсутствует Поддержка камеры/видеозахвата (Вход).
  • Поддержка наушников, подключенных к устройствам, не поддерживается. Поддержка определение состояния соединения
  • Нет поддержки для определения уровня заряда аккумулятора и зарядки переменного тока состояние
  • Нет поддержки для определения вставки/извлечения SD-карты.
  • Поддержка Bluetooth

На странице Несколько APK Поддержка:

... мы рекомендуем вам разработать и опубликовать один APK, который поддерживает как можно больше конфигураций устройств...

Android Market позволяет публиковать несколько APK под тем же список приложений. Android Market затем поставляет каждый APK в соответствующие устройства на основе поддержки конфигурации, которую вы заявили в файл манифеста каждого APK.

Я бы предположил, что нет необходимости покрывать каждую перестановку всех доступных наборов функций, но мне не ясно, сколько конфигураций устройств будет считаться достаточным для охвата всех доступных устройств.

Если бы я хотел подтвердить на аппаратном обеспечении, что мое приложение почти гарантировано работает на каждом устройстве, сколько телефонов и сколько таблеток мне понадобится? Кроме того, существуют ли какие-либо особые соображения, которые я должен внести для модификаций производителя или оператора?

Ответ 1

Ответ Обновлено 11.11.2011

  • Используйте статистику сайта Android для получения информации о наиболее популярных версиях os.

  • Используйте статистику сайта Android для получения наиболее популярных комбинаций DPI/screensize.

  • Используйте комбинацию 1 и 2 для определения характеристик устройств, которые вы хотите покрыть.

  • Подготовьте приблизительный список устройств, которые будут соответствовать (3) выше.

  • Если у вас много денег, или если вы работаете в большой компании, тогда заказывайте телефоны. Если нет, то, как уже упоминалось ранее, выберите одно устройство, которое может обеспечить максимальный охват. К сожалению, разница между эмулятором и устройствами иногда может быть смешной. Другой вариант, который я недавно узнал, заключается в том, что вы можете передать этот процесс на аутсорсинг компаниям, которые исключительно ориентированы на эту потребность рынка. К сожалению, у меня нет конкретной компании, которая бы рекомендовала в этой области. Удачи!

Обновление:

  • Я столкнулся с несколькими компаниями, предлагающими Android Testing как услугу. Это было бы неплохо проверить ваши APK, не приобретая устройства.

  • Вы можете попробовать APKUDO: http://www.apkudo.com/ " Посмотрите приложение на каждом устройстве Android. Свободно. Apkudo помогает разработчикам уверенно выпускать, устанавливая, выполняя и реализуя свои приложения на каждом устройстве Android ™, с подробными отчетами об испытаниях и потоковым видео. В настоящее время в частной бета-версии. "

[Обновление - 3/25/2013]

  • TestDroid также имеет службу облачного тестирования http://testdroid.com/product/testdroid-cloud "Тестирование онлайн на реальных устройствах. Testdroid Cloud - это самый простой способ протестировать ваше приложение на разных реальных устройствах Android - от разных производителей, с различными платформами HW, версиями ОС и разрешением экрана. Вы также можете выбрать, какие устройства запускать ваши тесты, просто на устройствах, которые вас интересуют"
  • AppThwack - это еще одно решение

  • Ranorex - еще одно решение (http://www.ranorex.com/mobile-automation-testing/android-test-automation.html)

Ответ 2

Одной из больших проблем с Android является то, что каждый производитель может сильно изменить все, что захочет, в прошивке. Это может иметь много преимуществ, но это может быть большой проблемой при попытке протестировать совместимость.

У вас должно быть хотя бы одно устройство, но нет ограничений или даже числа, которое "достаточно", чем больше устройств вы тестируете - тем лучше.

Что касается модификаций несущей, обычно они меньше и будут меняться меньше, чем модификации изготовителя, но это также может измениться.

Ответ 3

Я столкнулся со многими проблемами со многими различными телефонами для Android. У каждого телефона свои небольшие причуды, и поэтому больше телефонов вы тестируете в лучшую сторону. У меня было приложение, у которого было более 200 тыс. Загрузок, и был очень удивлен некоторыми проблемами. Теперь есть вещи, которые я делаю, и избегаю из-за этих причуд, которые я обнаружил. Также каждая версия Android имеет свои проблемы. Поэтому, я думаю, мой ответ: получите столько телефонов, по крайней мере, от каждой версии ОС от 1.6 до 3.x.

ListView с настраиваемыми адаптерами один, я создал собственный адаптер для добавления значков в каждый элемент в ListView. Я неоднократно сталкивался с авариями с 2.2 телефонов, таких как DroidX, чтобы назвать их, но на других он работал нормально. Он отлично справился с G1. Также с ListViews и SimpleExpandableListAdapter чреваты проблемами на других телефонах, где значки не выстраиваются в линию или в больших списках, это просто приводит к сбою приложения. Я держусь подальше от ListView, так как хочу попробовать и развернуть приложения на разных ОС.

В связи с другим ответом здесь приведен список телефонов, с которыми я столкнулся в основном для развертывания в США. Не уверен, почему Samsung Galaxy S указан 3 раза, а Motorola Droid II - в два раза, возможно, это касается версий ОС.

1   Motorola Droid X     9.3% 
2   HTC Evo 4G           6.2% 
3   Samsung Galaxy S     4.9% 
4   HTC Desire HD        4.4% 
5   Motorola Droid       4.4% 
6   HTC Droid Incredible 4.1% 
7   Motorola Droid II    3.4% 
8   Samsung Galaxy S     3.3% 
9   Samsung Galaxy S     2.7% 
10  Motorola Droid II    2.4% 

Вот почему, когда я программирую, я не забываю быть агностиком для OS API и просто пытаюсь убедиться, что он работает для большинства пользователей.

Ответ 4

Один из возможных способов определения количества мобильных телефонов, которые вам нужны для тестирования, - это посмотреть на рынок, используя ваше приложение.

В одном из моих приложений есть следующая разбивка по мобильному телефону (помните, что это в Великобритании). Так что в моем регионе эти 10 мобильных телефонов дадут вам примерно 70% покрытия

1   HTC Wildfire        15.2%
2   Samsung Galaxy S2   10.5%
3   HTC Desire          10.2%
4   Samsung Galaxy S    9.7%
5   HTC Desire S        8.6% 
6   HTC Desire HD       7.5% 
7   Samsung Galaxy Ace  3.1%
8   Samsung Europa      2.7% 
9   ZTE Blade           2.1% 
10  Samsung Galaxy Tab  2.1% 

Ответ 5

Ваша цель - охватить как можно больше пользователей Android для вашего проекта. Важные параметры, которые вам необходимо охватить, - это уровень api, ppi, размер экрана и разрешение.

Как это может быть достигнуто: 1. Найдите наиболее популярные устройства для своего проекта (например, с помощью Google Analytics) 2. Группируйте эти устройства по параметрам 3. Поиск самых популярных групп 4. Найдите самые популярные устройства в каждой группе.

Такой подход реализуется на http://choosedevice.com.

Таким образом, исходя из вашего бюджета, вы должны покупать устройства с шага 4, начиная с устройств из самой популярной группы.