Спершу хотілося б розповісти, хто ж ці люди та чим саме вони займаються. Отже, я бачу себе та своїх колег як вартових якості продукту, які охороняють і не дають проскочити багам у продакшн. Кінцевому користувачу ми забезпечуємо стабільну гру, якою можна насолоджуватись, грати та проходити без критичних проблем. Замовнику ж економимо фінанси раннім виявленням проблем, оцінкою ризиків та своєчасним знаходженням багів, пов’язаних із сертифікацією.
У кожній здоровій компанії QA-команда бере участь в абсолютно всіх процесах і проєктах. Вносить пропозиції з удосконалення продукту, пояснює та допомагає оцінити ризики тієї чи іншої фічі / проєкту / рішення, добуває необхідну інформацію для геймдизайнерів, розробників та інших членів команди. Ці люди завжди знають усе про гру, вивчають і документують кожен її куточок, «поїдають» всю технічну документацію і те, що зв’язане з грою, тоннами.
Де вчитись на QA?
Моя думка: якщо хочете бути розробником — одразу вивчайте потрібну для цього інформацію і не шукайте «легкого» шляху, бо його не буде. Абсолютно все залежить від людини та її навичок. Знаю людей, колег, яким у сто разів простіше далось вивчити програмування на базовому рівні, ніж теорію і принципи тестування.
Всі ці принципи стосуються і геймдеву. Я не бачу кардинальної різниці в порозі входу, наприклад, розробника та QA. В обох напрямах ви маєте знати та розуміти базові речі, вміти думати логічно та критично, а також бути достатньо мотивованими, щоб не кинути все на пів шляху.
Які хардскіли потрібні, щоб бути тестувальником?
Кожен, хто задумується стати хорошим тестувальником, повинен мати щонайменше такі навички:
- Знання теорії тестування: для всього потрібна база, тестування — не виняток. Без теорії ви не зможете розмовляти з колегами «однією мовою», ефективно розподіляти свої сили та час, що в результаті призведе до збитків для роботодавця.
- Знання техніки: ви повинні розуміти, чим комп’ютер відрізняється від консолі. Знати архітектуру комп’ютера, розрізняти роботу процесора та відеокарти. Розуміти, що таке рендер, його основні типи та методи обчислення. Без цих знань, на мою думку, тестувальником стати неможливо.
- Розуміння клієнт-серверної архітектури: більшість програм працюють саме за цим принципом. З кожним роком хмарні технології все більше розвиваються, а також зростає кількість застосунків, які працюють саме на цій архітектурі.
- Базові знання командного рядка Windows (cmd): впевнений, що на роботі вам інколи доведеться використовувати командний рядок. Отож, щоб не розводити руками та не вчити все на ходу, потрібно ознайомитись із цим функціоналом.
- Базові знання VCS (система контролю версій): сучасна розробка неможлива без цього інструменту.
- Робота із хмарними сервісами Google: знати, як працювати з електронними документами та таблицями. Вміти заповнити таблицю даними, проаналізувати чи скласти звіт / документацію.
Якщо ж ми говоримо про геймдев, то до стандартного набору потрібно додати:
- Базове знання консолей: майже всі ігри на цей момент портовані (або портуються) на сучасні консолі. Тому просто must have розуміти різницю між різними типами консолей, а також чим консоль відрізняється від ПК.
- Знання Android та iOS: мобільний геймінг займає велику частку у геймдеві. Потрібно знати різницю між цими платформами та розуміти їхні головні фішки та недоліки.
- Базові знання найпопулярніших рушіїв: буде безперечним плюсом, якщо ви матимете розуміння, чим Unreal відрізняється від Unity, для чого взагалі існує ігровий рушій. Поцікавтесь, які бувають кастомні рушії та в чому їхня перевага. Ці знання неабияк спростять роботу в геймдеві.
Наскільки відрізняються задачі у тестувальників геймдеву та інших ніш?
Усе залежить від стадії розробки, на якій перебуває проєкт. Одразу скажу, що на початку проєкту робота більш різнопланова. Потрібно багато читати, грати, досліджувати, записувати та складати звіти / таблиці / статті для команди. Підсвічувати основні моменти та планувати тестування, писати стратегії тестування та складати чеклісти / тест-кейси.
На пізніших стадіях потрібно багато грати, робити ретести та проходити регресію. Це більш «рутинні» задачі, з якими щодня стикаються QA. Щоб не потонути у цій рутині та справитись з нею, раджу бути допитливими. Цікавитись, чому баг виникає не тільки з боку QA, а й з боку коду. Плюс вести статистику і документувати результати перевірок. Ви здивуєтеся, як приємно спостерігати за динамікою розвитку, зменшенням кількості багів та покращенням продуктивності проєкту. Розуміти, що ви та ваша команда докладаєте до цього чимало зусиль і справи йдуть вгору — неабиякий кайф :)
Якщо ж розглядати різницю між геймдевом та іншими нішами, то, як на мене, у геймдеві менше рутини. Адже навіть роблячи ретест чи вдесяте проходячи гру, ви завжди шукаєте щось нове. Новий ігровий досвід, пробуєте вигадати, як зробити цей процес цікавішим. У геймдеві зазвичай мало «жорстких, рамкових» сценаріїв, коли мусите робити тільки так, а не інакше. Саме це розбавляє щоденну рутину та дає змогу насолоджуватись роботою.
Які суміжні дисципліни потрібно вчити, щоб досягти успіху в QA саме в геймдеві?
Потрібно не стояти на місці та розвивати нові скіли. Я вважаю, що хорошому QA потрібно додатково вчити програмування, хоча б на базовому рівні. Також ніколи не завадить вміти працювати з двигуном та його дебаг-командами. Обов’язково варто подивитись на найбільш популярні системи контролю версій (Git та Perforce), а також CI / CD процеси та методи. Не забувати про сертифікацію на різних платформах, оскільки це одна з ключових галузей у консольному геймдеві.
Для хорошого розуміння і поглибленого вивчення процесів ігрової розробки раджу брати участь у геймджемах (і не тільки як QA, а й пробувати себе у розробці). Це дасть добрий буст, і я впевнений, що ви дізнаєтесь багато тонкощів розробки, тож зможете будувати більш цікаві, точні та гнучкі тестові стратегії на проєктах.
Які є варіанти розвитку в професії?
Часто із хорошого QA виходить гарний Project Manager. Але якщо розглядати напрями розвитку всередині спеціальності, то я б виділив такі:
Compliance testing (CQA) — процедури сертифікації — один з найважливіших процесів у розробці ігор. Хороших CQA спеціалістів, а ще й таких, які володіють 2+ консолями, на ринку не так багато. Цей напрям є цікавим і перспективним.
QA Project Lead — не у всіх компаніях є ця позиція, але багато хто пропонує таку роль. Це щось середнє між хорошими технічними навичками та менеджерськими вміннями. На мою думку, цей напрям є цікавим, оскільки потрібно вміти дисциплінувати та організувати команду, а також мати змогу технічно підтримувати колег.
Game Automatization testing — «болюча» тема для багатьох, оскільки це специфічний та не простий напрям у геймдеві. Розвиватися в цьому векторі варто людям, яким програмування до душі. Автоматизація — це своєрідне написання програми, яка буде тестувати вашу гру, але, окрім програмування, вам потрібно продумувати, як саме тестуватимете та які тести доцільно автоматизовувати.
https://gamedev.dou.ua/
Читати також:
Кар'єра в IT: посада Embedded-розробник
Бек-енд розробник (Back-end developer)
Востребованные профессии IT-сферы
6 причин не менять профессию
Смена специализации