Современные отделы тестирования

Нынче каждый уважающий себя игрок считает своим священным долгом пожурить разработчиков за качество выходящего в свет проекта. В большинстве своем целью подобного “журения” становятся визуальные эффекты, вышедшие из моды еще несколько лет назад, сюжетная линия, полная избитых штампов, и многочисленные ошибки, допущенные из-за невнимательности, а порой и некомпетентности создателя. И если с первыми двумя недоработками бороться действительно сложно – их проще вообще не допускать, то без устранения ошибок выпускать игру попросту нельзя. В последние годы отечественные разработчики начали тратить существенные средства на создание своих собственных отделов тестирования. Должность «тестер» висит буквально на всех страничках вакансий разработчиков компьютерных игр. Так что же это такое – быть профессиональным тестером?
В данной статье я раскрою общие принципы процесса тестирования и методики отлова и уничтожения багов. Кроме того, я постараюсь дать ответ на извечный вопрос: “А почему же после выхода игры ошибки все равно остаются?”
Самые первые компьютерные игры не содержали больших огрехов вследствие своей простоты. Но с развитием индустрии виртуальные развлечения все больше и больше усложнялись. Апофеозом эволюции или, если хотите, ее критической точкой стало смешение жанров. Негласное правило о багах гласит: “Чем больше в игре нововведений, тем больше в ней ошибок”. Из данной ситуации имеется три различных выхода: первый – вообще отказаться от разработки компьютерных игр. По вполне объективным причинам подобный вариант мы рассматривать не будем. Выход второй – посвятить свою жизнь разработке простеньких игр, цена на которые не превышает нескольких долларов. Спрос на такие игры есть, пускай и гораздо меньший, нежели на полномасштабные хиты мирового уровня. Третий выход напрямую связан с затратой значительных средств и времени на тестирование.
Как только разработчики осознали всю важность проблемы борьбы с ошибками, они решили пойти путем наименьшего сопротивления. Уже на стадии завершения проекта начиналось так называемое «бета-тестирование». Специально отобранным по различным критериям людям давалась копия с игрой, и те за «спасибо» и строчку в титрах должны были в течение небольшого промежутка времени наблюдать за возникающими проблемами и докладывать о них девелоперам.
Затраты со стороны разработчиков были минимальны, как, впрочем, и польза от этого процесса. Неподготовленные люди могли лишь очень-очень поверхностно исследовать игру и в основном видели лишь “вершину айсберга”. После того, как игры стали выходить фактически такого же низкого уровня, как и до тестирования, издатели вместе с разработчиками начали задумываться о создании собственных тестерских отделов с профессиональным штатом сотрудников.
Вместе с образованием таких отделов возникли и некоторые проблемы. Одна из главных – люди, пришедшие устраиваться на работу тестером, абсолютно не представляли, куда они идут. Ведь процесс тестирования целиком покрыт мифами, и очень небольшое число пользователей действительно представляют, как же «это» происходит.

Мифы о тестировании
Первый и он же главный миф: “Тестировать – значит только играть и получать за это кругленькие гонорары”. Несостоятельность данного утверждения заключается в следующем: за длительный период разработки контент игры изменяется неоднократно. В результате чего тестер всегда должен быть в курсе предстоящих нововведений и понимать, насколько положительно они скажутся на геймплее в целом. Необходим многолетний опыт общения с играми различных жанров и четкое понимание того, какой должна быть финальная версия проекта. Одними игровыми навыками здесь не ограничишься.
Миф номер два: “Для тестирования не нужно никаких дополнительных знаний”. Действительно, владеть сложнейшими языками программирования в совершенстве тестер не обязан. Но если ему поручат задание по поиску ошибок в скриптах, а он не знает языка, на котором они написаны, у него мало что получится. Тестирование, не имеющее под собой дополнительных знаний и целиком рассчитанное на зоркий глаз, имеет достаточно низкий КПД.
Миф номер три: “Тестирование нужно лишь на последних стадиях создания проекта”. Сие утверждение неверно в корне. На последних стадиях создания проекта уже очень мало что можно сделать или изменить. Любое исправление некритичной для игры ошибки может привести к появлению десяти критичных. Разработчики вряд ли согласятся на такую авантюру, а посему именно в финальной части разработки любого проекта программный код фактически “замораживается”.

Ломать - не строить
Итак, кем же должен быть тестер? В зависимости от стадии разработки проекта от него требуются разные качества. Вначале, когда каждый день появляются новые наработки, он должен в максимально быстром темпе проверять их на жизнеспособность и на взаимодействие с другими, уже сделанными ранее. Как пример: в некую 3D “стрелялку” добавили способность перетаскивания предметов. Не станет ли теперь возможным выбраться за пределы локации? Это надо обязательно проверить во всех местах любого уровня.

Когда в игре уже реализована большая часть заявленных “фичей”, и своего часа дожидается второстепенный контент (дополнительные миссии, модели оружия, заклинания и так далее), особенно важно умение тестера грамотно “ломать”. Необходимо подвергнуть процессу “ломки” все составляющие игры (интерфейсам на этом этапе достается больше всего) и сделать это максимально возможным количеством способов. Нестандартные действия – вот девиз этой стадии тестирования! Поставить игру на паузу и сто раз нажать на одну кнопку, дать указание герою, а затем эту паузу отжать. Легко! Сменить разрешение шесть раз, дважды потревожить “Alt-Tab”, а затем резко крутануть камеру, приведя видеокарту к полнейшему шоку. Раз плюнуть! На этом этапе как раз и можно понять, предрасположены ли вы к работе тестера вообще. Новых фичей в игре почти не появляется, все разработчики заняты исправлением найденных тобою и твоими коллегами ошибок. Изо дня в день проверка одних и тех же вещей превращается в рутину, чертовски необходимую рутину. Когда же игра проходит эту стадию и начинает заполняться контентом, для тестера наступают счастливые деньки. Новые миссии, новые возможности, новые ошибки. Баги находятся легко и просто. Именно тут и ставятся личные рекорды и бьются любые показатели. “Я написал сто багов за неделю!” - кричит довольный тестер в пятницу вечером. Следующей ступенью тестирования является подготовка проекта к релизу. Постоянная работа в режиме полной готовности – вы вряд ли будете гулять по выходным, а про ночной сон и вовсе придется забыть. Но когда игра появляется на полках магазинов, начинаешь понимать, что это того стоило. Впрочем, эйфория длится недолго. Ведь разработчики не сидят без работы ни одного дня. За выходом одного проекта сразу же следует разработка другого, и так до полного коммунизма.

***
Нерассмотренным остался лишь один вопрос: почему же баги все равно остаются? Для ответа настоятельно рекомендую перечитать статью с самого начала. Избавить разработку игры от пресловутого человеческого фактора на данный момент нельзя. Единственное, что может сделать тестерский отдел, - это свести количество ошибок к минимуму. Обратимся к статистике: с момента образования внутреннего тестерского отдела в Nival Interactive количество патчей к проектам студии уменьшилось с семи до двух. Результат долгой и кропотливой работы, как говорится, налицо.

Комментарии: 14
Ваш комментарий

Ну что, товарищи, как вам статья?

0

А что, хорошая статья :) Всё в принципе верно... И развенчан основной миф о тестировании игр - тестирование это действительно не просто игра в своё удовольствие, это довольно тяжелый труд. Это обычная работа, а не развлечение, как многие считают :)

0

Данная статья не соответствует действительности, хотя может в Нивале именно так эксплуатируют тестеров...
На самом деле работа тестера - это лажа. Единственное неудобство в этой работе - это надо ездить к черту на кулички за копиями проектов. Ошибки искать в них - это неблагодарное дело, потому что даже в самой вылизанной игре их очень много. У меня есть друг тестер, так вот он не играл не в одну копию проекта, которую ему выдавали, а лишь давал заинтересованным людям с условием, что они найдут 5 ошибок, играя в свое удовольствие. И зашибал так по 2000 рублей с игры.

0

2 Clane
Отличная статья
2 MsManiac
Играть в свое удовольствие ? И это на сыром проекте, в котором багов столько, сколько букв на этой странице. Мне или кажется, что не получится в это играть, или это не возможно

0

Aratorn
Ну почему сыром? Если это локализация проекта - то вполне можно играть, так как там версия совпадает с последней западной, только с русским языком.

0

MsManiac

Это не работа тестера - лажа, а твой друг нашел такую лажу :) Во всех нормальных конторах тестеры впахивают как положено - особо не расслабишься... А если баг критичный провафлишь - можешь и огрести нехило :) И ошибки искать не неблагодарное дело, а именно работа тестера - при хорошем тестировании (как и было показано на примере Нивала) ошибот на порядки меньше, чем при лажовом тестинге, недаром есть игры насквозь баговые, а есть вылизанные по максимуму...

0

2all
По вашему мнению - такие статьи нужны на ПГ? Т.е. обозревание "кухни" как бы изнутри?

2MsManiac
Спаисбо, ты рассказал народу причину, по которой российские проекты выходят такими сырыми... встречайте - тестеры признающие их работу лажей. Клево!:) Но так мы никогда не будем выпускать продукты ААА класса...

0

2 Legоlas
Такие статьи обязательно должны присутсвовать на ПГ, ведь, как говорит русская народная пословица не обзором (превью) единым живет геймер.

0

2 Lego
Забавно. Но совершеннейшим образом ничего не раскрыто. Так, общие слова, общие описания. Для детей статья. Хотя, тем кто совершенно не знаком с тестированием, должно быть интересно :)
а на счет:
>По вашему мнению - такие статьи нужны на ПГ? Т.е. обозревание "кухни" как бы изнутри?
Обозревание "кухни" изнутри - это одно. То, что написано здесь - другое. Такие статьи - прям даже и не знаю. А вот серьезные работы пригодились бы, думаю.

0

Знайте вот такие статьи с будуна только и читать

Я не увидил не каких новых фичей а лиш текст который валяеться на сайте 1с с дополнениями а зделать так чтоб моя видуха охуе... я могу спокойна особену когда у меня похмелья насчёт сырости наших игр вот предположем корсары 3 не как не могут выпустить одна из проблем баги зыыы а фаны долбают и долбают офф форум Акеллы. Я был бета тестером в своё время вот я делал как я издевался навсем над чем только можно издеваться напивался и здевался мочил всё что движеться, кстате читы придуманы для бета тестеров, и приэтом я делал скриншоты что ввобил разграбов в шок. Так что ко всему надо подходить творчески как предположем в Постале 2 зы вот чего чего но в этой игрушке ябы хотел стать тестером.

0

Выражаю уважение автору статьи, так как считаю, что это нужная статья. Не все же превью и обзоры писать, иногда интересно заглянуть "за кулисы".
Предлагаю пойти дальше, а именно, писать статьи о том что и как работает в области игростроения. То есть материалы на подобие такой статьи, но более глубокие. Не обязательно сразу профессиональный взгляд. Можно начать с малого, такого же обзорчика, как данная статья, а потом разворачивать тему все больше.
Это, заодно, и облегчит понимание материала.

Теперь о статье. В продолжение данной тематики хочу сказать следующее.
Я сам работаю программистом уже не один год и с тестерами общался довольно часто, так что знаю об их работе не по наслышке. Сам тоже тестировал некоторые продукты и знаю что для этого нужно. Хотя, конечно, лучше бы услышать мнение профессионального тестера, но, думаю, что кое-что и я смогу рассказать. (возможно что-то повторю из статьи, но это не страшно)
Итак. Перво-наперво, для тестера важна усидчивость, внимательность и готовность к рутинной работе. Даже на примере компании Нивал, можно сказать, что хоть количество патчей и сократилось, но еще есть куда улучшаться.
Тестер должен не только уметь проверять работоспособность элеентов игры, но так же от него требуется:
- умение составлять план тестирования (хаотичное тыкание на кнопки без системы тек же почти бесполезно)
- определять степень критичности ошибок
- четко, внятно и грамотно описать путь ее воспроизведения
- периодичность (например, при каждом запуске игры менюшка дергается влево, или, иногда при заходе в инвентарь игра вылетает)
- как это не странно, владеть русским и английским (если работае ведется с западными разработчиками или заказчивками) языком, то есть всякие фразы "жмакаешь на кнопарик квестов и все падает" в журналах учета ошибок недопустимы
- уметь снимать состояние компа (сделать снимок экрана, окна с ошибкой, и других причин, по которым видно, что программа некорректно вышла, как в случае невозможности продолжать нормальную работу после выхода из игры) для вставки в журнал учета ошибок

Тестер сам может решать, что какие-то вещи неиграбельны или какие-то лучше изменить (это касается многих аспектов продукта). Тогда эти предложения рассматриваются заказчиком или прожект-менеджером (в зависимости от степени вносимых изменений) и либо утверждаются, либо отклоняются.

Тестер до начала тестирования, тщательно должен прочитать техническое задание, чтобы знать что программа должна уметь делать, а что - нет. При этом, то, что программа должна уметь делать, она должна делать с минимумом ошибок. Причем, даже, если ошибки имеются, то пользователь их видеть не должен.

Хорошие тестеры очень ценятся. В игростроении тестер может не знать каких-то языков программирования, в крайнем случае, может немного подучиться. А если брать область прикладных программных продуктов, то тут тестеру подчас необходимы знания и языков программирования и некоторых скриптовых языков, и часто без таких знаний тестера могут не взять на работу.

0

2Shadow Of Templar
Cпасибо за дополнения!;)

2Алл
Пипл, написать подробнее и профессиональным языком было можно;) Благо в области тестирования я работаю уже около трех лет. Вопрос в том - надо ли это? По тестированию "более глубоко" можно прочесть очень интересные книжки (могу назвать авторов и названия книг если это интересно). Моей же целью было "ввести" народ в курс дела.

0

Legоlas
Продолжай "вводить" в курс дела и дальше - может по-новому на игры смотреть начнем :)

0

Legоlas

Да-да..Раз уж начал писать про это , то не стОит останавливаться ;)

0