Обзор игрового QA

Тестирование игр принципиально отличается от традиционного QA. Игры — это интерактивные реалтайм-системы, где субъективное качество (интересно ли?) так же важно, как объективная корректность (работает ли?).

Жизненный цикл разработки игры

graph LR A[Pre-Alpha] --> B[Alpha] B --> C[Beta] C --> D[Release Candidate] D --> E[Gold Master] E --> F[Пост-релиз] A -.->|Базовые механики| A B -.->|Фичи готовы, много багов| B C -.->|Полировка, производительность| C D -.->|Только критические фиксы| D F -.->|Патчи, DLC, сезоны| F

Категории тестирования

КатегорияФокусные области
ФункциональностьМеханики, UI, прогрессия, квесты, ИИ
ПроизводительностьЧастота кадров, время загрузки, потребление памяти
Compliance/CertТребования платформы (Sony TRC, Microsoft XR, Nintendo Lotcheck)
СовместимостьВариации оборудования, версии ОС, драйверы
ЛокализацияТекст, аудио, культурная адаптация, переполнение текста
МультиплеерСеть, подбор игроков, синхронизация, читерство

Тестирование реалтайм-систем

Частота кадров и рендеринг

ПлатформаЦелевой FPSПриемлемый минимумСтрессовый сценарий
ПК (высокие)60+30Максимальные настройки, сложные сцены
Консоль60 или 30Цель режима производительностиБой с частицами
Мобильные30-6025Слабые устройства, термальный тротлинг

Задержка ввода

  • Измерение полной задержки (контроллер → экран)
  • Тестирование при разных частотах обновления дисплея
  • Проверка буферизации ввода при падении FPS
  • Тестирование опций доступности (переназначение кнопок)

Физика и столкновения

  • Обнаружение столкновений объектов (без прохождения сквозь стены)
  • Ragdoll-физика, физика транспорта
  • Разрушаемое окружение
  • Edge cases: экстремальные скорости, стакинг объектов

Тестирование поведения ИИ

  • Pathfinding: NPC обходят препятствия, не застревая
  • Боевой ИИ: враги применяют тактики, соответствующие уровню сложности
  • ИИ союзников: помогают, не блокируя игрока
  • Масштабирование сложности: ИИ адаптируется к уровню игрока

Мультиплеер и онлайн-тестирование

Сетевые условия

  • Задержка: 20-200мс с джиттером
  • Потеря пакетов: 1-10%
  • Ограничения пропускной способности
  • NAT traversal для peer-to-peer соединений
  • Обработка отключения и переподключения

Продвинутое тестирование игр

Сертификация консолей

Sony TRC: Обработка сохранений, обновления, сетевые функции, трофеи, поведение контроллеров

Microsoft XR: Система достижений, Quick Resume, Smart Delivery, доступность

Nintendo Lotcheck: Обработка Joy-Con, режим сна, переходы dock/undock

Тестирование Live Service

  • Тестирование сезонных пропусков и battle pass
  • Ограниченные по времени события (тайминг начала/конца, награды)
  • Серверные изменения конфигурации (хотфиксы без обновления клиента)
  • Здоровье пула матчмейкинга при изменении популяции игроков

Тестирование VR/AR

  • Факторы укачивания (падения FPS, некорректный трекинг головы)
  • Тестирование границ room-scale
  • Точность трекинга контроллеров
  • Настройки комфорта (телепортация vs. плавное перемещение)

Практическое задание

Создайте тест-план для мобильной мультиплеерной игры:

  1. Базовый геймплей: Проверить основные механики, тестировать edge cases боевой системы
  2. Подбор игроков: Тестировать время очереди, подбор по навыку, выбор региона
  3. Внутриигровые покупки: Тестировать каждый поток покупки, валидацию чека, восстановление покупок
  4. Отключение: Тестировать отключение посреди матча, переподключение и возобновление
  5. Совместимость: Тестировать на 3+ устройствах разных ценовых категорий
Руководство по решению

Тесты отключения:

  • Отключение во время матча → переподключение за 30с → возобновление на той же позиции
  • Отключение во время покупки → проверить отсутствие двойного списания
  • Оба игрока отключились → состояние матча сохранено на сервере

Тесты IAP:

  • Купить каждый тир → проверить списание валюты, получение предмета
  • Отменить покупку посередине → проверить отсутствие списания
  • Восстановить покупки на новом устройстве → проверить все предыдущие покупки

Советы из практики

  1. Игровое тестирование визуальное — скриншоты и видеозахват необходимы для баг-репортов
  2. Тестируйте с реальными контроллерами и устройствами ввода
  3. Мультиплеерное тестирование требует симуляции различных задержек — используйте инструменты кондиционирования сети
  4. Тестирование покупок должно покрывать каждую валюту и ценовой тир
  5. Тестирование утечек памяти критично — игровые сессии длятся часами; длительные soak-тесты выявляют утечки

Ключевые выводы

  1. Тестирование игр сочетает техническое тестирование с субъективной оценкой качества
  2. Сертификация платформы — жёсткий quality gate перед любым консольным релизом
  3. Мультиплеерное тестирование требует симуляции реалистичных сетевых условий
  4. Тестирование длительных сессий (soak testing) критично для обнаружения утечек памяти