Проведення регресійного тестування ігор

Наша компанія з розробки відеоігор веде незалежні проекти, спільно з клієнтом створює ігри та надає додаткові операційні послуги. Досвід нашої команди дозволяє нам охопити всі ігрові платформи та розробити приголомшливий продукт, що відповідає баченню клієнта та перевагам гравців.

Від імерсивних застосунків до ігрових світів і 3D-сцен

Наша виділена команда для VR/AR/MR-розробки, Unity-продакшну і 3D-моделювання та анімації — з власними кейсами і презентаціями.

Відвідати персоналізований сайт
Показано 1 з 1 послугУсі 242 послуг
Проведення регресійного тестування ігор
Проста
від 2 робочих днів до 1 тижня
Часті питання

Наші компетенції

Які етапи розробки гри?

Останні роботи

  • image_games_mortal_motors_495_0.webp
    Розробка гри для компанії Mortal Motors
    683
  • image_games_a_turnbased_strategy_game_set_in_a_fantasy_setting_with_fire_and_sword_603_0.webp
    Покрокова стратегія у фентезі сеттингу With Fire And Sword
    862
  • image_games_second_team_604_0.webp
    Розробка ігри для компанії Second term
    491
  • image_games_phoenix_ii_606_0.webp
    3D-анімація – тизер для гри phoenix 2.
    533

Регресійне тестування ігор

Регресійне тестування — це не про пошук нових багів. Це про підтвердження того, що старі баги не повернулись, а робочі сценарії не зламалися після останніх змін. Без нього кожен новий патч — це лотерея: розробник чинить collider персонажа, а система збереження ламається, тому що вони обидва залежать від одного ScriptableObject-контейнера, якого ніхто не чіпав, але порядок ініціалізації компонентів змінився.

Чому регресія в іграх складніша, ніж в звичайному ПО

В звичайному веб-додатку регресійний тест — це запит до API та перевірка відповіді. В грі «анімація сломалась при смерті персонажа» означає: запустити сцену, увійти в боєвий режим, знизити HP до нуля, чекати на тригер анімації, перевірити, що Animation Controller перейшов у стан Death, що Collider відключився в потрібний момент, що UI смерті з'явився без артефактів.

Це складно автоматизувати повністю. Тому регресія в іграх зазвичай працює в гібридній моделі: автотести охоплюють детерміновану логіку (розрахунки шкоди, інвентар, прогресія, мережеві протоколи), ручне тестування охоплює візуальні та поведінкові сценарії.

Конкретний випадок: у мобільному RPG після оновлення системи діалогів тригер досягнення «провести 10 розмов» зламався. Автотест на DialogueManager.OnDialogueComplete пройшов — подія викликалась. Але логіка підрахунку переїхала в інший клас і втратила підписку на подію. Ручний тест знайшов це за 10 хвилин; автотест — ні, тому що перевіряв тільки виклик подіі, а не фінальний стан лічильника досягнення.

Як будується регресійний набір для гри

Основа — regression pack: набір тест-кейсів, що охоплюють критичні шляхи. Для кожного патчу визначаємо scope of impact: які системи зачепляє зміна? Якщо чинили AI ворогів — тестуємо не тільки AI, але й все, з чим він взаємодіє: NavMesh, агресія, лут, досягнення, пов'язані з ворогами.

Для автоматизації використовуємо Unity Test Framework в режимі Play Mode з тестами, що охоплюють:

  • Критичні game-loop сценарії (спавн → бій → смерть → respawn)
  • Інвентар та крафтування при граничних значеннях
  • Збереження та завантаження з різними версіями даних
  • Мережеві события (через mock Photon-клієнта або Mirror NetworkManager в offline-режимі)

Тести запускаються через Unity Cloud Build або локальний CI (Jenkins, GitHub Actions) на кожен коміт в main/develop. Якщо набір з 200 тестів проходить за 8 хвилин — прийнятно. Якщо за 40 хвилин — потрібно розділити тести на швидкі (smoke) та повільні (full regression), запускати за графіком.

Для мобільних платформ регресійний прогін додатково проходить на реальних пристроях через Firebase Test Lab або фізичну device farm — емулятор не відтворює OpenGL ES/Vulkan-специфіку та не тестує тепловий throttling.

Пріоритизація та обсяг

Не кожен bug-fix вимагає повного регресійного прогону. Використовуємо матрицю ризику: наскільки зміна торкається спільних систем (EventBus, SceneManager, SaveSystem)? Якщо чинили тільки UI-widget одного екрана — достатньо smoke + специфічна для екрана регресія. Якщо менялась SaveSystem — повний прогін обов'язковий.

Важливий артефакт — regression baseline: збережені стани гри для кожного типового сценарію. Це дозволяє почати тест не з початку гри, а з потрібної точки — економить години ручного тестування.

Після кожного релізу патча оновлюємо regression pack: баги, знайдені в цьому циклі, стають новими тест-кейсами. Так набір зростає та охоплює реальні регресійні ризики, а не гіпотетичні.

Масштаб Орієнтовний час прогону
Smoke regression (50–80 кейсів) 2–4 години
Partial regression (scope of impact) 1–3 дні
Full regression pack 3–7 днів
Automated CI regression (кожен білд) 15–60 хвилин

Вартість формування regression pack та настройки CI розраховується після аналізу проекту.