Послуги з тестування та оптимізації ігор і додатків

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

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

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

Відвідати персоналізований сайт
Показано 5 з 5Усі 242 послуг

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

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

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

  • image_games_mortal_motors_495_0.webp
    Розробка гри для компанії Mortal Motors
    1434
  • image_games_a_turnbased_strategy_game_set_in_a_fantasy_setting_with_fire_and_sword_603_0.webp
    Покрокова стратегія у фентезі сеттингу With Fire And Sword
    972
  • image_games_second_team_604_0.webp
    Розробка ігри для компанії Second term
    586
  • image_games_phoenix_ii_606_0.webp
    3D-анімація – тизер для гри phoenix 2.
    651
  • image_training-quizzes_kids_shopping_quiz_614_0.webp
    Навчальна вікторина для дітей «Покупки в магазині»
    12

Тестування та QA

Ми не раз бачили, як проєкт на фінішній прямій перетворюється на кошмар: на машині розробника все літає, а на Samsung Galaxy A12 — 15 FPS і вильоти, на iPad Air — мильні текстури. Без вибудуваного QA-процесу тестування ігор стає лотереєю. Наша команда з 8-річним досвідом протестувала понад 30 мобільних ігор і в кожному проєкті знаходила критичні проблеми, які не виявили звичайні прогони. Тестування ігор під ключ — від функціонального до навантажувального — з гарантією якості та звітом, готовим до впровадження. Оцінимо ваш проєкт за 3 дні — зв'яжіться з нами.

Як автоматизувати тестування в Unity?

Найефективніший спосіб зловити регресію — автотести, які запускаються без людини. У Unity це Unity Test Framework (UTF) на базі NUnit. Два режими.

Edit Mode Tests працюють без ігрового циклу — швидкість виконання в мілісекундах. Підходять для формул урону, розрахунку економіки, валідації конфігів. Play Mode Tests запускають повний ігровий цикл — тестують логіку MonoBehaviour, корутини, переходи між сценами.

Приклад:

[UnityTest]
public IEnumerator PlayerTakeDamage_HealthReduces()
{
    var go = new GameObject();
    var health = go.AddComponent<HealthComponent>();
    health.Initialize(100);

    health.ApplyDamage(30);

    yield return null;

    Assert.AreEqual(70, health.CurrentHealth);
}

Покривайте те, що ламається найчастіше: система збережень, економіка, бойова логіка. 100% покриття не потрібне — достатньо критичних шляхів. UI (UGUI, UI Toolkit) автоматизувати складніше: для цього використовують InputSystem.QueueEvent або Appium на мобільних платформах. Автотести виконуються в 50 разів швидше ручних прогонів при регресії — це скорочує бюджет на регресійне тестування на 40%.

Чому профілювання на реальному пристрої критичне?

Тести не ловлять проблеми продуктивності. Для цього потрібен профілювальник на цільовій платформі. Unity Profiler — стартова точка. Ключові кроки:

  1. Профілюйте на пристрої, а не в редакторі — Editor додає оверхед. Підключіть девайс через USB з Development Build і Autoconnect Profiler.
  2. Дивіться Main Thread і Render Thread окремо. Типові проблеми:
    • Physics.FixedUpdate >2ms — складна фізика
    • Canvas.BuildBatch на кожному кадрі — зайві Dirty виклики UI
    • GC.Collect — виділення пам'яті в гарячому шляху (всередині Update)
  3. Використовуйте ProfilerMarker для локалізації:
using Unity.Profiling;

static readonly ProfilerMarker k_PathfindMarker = new ProfilerMarker("Pathfinding.Calculate");

void UpdateAI()
{
    using (k_PathfindMarker.Auto())
    {
        // pathfinding code
    }
}

Memory Profiler (пакет com.unity.memoryprofiler) дає знімки пам'яті: знаходить витоки (об'єкти, не звільнені після зміни сцени), порівнює два знімки. Найчастіші причини проблем на мобайлі: текстури без правильного формату (ASTC для iOS, ETC2 для Android), аудіо в WAV замість Vorbis, об'єкти в DontDestroyOnLoad, які накопичуються.

Frame Debugger (Window → Analysis → Frame Debugger) дозволяє пройти по кожному draw call у кадрі. Для мобільних проєктів норма — 50–150 draw calls; якщо більше 300 — батчинг не працює або сцена перевантажена. Важливість профілювання на реальному обладнанні підкреслюється в літературі з тестування продуктивності.

Профілювання на реальному пристрої обов'язкове — редактор Unity дає спотворені результати через власний оверхед, тому завжди використовуйте Development Build на цільовому пристрої.

Інструмент Мета Що перевіряє
Unity Profiler CPU/GPU Час виконання потоків, алокації, GC
Memory Profiler Пам'ять Витоки, розподіл за типами
Frame Debugger Графіка Draw calls, батчинг, overdraw

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

Функціональне тестування будується на тест-планах: для кожної фічі — очікуваний результат, кроки відтворення, критерії проходження. Покриваємо smoke, sanity і acceptance-тести. Регресійне тестування — запуск накопичених кейсів перед кожним релізом, а не тільки перед мажорними.

Інструменти управління: TestRail, Qase, Zephyr. Для невеликих команд — Notion або Google Sheets зі структурованими чеклістами.

Тестування на реальних пристроях

Емулятори не відтворюють тепловий дросселінг, реальний GPU та обмеження пам'яті. Мінімальний набір — 20+ пристроїв усіх сегментів:

Категорія Приклади RAM
Low-end Android Snapdragon 662 (Samsung A12, Redmi Note 10) 3 ГБ
Mid-range Android Snapdragon 720G/765G 6 ГБ
Flagship Android Snapdragon 888+ 8 ГБ
Low-end iOS iPhone SE 2 3 ГБ
iOS середній iPhone 13/14 4–6 ГБ
iPad Останнє покоління 6–8 ГБ

Для масштабного тестування — хмарні ферми: Firebase Test Lab, BrowserStack App Automate, AWS Device Farm. Вони дозволяють запускати сотні паралельних тестів на реальних пристроях.

Навантажувальне тестування (мультиплеєр)

Мета — знайти деградацію сервера до релізу. Інструменти: k6 (WebSocket/HTTP API), Gatling (складні сценарії зі станом). Для специфічних протоколів пишуть кастомний stress-клієнт на Go або C#.

Параметри перевірки:

  • Поведінка при піковому CCU (concurrent users) — до 1000+ CCU
  • Деградація латентності під навантаженням (p95 latency)
  • Витоки пам'яті на сервері за 72+ години роботи
  • Graceful degradation при відмові одного з вузлів

Краш-репортинг та моніторинг

Після релізу QA продовжується через моніторинг. Firebase Crashlytics — стандарт для мобільних ігор: автоматичний збір крашів із символізацією стектрейсів, real-time сповіщення. Sentry — для серверних компонентів і WebGL. ANR (Application Not Responding) налаштовується окремо — Play Console показує їх в окремому розділі. Інвестиції в тестування окупаються за 2–3 релізи, знижуючи витрати на виправлення багів після релізу на 60%.

Що входить у нашу роботу

  • Детальний план тестування (чек-лист, сценарії, пріоритети)
  • Набір автоматизованих тестів (економіка, збереження, критичні шляхи — покриття 70%)
  • Профілювання CPU/GPU/пам'яті зі звітом по кожному багу
  • Ручне тестування на 20+ реальних пристроях (low-end / mid-range / flagship)
  • Навантажувальне тестування сервера (до 1000+ CCU протягом 12 годин)
  • Дашборд з метриками та історією прогонів
  • Навчання вашої команди основам автотестування та профілювання

Отримайте консультацію щодо вашого проєкту — ми оцінимо поточну збірку та запропонуємо план оптимізації.

Процес роботи

  1. Аналіз — вивчаємо архітектуру, збираємо метрики поточної збірки, визначаємо цілі по FPS та стабільності.
  2. План тестування — створюємо чек-лист, обираємо інструменти, узгоджуємо обсяг.
  3. Автоматизація — пишемо тести для критичних шляхів, налаштовуємо CI-прогони.
  4. Ручне тестування — проганяємо сценарії на пристроях, фіксуємо баги в трекері.
  5. Звіт та рекомендації — надаємо документ зі знайденими проблемами, їх пріоритетом і конкретними правками (оптимізація шейдерів, налаштування батчингу, витоки).

Наші метрики

  • 8+ років досвіду в геймдеві (Unity, Unreal, мобільні/PC/консолі)
  • 30+ протестованих мобільних ігор
  • Середнє підвищення FPS після оптимізації — 30%
  • Скорочення часу регресійного тестування — 40%
  • Гарантія: всі бази з Critical/High пріоритетом виправляються до релізу
Чек-лист передрелізного тестування
  • [ ] Профілювання CPU/GPU на low-end пристрої (30 хв ігрової сесії)
  • [ ] Перевірка витоків пам'яті через Memory Profiler (порівняння знімків до/після сцени)
  • [ ] Frame Debugger — не більше 200 draw calls, перевірка статичного батчингу
  • [ ] Навантажувальний тест сервера: 500+ CCU, тривалість 12 годин
  • [ ] ANR-моніторинг на Android (окремо від крашів)
  • [ ] Функціональні автотести на систему збережень та економіку

Типові помилки в QA-процесі

  • Тестування лише на флагманах — більшість гравців на mid-end і low-end.
  • Відсутність автотестів для економіки та збережень — вони ламаються при будь-якому рефакторингу.
  • Пропуск навантажувального тестування сервера — гра виходить, набирає 10k DAU і сервер лягає.
  • Регресія тільки перед мажорними релізами — критично перед кожним публічним оновленням.

Замовте тестування ігор під ключ. Ми оцінимо ваш проєкт за 3 дні та запропонуємо план з гарантією результату. Пишіть — розберемо вашу збірку безкоштовно.