Як стати тестувальником ігор і чим QA у геймдеві відрізняється від інших напрямів

Всім привіт! Мене звати Олександр Шараєвський, я Team Lead QA в Pingle Studio. У цьому матеріалі поговоримо про те, чим QA в геймдеві відрізняється від інших напрямів, де вивчитись на тестувальника, які хардскіли знадобляться в роботі та чи правда, що через QA легше увійти в геймдев?

Хто такий QA в геймдеві?

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

У кожній здоровій компанії QA-команда бере участь в абсолютно всіх процесах і проєктах. Вносить пропозиції з удосконалення продукту, пояснює та допомагає оцінити ризики тієї чи іншої фічі / проєкту / рішення, добуває необхідну інформацію для геймдизайнерів, розробників та інших членів команди. Ці люди завжди знають усе про гру, вивчають і документують кожен її куточок, «поїдають» всю технічну документацію і те, що зв’язане з грою, тоннами.

Де вчитись на QA?

Я бачу лише три оптимальні варіанти:

  • Пізнати все самому. Цей спосіб дієвий для дуже самоорганізованих та цілеспрямованих людей, які можуть самі скласти програму навчання та дотримуватися її. 80% необхідної інформації є у вільному доступі на просторах інтернету. Тому якщо ви достатньо самоорганізовані та мотивовані, то для першої роботи все можна вивчити з інтернету. Мінусом у цьому випадку є велика кількість «брухту», який пропонує мережа, багато надлишкової інформації та застарілих підходів. Все потрібно фільтрувати, а зробити це може далеко не кожен.
  • QA-курси. Напевно, це найпопулярніший спосіб пізнати професію. Зараз на ринку пропонують багато навчальних курсів на тему QA, починаючи від геймдев-QA та закінчуючи курсами, які вчать тестувати АРІ або клієнт-серверні продукти. Перевага курсів — організована, компактна подача інформації, де ви крок за кроком дізнаєтесь більшість необхідних інструментів і технік, щоб розпочати роботу в QA. Найголовніший мінус цього методу — надто великі очікування. Людям обіцяють «швидко і просто» опанувати нову спеціальність і заробляти ледве не трильйони... А насправді цей шлях зовсім не такий простий. Часто бачу, як вихідці з курсів швидко перегорають, оскільки їхні очікування не сходяться з реальністю. Також є велика кількість нерелевантних і курсів «під компанію», які дають ті знання, які на практиці ніде використати.
  • Стажування у компанії. Все частіше помічаю спеціальне стажування в різних компаніях для людей, які хочуть змінити діяльність. Після курсу пропонують офери для найкращих студентів. На мою думку, одна з вагомих переваг цього методу є живе спілкування та переймання досвіду як від лектора, який працює в компанії, так і від інших студентів (оскільки на онлайн-курсах менше спілкування та обміну інформацією між студентами). Недоліком я б назвав прив’язаність до певного роботодавця з першого ж дня стажування, а також те, що людей «заточують» під роботу на конкретній посаді та компанії. Хоча для когось це може бути великим плюсом, вирішувати вам :) Тож якщо ви мрієте працювати у великій та відомій студії — стежте за їх анонсами та при першій же можливості йдіть на стажування.

Щодо геймдеву, тут ситуація трохи інша. Інформації щодо тестування в іграх українською / російською мовами у вільному доступі дуже мало. Якщо ви спрямовані саме на геймдев та хочете пізнати все самостійно, шукати інформацію варто англійською. Також потрібно мати на увазі, що базову теорію потрібно знати на достатньо високому рівні, аби бути QA в геймдеві. Із порад, окрім бази, почитати книгу Game Development Essentials: Game QA & Testing.

Чи правда, що через 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 — «болюча» тема для багатьох, оскільки це специфічний та не простий напрям у геймдеві. Розвиватися в цьому векторі варто людям, яким програмування до душі. Автоматизація — це своєрідне написання програми, яка буде тестувати вашу гру, але, окрім програмування, вам потрібно продумувати, як саме тестуватимете та які тести доцільно автоматизовувати.

Підписуйтеся на Telegram-канал @gamedev_dou, щоб не пропустити найважливіші статті і новини.

👍ПодобаєтьсяСподобалось14
До обраногоВ обраному6
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Про всяк випадок :) На курсах потрібно було завести кілька багів з будь-якої гри, ну мене і понесло. Я ж бо граю років з 30+, шо я вам, багу не знайду?..

Ну. Знайшов кілька. Завів. Більшість виникала постійно або взагалі стосувалася тексту. Але одна бага виникала коли їй заманеться. І, звісно ж, саме на неї мене попросили записати ше й відео :)

Ловив я ту багу десь годину.

Але все-рівно вважаю геймдев хорошим варіантом :)

Очень мало информации про Compliance testing даже в англ сообществе. Кто-нибудь может подсказать, где вообще об этом почитать/посмотреть?

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

Гарна стаття. Сам не так давно працюю QA в геймі й хочу порадити колегам, що тільки навчаються: не розчаровуйтеся, якщо ваша перша робота буде умовною мобільною 3-в-ряд, або ще якась клікалка. Якщо у вас нормальний лід, налажений контакт із розробниками й чітка, актуальна документація, то така робота принесе море задоволення й позитивного досвіду.
P.S.: багато з того, що описано в статті тільки на перший погляд здається складним і незрозумілим. В роботі та за допомоги колег всі необхідні інструменти опановуються дуже швидко.

Інформативно, дякую!

Підписатись на коментарі