Проведення функціонального тестування ігор

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

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

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

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

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

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

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

  • 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

Функціональне тестування ігор

Функціональне тестування гри — це не «пограти та знайти баги». Це систематична перевірка того, що кожен игровой сценарій працює відповідно до Game Design Document: механіки, UI-flow, інвентар, прогресія, збереження, мережеві взаємодії. Різниця між «пограли — все працює» та повноцінним функціональним тестуванням зазвичай проявляється при релізі, коли від гравців приходять повідомлення про сценарії, які команда ніколи не тестувала навмисно.

Що функціональне тестування насправді охоплює

Типовий приклад з практики: шутер із системою крафтування. Команда вручну перевірила основний flow — відкрив інвентар, скрафтив предмет, закрив. Все працює. При релізі виявилося, що якщо скрафтити предмет у момент, коли інвентар переповнений (99/100 слотів), а предмет крафту займає останній слот і одночасно є інгредієнтом — лічильник слотів йде в -1, і вся подальша сесія ламається. Це класичний граничний case на перетині двох механік, який знаходиться тільки при систематичному підході до тест-кейсів, а не при вільному дослідженні.

Функціональне тестування у розробці ігор охоплює кілька рівнів:

Геймплейні механіки — кожна механіка тестується окремо, потім у комбінаціях з іншими. Стрибок працює? Стрибок на рухомій платформі? Стрибок у момент отримання шкоди? Стрибок при нульовому HP?

UI та навігація — всі екрани, всі переходи, всі стани елементів (disabled, loading, error). Особливо важливо звернути увагу на переходи між сценами: якщо гравець натискає кнопку «в головне меню» у момент завершення матчу, обидві события можуть спробувати одночасно виконати LoadScene.

Збереження та завантаження — найбільш недооцінена область. Збереження посередині катсцени, завантаження на новому пристрої, міграція даних при оновленні версії. У Unity PlayerPrefs та JSON-serializers не мають вбудованої міграції версій — при зміні структури даних старі збереження просто не парсяться, і гра падає без зрозумілої помилки.

Мережеві сценарії для мультиплеєра: втрата пакетів, вихід гравця в середині матчу, reconnect, десинхронізація стану.

Інструменти та підходи

Для автоматизації функціональних тестів у Unity використовуємо Unity Test Framework (UTF) в режимі Play Mode Tests. UTF дозволяє писати тести, які запускаються всередину гаму сесії з повним доступом до компонентів сцени. Типовий тест на механіку крафтування виглядає так: створити інвентар з предвизначеним станом через фіксчур, викликати CraftingSystem.TryCraft(recipeId), перевірити Assert на стан інвентаря та повернутий результат.

Для UI-тестування використовуємо комбінацію UTF + Unity UI Test Helpers або кастомних обгорток над EventSystem.RaiseEvent. Ручне тестування UI через Selenium або Playwright не застосовується до ігрових інтерфейсів — потрібні інструменти, які розуміють Canvas, EventSystem та InputSystem від Unity.

Для мобільних платформ — Unity Remote для швидкої перевірки на пристрої без повної збірки, та реальні пристрої (не тільки емулятори) для верифікації специфіки платформи: жести, back-кнопка Android, переривання дзвінком.

Дефекти фіксуються в трекері (Jira, YouTrack) з обов'язковими полями: кроки відтворення, очікуваний результат, фактичний результат, версія білда, пристрій, скриншот або відео. Без цього відтворення бага на стороні розробника займає в 3–5 разів більше часу.

Як будується процес

Тестування починається ще до передачі білда: аудит GDD на повноту опису сценаріїв, складання тест-плану та тест-кейсів. Хороший тест-кейс прив'язаний до конкретного вимоги з документації — це дозволяє відслідковувати покриття.

Smoke-тестування нового білда: 15–20 ключових кейсів, які перевіряють, що нічого фундаментального не зламалось. Якщо smoke пройшов — повний регресійний прогін. Функціональне тестування нової фічі — окремо, з фокусом на інтеграційні кейси.

Фінальний етап перед релізом — certification testing: перевірка відповідності вимогам платформи (для Steam, App Store, Google Play, консолей — у кожної свої чеклисти). Це технічно теж функціональне тестування, просто з зовнішніми критеріями.

Обсяг проекту Орієнтовні терміни
Інді-гра, одиночна гра, до 5 механік 1–2 тижні
Mid-core, мультиплеєр, 10–20 механік 3–6 тижнів
Великий проект, кілька платформ 2–4 місяці
Continuous testing (підтримка релізу) за договором

Вартість розраховується після аналізу GDD, кількості тест-кейсів та необхідного покриття.