Александр Торговкин – Тестирование видеоигр, или Легкий способ попасть в геймдев (страница 4)
5. Парадокс пестицида
Впервые аналогию между тестированием программного обеспечения и обработкой полей пестицидами в сельскохозяйственной практике провел Борис Бейзер еще в 1990 году. Под парадоксом он имел в виду то, что постоянное использование одного и того же набора тест-кейсов для поиска дефектов приводит к тому, что он перестает обнаруживать баги так же, как использование одних и тех же пестицидов для борьбы с вредными насекомыми. Они попросту адаптируются к яду, и он постепенно перестает на них действовать. Красивая аналогия. Но почему это происходит в действительности? Прежде всего потому, что невозможно использовать все тест-кейсы: это противоречит одному из ранее изложенных принципов тестирования. Но даже простые приложения, например «Тетрис», требуют использования довольно большого количества тест-кейсов для проверки всех возможных сценариев и комбинаций данных. Кроме того, функциональность продукта изменяется со временем, и, внося изменения в один из элементов системы, мы не можем не изменить всю систему. А раз система меняется, то следует искать новые способы обнаружения дефектов в ней. Ну и, наконец, тестировщик должен модифицировать тест-кейсы, исходя из человеческой психологии. Причем не своей, а разработчика и конечного пользователя.
Виктор Гляненко, QA-директор Saber Interactive
6. Тестирование зависит от контекста
Разное по своей сути и назначению программное обеспечение требует разного подхода и методологии тестирования. Сузив этот принцип до тестирования видеоигр, можно утверждать, что не только тестовое окружение (то есть программно-аппаратная часть, необходимая для проведения тестовых активностей), но и методология будет отличаться в зависимости от жанра и типа игры.
7. Заблуждение об отсутствии ошибок
Даже если представить невозможную ситуацию, при которой были найдены и исправлены 100 % дефектов (мы помним, что такое невозможно в принципе!), не будет никаких гарантий того, что тестируемая нами видеоигра будет успешной у пользователей. Наша работа – обеспечить качество продукта, но привлекательность самого продукта мы обеспечить не в силах.
Ты скажешь: «Ладно, я понял, что не все так просто и что тестирование – это настоящая профессия, которая, как любая другая, требует времени на овладение и приобретение опыта, чтобы стать настоящим профессионалом. Но скажи честно: я что, буду тестировать игры до 60 лет? Я с трудом представляю себе дедушку, который увлекается тем же, что его внуки, и днями напролет торчит в компьютере, играя и тестируя, тестируя и играя».
Среди моих коллег есть поговорка: «Нет ни одного тестировщика, который не хотел бы стать разработчиком». И это вовсе не значит, что тестировщики стоят на более низкой ступени эволюции в игровой индустрии. Это значит, что ребята, которые стремятся любым способом попасть в игровую индустрию, не понимают, что тестирование – это важная и неотъемлемая часть разработки, без которой последняя невозможна, и имеют весьма отдаленное представление о связях профессий в индустрии. Кроме того, у большинства разработка ассоциируется с программированием и заблуждением о том, что программисты – это и есть люди, которые целыми днями занимаются креативом. На самом деле это миф № 1 в игровой индустрии, который необходимо развеять.
С точки зрения производства разработка видеоигры очень похожа на съемку кинофильма. И если в кино мы видим происходящее так, как это задумал режиссер, то в игровой индустрии такую функцию выполняет человек, профессия которого называется гейм-дизайнер. Именно он придумывает в игре практически все, и именно он является главным игровым демиургом.
А еще нужно знать, что в разработке игр принимают участие люди не одного десятка профессий, и они занимаются реализацией различных частей проекта. Кто-то пишет сценарии и диалоги персонажей (сценаристы), продумывает игровые механики и экономику (гейм-дизайнеры), кто-то воплощает задумки в программном коде (программисты), кто-то делает 3D-модели (3D-моделлеры, риггеры, аниматоры), а кто-то записывает музыку и звуки (звукоинженеры и композиторы).
Есть и те, кто фиксируют ошибки, появляющиеся на разных этапах разработки и помогают определить первопричину их появлений. Так вот, это и есть мы – тестировщики. И, научившись со временем понимать первопричины ошибок, начинаешь также понимать, как делать игру НЕ нужно и как правильно выстраивать процессы, чтобы минимизировать количество ситуаций, которые приводят к появлению дефектов.
Миф № 2: лучшие тестировщики получаются из лучших игроков. Это не так. Да, тестировщики проводят сотни и тысячи часов за игрой, но, как правило, у них нет предпочтений, они «всеядны». Они исследователи. Им нравится копаться в играх, развиваться и получать достижения, а не совершенствоваться в искусстве дуэли. Тестирование – это дисциплина, умение переключаться в режим, в котором получение удовольствия от игрового процесса не является больше основным. Это способность проходить один и тот же путь десятки раз, отслеживая на нем малейшие дефекты. Кроме того, ты должен быть довольно настойчивым, потому что собираешься играть в сломанную и, возможно, скучную и часто незаконченную игру просто потому, что хочешь, чтобы она была качественной и доставляла удовольствие другим людям. Геймеры, которые ставят перед собой цель добиться победы и стать лучшим на игровой арене, скорее, испытают разочарование от такой работы.
Миф № 3: тестировщики – в подавляющем большинстве случаев мужчины. По собственному опыту скажем, что это утверждение не имеет под собой никаких оснований. По моим наблюдениям, пропорция скорее выглядит как 65 к 35 или даже 60 к 40 в пользу мужчин, но при этом девушки часто гораздо более успешны в профессии. Возможно, это связано с большей устойчивостью женской психики к стрессам, большей внимательностью к деталям, терпеливостью и настойчивостью.
Миф № 4: тестирование – это, несмотря ни на что, все-таки довольно легкое занятие. Со временем ты нарабатываешь некий алгоритм работы и все идет по накатанному. Это довольно странное заблуждение, потому что то же самое можно сказать вообще о любой профессии. Сказать можно вообще все что угодно. Важно, чтобы сказанное имело смысл. А смысл в том, что врач, принимая десяток пациентов ежедневно, несомненно, приобретает опыт и совершенствуется в профессии. Однако этот опыт не дает ему права назначать лечение одному пациенту просто на основании некоторой схожести симптомов с симптомами другого. Поэтому хороший доктор каждый раз очень тщательно проводит исследования и диагностику, чтобы лечение было наилучшим в каждом случае. Так и тестировщик пусть и знает особенности жанра тестируемого продукта, все равно проводит тщательную проверку всех областей и деталей, стараясь не упустить ошибок.
И, наконец, миф № 5: игровое тестирование – это удел молодых людей, пока еще не получивших образования и могущих себе позволить образ жизни, сочетающий несложную работу и развлечение. На самом деле это совсем не так. В последние годы игры стремительно меняются: они становятся сложнее, технологичнее и, самое главное, становятся очень-очень похожими на реальный мир. Во время тестирования таких игровых продуктов в качестве ожидаемого результата часто выступает наша реальность со всеми ее законами. И нужно очень хорошо понимать, как устроена эта реальность. Без жизненного опыта это, увы, невозможно. Возможно, именно поэтому средний возраст тестировщика сейчас приблизился к 25–26 годам (а зачастую и гораздо больше).
Освободившись от этих навязчивых мифов, ты теперь можешь приступить к освоению нелегкого ремесла игрового тестировщика. Я помогу тебе освоиться с важнейшими, фундаментальными принципами и подходами в нашей профессии, помогу даже подготовиться в сдаче экзамена и получения международного сертификата игрового тестировщика ISTQB® Certified Tester Game Testing. Но опыт ты должен будешь приобрести сам. И я очень рассчитываю, что по прошествии времени ты войдешь в число лучших специалистов в области игрового тестирования.
Глава 02. Самая большая ошибка – не исправлять ошибки
Чем больше надежд мы возлагаем, тем сильнее может быть разочарование…
• Что такое дефект?
• Чем дефекты отличаются друг от друга?
• Что такое баг-репорт и для чего он нужен?
• Что такое критичность дефекта и как ее правильно определить?
• Что такое приоритет дефекта?