19:00 16.08.2012
Письмо от издателя: тестирование
Уважаемые игроки,
Мы часто сталкиваемся с одинаковыми вопросами и непониманием того, как устроена работа игровой компании. Это натолкнуло нас на мысль начать серию публикаций и рассказать, как работаем мы, как работают наши партнеры-разработчики, и вообще – как выглядит онлайн-игра не глазами игрока, а со стороны тех, кто ее запускает и поддерживает.
В первой публикации мы рассказывали о том, как в игре появляются ивенты (о них вы можете прочитать здесь).
Вторую часть публикаций мы хотели бы посвятить вопросу тестирования и осветить следующие вопросы:
- Как проходит тестирование?
- С какими проблемами мы сталкиваемся при тестировании?
- Как решаем эти проблемы?
А также ответить на вопросы игроков:
- Почему нет публичного тестового сервера?
- Почему после тестирования остаются баги?
Начать мы хотели бы с того, что любая онлайн-игра – это сложная программа, которая постоянно дописывается разработчиком на протяжении всего срока ее жизни, то есть годами. Как мы все понимаем, при таком объеме кода возможны различные нестыковки и ошибки. Нет разработчиков, которые писали бы программы без ошибок, поэтому тестирование – вещь обязательная, поскольку баги будут всегда, и часть из них будет попадать на боевой сервер.
Так что появление ошибок на боевом сервере – это неотъемлемая часть нашего рабочего процесса, и вопрос лишь в том, как быстро найти и исправить те единичные ошибки, что остаются незамеченными при тестировании.
Итак, как же проходит тестирование:
После получения нового патча или глобального обновления мы устанавливаем его на наш тестовый сервер и сразу же сообщаем об этом разработчику, чтобы он проверил, все ли файлы установились корректно. Подразумевается, что разработчик уже проверил обновление у себя на тестовом сервере (закрытом, если речь идет о небольшом патче, и публичном в случае с глобальными обновлениями). Но, к сожалению, без ошибок не обходится нигде и никогда. Понимая это, наши тестеры проверяют после разработчика каждое обновление.
Проверка тестерами всегда осуществляется по чек-листу, состоящему из более чем 100 пунктов.
Например:
торговля с другими игроками (обмен, личный магазин);
смерть (потеря опыта, выпадение предметов);
PvP (Player versus Player) (снижение морали при Player Killing, повышение морали, дуэли);
гильдия (создание гильдии, прием персонажа, исключение персонажа, роспуск гильдии, функционирование окна гильдии);
локализация и множество других важных игровых моментов.
Важно понимать, что даже если в игру внесено мелкое изменение, проверка все равно пойдет по всем пунктам.
Помимо стандартного чек-листа, к каждому обновлению прилагается описание – что было изменено или добавлено, и что следует проверить. Эти пункты добавляются к стандартному списку для проверки.
Как правило, тестирование заканчивается подтверждением от тестеров, что обновление можно ставить на боевые сервера.
Но чаще всего наши опытные специалисты находят что-то, что упустили из вида разработчики. Тогда мы сообщаем им о найденных ошибках и ждем новую исправленную версию обновления. Обычно разработчику требуется несколько дней на исправление ошибок и сборку новой версии патча. После чего тестирование начинается сначала, и процесс продолжается, пока мы не получим стабильную версию без ошибок.
Так что проверка глобального обновления занимает в среднем от четырех до шести недель, а проверка исправления локальной ошибки в игре - несколько дней.
Заливать такие протестированные патчи нужно на остановленные сервера, поэтому мы стараемся "накатывать" плановые обновления во время технической остановки серверов. Внеплановые остановки мы делаем только для срочных исправлений.
Какие бывают проблемы:
К сожалению, некоторые ошибки нельзя обнаружить в процессе тестирования, и мы узнаем о них от игроков уже после установки обновления на боевой сервер. Причины могут быть совершенно разные. Как правило, это ошибки, воспроизводимые только в какой-то специфической ситуации. Например, ошибка, связанная с умением конкретного персонажа или ошибка, появляющаяся только в конкретной локации. Мир игры огромен и разнообразен, и проверить абсолютно все элементы игры в сжатые сроки на тестовом сервере просто невозможно. Но благодаря бдительности наших игроков и работе технической поддержки мы довольно быстро узнаем об ошибках и передаем их разработчику. Тут важно отметить, что чем подробнее и точнее игрок описывает проблему, тем быстрее разработчик находит причину и устраняет ее.
Также бывают неприятные ситуации, когда на тестовом сервере все работало корректно, а при переносе обновления на боевой появляется ошибка. Это связано с особенностями подготовки боевого патча на стороне разработчика.
Иногда мы сталкиваемся с серьезным выбором: ставить обновление на игровые сервера или нет. Бывает, что обновление, исправляющее серьезную ошибку в игре, которая сильно мешает игрокам, вместе с тем содержит в себе новую, другую ошибку. И нам приходится решать, как поступить. В этом случае мы стараемся принять взвешенное решение, чтобы игрокам было наиболее комфортно играть. То есть если исправление касается критичной ошибки, а новая ошибка незначительна, мы можем залить такое обновление, поскольку это принесет больше пользы, чем вреда.
Доступ на тестовый сервер для игроков:
Для некоторых случаев требуется тестирование с большим количеством участников, и тогда встает вопрос, приглашать ли игроков на тестовый сервер. На текущий момент эта возможность у нас не реализована по причине технической безопасности – доступ на наши сервера возможен только из офиса. Но сейчас мы рассматриваем варианты, при которых самые активные игроки будут приглашаться на тестирование. Мы надеемся, что это поможет быстрее и эффективнее тестировать глобальные обновления.
Но тут есть еще одна сложность: нам важно получать четкое описание найденных проблем, а игроки не всегда пишут достаточно подробно…
Например, заявка в техническую поддержку вида "у вас там косяк на нубском острове, исправьте" не дает четкого представления о проблеме, так что исправить проблему до выяснения всех деталей не получится.
Мы прикладываем все усилия для того, чтобы обновления не содержали ошибок, и в игру не попадали баги. Каждое обновление применяется так быстро, как только это возможно. Ведь наша единственная цель – сделать так, чтобы вам было интересно играть! Нам важно знать ваше мнение, поэтому мы ждем ваших комментариев, а также интересных тем и вопросов, на которые мы сможем ответить в следующих статьях.
Обсудить на форуме
Мы часто сталкиваемся с одинаковыми вопросами и непониманием того, как устроена работа игровой компании. Это натолкнуло нас на мысль начать серию публикаций и рассказать, как работаем мы, как работают наши партнеры-разработчики, и вообще – как выглядит онлайн-игра не глазами игрока, а со стороны тех, кто ее запускает и поддерживает.
В первой публикации мы рассказывали о том, как в игре появляются ивенты (о них вы можете прочитать здесь).
Вторую часть публикаций мы хотели бы посвятить вопросу тестирования и осветить следующие вопросы:
- Как проходит тестирование?
- С какими проблемами мы сталкиваемся при тестировании?
- Как решаем эти проблемы?
А также ответить на вопросы игроков:
- Почему нет публичного тестового сервера?
- Почему после тестирования остаются баги?
Начать мы хотели бы с того, что любая онлайн-игра – это сложная программа, которая постоянно дописывается разработчиком на протяжении всего срока ее жизни, то есть годами. Как мы все понимаем, при таком объеме кода возможны различные нестыковки и ошибки. Нет разработчиков, которые писали бы программы без ошибок, поэтому тестирование – вещь обязательная, поскольку баги будут всегда, и часть из них будет попадать на боевой сервер.
Так что появление ошибок на боевом сервере – это неотъемлемая часть нашего рабочего процесса, и вопрос лишь в том, как быстро найти и исправить те единичные ошибки, что остаются незамеченными при тестировании.
Итак, как же проходит тестирование:
После получения нового патча или глобального обновления мы устанавливаем его на наш тестовый сервер и сразу же сообщаем об этом разработчику, чтобы он проверил, все ли файлы установились корректно. Подразумевается, что разработчик уже проверил обновление у себя на тестовом сервере (закрытом, если речь идет о небольшом патче, и публичном в случае с глобальными обновлениями). Но, к сожалению, без ошибок не обходится нигде и никогда. Понимая это, наши тестеры проверяют после разработчика каждое обновление.
Проверка тестерами всегда осуществляется по чек-листу, состоящему из более чем 100 пунктов.
Например:
торговля с другими игроками (обмен, личный магазин);
смерть (потеря опыта, выпадение предметов);
PvP (Player versus Player) (снижение морали при Player Killing, повышение морали, дуэли);
гильдия (создание гильдии, прием персонажа, исключение персонажа, роспуск гильдии, функционирование окна гильдии);
локализация и множество других важных игровых моментов.
Важно понимать, что даже если в игру внесено мелкое изменение, проверка все равно пойдет по всем пунктам.
Помимо стандартного чек-листа, к каждому обновлению прилагается описание – что было изменено или добавлено, и что следует проверить. Эти пункты добавляются к стандартному списку для проверки.
Как правило, тестирование заканчивается подтверждением от тестеров, что обновление можно ставить на боевые сервера.
Но чаще всего наши опытные специалисты находят что-то, что упустили из вида разработчики. Тогда мы сообщаем им о найденных ошибках и ждем новую исправленную версию обновления. Обычно разработчику требуется несколько дней на исправление ошибок и сборку новой версии патча. После чего тестирование начинается сначала, и процесс продолжается, пока мы не получим стабильную версию без ошибок.
Так что проверка глобального обновления занимает в среднем от четырех до шести недель, а проверка исправления локальной ошибки в игре - несколько дней.
Заливать такие протестированные патчи нужно на остановленные сервера, поэтому мы стараемся "накатывать" плановые обновления во время технической остановки серверов. Внеплановые остановки мы делаем только для срочных исправлений.
Какие бывают проблемы:
К сожалению, некоторые ошибки нельзя обнаружить в процессе тестирования, и мы узнаем о них от игроков уже после установки обновления на боевой сервер. Причины могут быть совершенно разные. Как правило, это ошибки, воспроизводимые только в какой-то специфической ситуации. Например, ошибка, связанная с умением конкретного персонажа или ошибка, появляющаяся только в конкретной локации. Мир игры огромен и разнообразен, и проверить абсолютно все элементы игры в сжатые сроки на тестовом сервере просто невозможно. Но благодаря бдительности наших игроков и работе технической поддержки мы довольно быстро узнаем об ошибках и передаем их разработчику. Тут важно отметить, что чем подробнее и точнее игрок описывает проблему, тем быстрее разработчик находит причину и устраняет ее.
Также бывают неприятные ситуации, когда на тестовом сервере все работало корректно, а при переносе обновления на боевой появляется ошибка. Это связано с особенностями подготовки боевого патча на стороне разработчика.
Иногда мы сталкиваемся с серьезным выбором: ставить обновление на игровые сервера или нет. Бывает, что обновление, исправляющее серьезную ошибку в игре, которая сильно мешает игрокам, вместе с тем содержит в себе новую, другую ошибку. И нам приходится решать, как поступить. В этом случае мы стараемся принять взвешенное решение, чтобы игрокам было наиболее комфортно играть. То есть если исправление касается критичной ошибки, а новая ошибка незначительна, мы можем залить такое обновление, поскольку это принесет больше пользы, чем вреда.
Доступ на тестовый сервер для игроков:
Для некоторых случаев требуется тестирование с большим количеством участников, и тогда встает вопрос, приглашать ли игроков на тестовый сервер. На текущий момент эта возможность у нас не реализована по причине технической безопасности – доступ на наши сервера возможен только из офиса. Но сейчас мы рассматриваем варианты, при которых самые активные игроки будут приглашаться на тестирование. Мы надеемся, что это поможет быстрее и эффективнее тестировать глобальные обновления.
Но тут есть еще одна сложность: нам важно получать четкое описание найденных проблем, а игроки не всегда пишут достаточно подробно…
Например, заявка в техническую поддержку вида "у вас там косяк на нубском острове, исправьте" не дает четкого представления о проблеме, так что исправить проблему до выяснения всех деталей не получится.
Мы прикладываем все усилия для того, чтобы обновления не содержали ошибок, и в игру не попадали баги. Каждое обновление применяется так быстро, как только это возможно. Ведь наша единственная цель – сделать так, чтобы вам было интересно играть! Нам важно знать ваше мнение, поэтому мы ждем ваших комментариев, а также интересных тем и вопросов, на которые мы сможем ответить в следующих статьях.
Обсудить на форуме
COMMENTS