Меня зовут Пронин Евгений, я QA Engineer с опытом в автоматизации тестирования в играх. Я работал на таких известных проектах как Hawk: Freedom Squadron и Rush Royale студии ITTerritory, где успешно реализована и постоянно поддерживается система автоматизированного тестирования.
Gamedev, как и любая разработка, нуждается в тестировании.
Следуя за ростом количества новых механик в проекте растут и объемы тестирования, а следовательно в какой-то момент придется решать извечную дилемму: "Увеличивать количество QA, увеличивать время на тестирование или же уменьшать количество проверок?"
Увеличивая штат QA мы обязаны обучать новых тестировщиков проекту, выстраивать сложную иерархию взаимодействия сотрудников в отделе, а также распределять зоны ответственности между новыми специалистами.
При этом в момент прекращения работы проекта возможно не найдется достаточное кол-во вакансий в компании под высвобожденные ресурсы и придется сокращать штат, выплачивая выходные пособия и деморализуя остальных сотрудников.
С 2021 по 2023 год множество крупных игровых и не только компаний сокращали чрезмерно раздутые штаты сотрудников. Тысячи специалистов остались без работы.
Увеличивая время на тестирование стоимость производства продукта растет. Это происходит даже если все процессы цикла производства у вас выстроены максимально эффективно.
Снижение количества проверок кажется самым простым и выгодным в данной ситуации, но как показывает практика одна небольшая NRE может запороть монетизационную акцию, в которую вложено много маркетинговых средств. И в итоге сэкономив тысячу можно потерять миллион.
Вы удивитесь, если я скажу, что есть элегантный подход, позволяющий не прибегать ни к одному из вышеуказанных решений и при этом разобраться с возникшей проблемой. И этот подход - автоматизация тестирования.
Какие же есть плюсы у автоматизации с точки зрения менеджмента проекта:
сдерживание роста численности штата QA;
сохранение количества проверок;
сокращение общего времени на тестирование продукта;
нейтрализация человеческого фактора;
повышение уровня понимания работы проекта у QA;
сокращение объемов ручного тестирования (снижение усталости QA);
снижение эффекта замыленного глаза у тестировщика.
Автоматизированное тестирование подходит любому проекту. Давайте рассмотрим несколько стадий развития проекта и отберем какие преимущества на каком этапе можно получить.
1. Вы на стадии поиска удачного прототипа
Протипирование подразумевает максимально быструю разработку и кратчайший вывод продукта сбора метрик.
Как правило на этом этапе не так важно качество продукта, характерны большое количество изменений. И вы можете сказать, что не имеет смысла внедрять автоматизацию. Однако не соглашусь с вами.
Пусть перед нами и не стоит необходимость проверять досконально все features, но мы должны быть уверены, что реализованные features работают, а билд запускается и не падает. Это можно и стоит автоматизировать.
Также не стоит забывать, что проект может стать успешным, а чем раньше внедрена автоматизация тем она дешевле.
2. Проект вышел на SoftLaunch
На этом этапе можно предполагать, что некие фундаментальные фичи уже реализованы и подвергаться кардинальной переделке не будут.
Автоматизировав часть регрессивных проверок мы высвободим ресурсы QA для более качественного анализа геймплея с пользовательской стороны.
3. Проект выходит на пик заработка
Это тот момент, где автоматизация работает на максимум.
Вы безостановочно создаете новые функциональности одну за одной, увеличиваете кол-во новых фичей в каждой версии, прибыль льется рекой.
Однако штат тестирования разрастается экспонециально. Возникает необходимость выстраивания сложной иерархии подчинения, менторства. Выделять зоны ответственности, находить среди сотрудников тех, кто готов и может выполнять менеджерские обязанности или же искать дорогостоящих специалистов на стороне. И в итоге из небольшой студии мы превращаемся в гиганта. Фонд оплаты труда съедает уже ощутимую часть прибыли. И скрестя пальцы мы надеемся, что наш карточный домик тестирования в самый ответственный момент не даст трещину, так как заложенный маркетинговый бюджет равен бюджету маленькой страны.
Вот тут нам и приходят на помощь автотесты.
Так на одном из моих прошлых проектов автоматизация позволила удержать численность QA специалистов в отделе в количестве 4 человек (из них 1 джун), хотя в каждом спринте появлялось несколько больших фичей.
4. Старый проект, который отправлен на поддержку
В этом случае у вас стоит задача уменьшить издержки проекта. Возможно у вас есть уже новый прототип или проект, который готовится к TechLaunch и вы постепенно перетягиваете разработчиков на новую игру, оставляя геймдизайнерам и художникам некоторые рычаги для создания небольшого визуального контента.
При наличии автоматизации вы можете смело высвободить ресурсы QA и быть уверенными, что проект будет работать, а все необходимое микро-тестирование нового контента отдать на откуп фичеовнерам, игрокам, бета-тестерам или, на крайний случай, менеджеру проекта и CEO :)
Также вы сможете переиспользовать уже имеющиеся у вас тесты для нового проекта.
Если вы найдете материал дискуссионым, то welcome в комментарии. Возможно ваш опыт сильно отличается от моего и мы найдем правду где-то посередине.