Как на проекте определяют список устройств для мобильного тестирования?

Ответ

Список устройств для тестирования формируется на основе аналитики реального использования продукта и бизнес-приоритетов. Этим обычно занимается продукт-менеджер или аналитик при поддержке QA.

Процесс и источники данных:

  1. Аналитика: Используются данные с production-среды из инструментов:
    • Google Analytics / Firebase Analytics — для Android/iOS-приложений.
    • AppStore Connect / AppMetrica — альтернативные источники.
  2. Извлекаемые метрики:
    • Топ-10/20 моделей устройств по количеству активных пользователей.
    • Распределение версий операционных систем (iOS, Android).
    • Популярные разрешения экранов и плотность пикселей (DPI).

Пример структурирования данных для тест-команды:

{
  "priority_tier_1": [
    {
      "model": "iPhone 14",
      "os": "iOS 17",
      "resolution": "1179x2556",
      "market_share": "15%"
    }
  ],
  "priority_tier_2": [
    {
      "model": "Samsung Galaxy A54",
      "os": "Android 14",
      "resolution": "1080x2340",
      "market_share": "8%"
    }
  ]
}

Роль QA-инженера:

  • Участвовать в анализе данных и предлагать для включения edge-кейсы: старые устройства с малой долей рынка, но критичные для лояльных пользователей.
  • Учитывать устройства, предоставляемые сервисами облачного тестирования (BrowserStack, Sauce Labs).
  • Формировать итоговую матрицу покрытия, балансируя между охватом аудитории и ресурсами команды.

Ответ 18+ 🔞

А, слушай, классика жанра! Подход "давайте тестировать на всём подряд, а то вдруг у кого-то Nokia 3310 с Android 14" — это, конечно, геройство, но обычно кончается тем, что все ебутся как кони, а покрытие — хуйня. Так что этот метод — он вроде и логичный, но без фанатизма, блядь.

Суть в чём: список девайсов — это не из жопы, а из реальных цифр. Кто этим страдает? Продукт-менеджер или аналитик, им и карты в руки, а мы, QA, потом с этим добром работаем. Их задача — не просто так пальцем в небо ткнуть, а посмотреть, на чём народ сидит.

Откуда данные высасывают, блядь:

  1. Аналитика продакшена. Смотрят в сервисы, где видно, кто и на чём кликает:
    • Google Analytics / Firebase — для андроидов и яблок.
    • AppStore Connect / AppMetrica — ну, на всякий случай, чтоб два раза не вставать.
  2. Что именно выцепляют:
    • Топ-10/20 самых популярных моделей телефонов (те, на которых народ реально юзает приложение).
    • Какие версии ОС в ходу (не все же, блядь, на iOS 18 сидят, есть ещё консерваторы на 15-й).
    • Какие разрешения экранов и DPI чаще всего встречаются (чтобы интерфейс не разъезжался, как дерьмо по волнам).

Потом это всё красиво упаковывают, чтобы тест-команда не охренела. Типа вот:

{
  "priority_tier_1": [
    {
      "model": "iPhone 14",
      "os": "iOS 17",
      "resolution": "1179x2556",
      "market_share": "15%"
    }
  ],
  "priority_tier_2": [
    {
      "model": "Samsung Galaxy A54",
      "os": "Android 14",
      "resolution": "1080x2340",
      "market_share": "8%"
    }
  ]
}

А наша, QA-шная, работа тут где, спросишь? А вот где, ёпта:

  • Не просто взять топ и расслабиться. Надо ещё edge-кейсы подсунуть: старые девайсы, на которых доля рынка — полпроцента, но сидят там лояльные пользователи, которые могут такой скандал устроить, что мало не покажется. Их тоже надо учитывать, хоть и по остаточному принципу.
  • Смотреть, что есть в облачных сервисах вроде BrowserStack. Нет смысла включать в матрицу девайс, который только в музее найти можно.
  • И в итоге слепить из этого всего матрицу покрытия, которая будет балансировать между "охватить максимум аудитории" и "не потратить на тесты все деньги и время, ебать его в сраку". Чтобы и волки были сыты, и овцы целы. Ну, почти целы.