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

Об этом я задумался во время одного из последних интервью по World of Warcraft, в котором было упомянуто, что часть проблем с Торгастом не была обнаружена участниками тестирования. И дело не в этом конкретном утверждении, а в самой философии тестирования и в том, как она могла способствовать возникновению проблемы. На самом деле, часть этой проблемы здесь сводится к тому, что разработчики рассчитывают получить от игроков, тестирующих систему, полезную обратную связь. Но у самих игроков другие приоритеты по сравнению с настоящими тестировщиками.
Вернемся немного назад. Для чего нужно тестирование? Потому что в общих чертах под этот заголовок попадают три вещи, и все они, как правило, объединяются в одну работу. Мы можем рассматривать тестирование как процесс, состоящий из трех основных компонентов:
- Функциональное тестирование: это типичное тестирование гаек и болтов. Сервер выдерживает нагрузку? Есть ли вопиющие ошибки с нажатием на что-нибудь? Можете ли вы попасть в бесконечные циклы, хорошие или плохие? Системы работают, как задумано? Это процесс обнаружения ошибок и существующих проблем и их исправления.
- Концептуальное тестирование: весело ли играть? Удовлетворяет ли геймплей? Переходят ли части задания друг в друга и имеют ли все необходимые соединения? Стоят ли награды затраченного времени? Цель здесь - выйти за рамки непосредственных элементов того, что тестируется, и поместить это в более широкий контекст, особенно при обращении к дизайн-документам.
- Исполнительное тестирование: последовательно ли загружаются различные части контента? Все ли работает правильно и дает ли вам представление о том, как в это играть? Как эти системы взаимодействуют с другими? Это основной путь к тому, чтобы убедиться, что системы и контент понятны и доступны для игроков.
Вы можете увидеть проблему, просто взглянув на эти категории, но позволять мне объяснить. Большинство из этих вещей на самом деле не волнуют игроков. Никого, кто играет на тестовом сервере, не интересует, где этот новый контент размещается в дизайн-документе, независимо от того, интересно ли играть самому или нет.
Фактически, многие из этих вещей противоречат тому, как игроки на тестовых серверах смотрят на всё это. Да, игроки хотят найти ошибки и быть уверенными, что их нет, но они также не всегда знают, является ли что-то ошибкой, или как оно должно работать на самом деле. Игроки могут сказать вам, весело что-то или нет, но они не могут назвать причину, почему что-то не кажется интересным. Черт возьми, большинство людей на тестовых серверах в первую очередь хотят опробовать новый контент, а не тестировать его.
Имейте в виду, здесь я не обвиняю игроков. Если вам не платят за тестирование этого материала, то это по определению хобби, а не работа. И нельзя винить игроков в том, что они относятся к хобби как к развлечению. Но это, естественно, повлияет на качество тестирования, а также на то, насколько хорошо студии общаются с игроками.
Например, предположим, новое обновление для игры добавляет судостроение. Давайте просто повеселимся и заявим, что говорим о Star Wars: The Old Republic. Сейчас там целая система для постройки собственных лодок. Почему? Какая разница. Дело в том, что вы строите лодки.
Игроки начинают возвращаться и объяснять, что строительство лодок - это не весело, занимает слишком много времени и для их использования недостаточно места. Есть несколько вариантов того, что здесь может происходить. Например, механика судостроения недостаточно хорошо объяснена, поэтому игроки не знают, как правильно строить лодки. Возможно, содержимое лодок еще не готов для тестирования, поэтому их использование всё еще ограничено. Может случиться так, что строительство лодки должно быть медленным, потому что вы должны закончить после постройки одной лодки.
Но из-за отсутствия такой информации игроки будут считать строительство лодок неинтересным и бесполезным занятием. И, не понимая, почему игроки находят эту систему неисправной, очень легко вернуться к тому, чтобы просто заверить игроков, что будет весело после получения полной картины. Даже если проблемы вполне реальны и их необходимо исправить.
Честно говоря, есть некоторые вещи, которые лучше всего проверять на массах игроков. Стабильность сервера, например, когда на него заходит множество людей с разной скоростью подключения и местоположением. Открытое тестирование также часто является лучшим способом спрогнозировать, что игроки с разным уровнем оборудования могут нормально запускать игру. Это просто логика.
Дело в дифференциации. Игроки полезны для тестирования этих вещей, когда игра уже прошла большую часть других тестов. Вы почти уверены, что системы работают и стабильны. Игра идет так, как положено. Тестировщики находят веселые вещи. Это то, для чего вы нанимаете их, людей, чья работа состоит в том, чтобы играть в игру и предоставлять полезную обратную связь.
И вот здесь тестовые серверы начинают активно проявлять вредоносность. Поскольку чем больше функций тестировщика передается игрокам, тем более заманчивым будет желание сэкономить на персонале отдела качества, который на самом деле может выполнять важную работу по тестированию игры в целом, попадая в те области, которыми игроки обычно пренебрегают. И всё это, чтобы получить полный и всесторонний взгляд на игру.
Не вкладывать в это деньги, конечно же, приводит к кругу страданий. Обновления выходят с большим количеством ошибок, меньшим качеством доработок и пониманием того, чего хотят игроки. Вина возлагается на людей, которые проводили тестирование, а затем вы снова переходите к следующему обновлению и… Да, вы поняли.
Тестовые серверы - отличная идея. Но она не работает как бесплатный вариант отдела качества и не может его заменить. И чем больше компания пытается заменить надлежащее тестирование усилиями игроков, тем хуже будут дела в целом.