Software testing process for quality control of video games
Тестирование игр , также называемое тестированием обеспечения качества ( QA ) в индустрии видеоигр , представляет собой процесс тестирования программного обеспечения для контроля качества видеоигр . [1] [2] [3] Основная функция тестирования игр — обнаружение и документирование дефектов программного обеспечения . Тестирование программного обеспечения для интерактивных развлечений — это высокотехнологичная область, требующая компьютерных знаний, аналитической компетентности, навыков критической оценки и выносливости. [4] [5] В последние годы область тестирования игр подверглась критике за то, что она чрезвычайно тяжела и не приносит пользы, как в финансовом, так и в эмоциональном плане. [6]
История
На заре компьютерных и видеоигр разработчик отвечал за все тестирование. Из-за ограниченного объема игр требовалось не более одного-двух тестировщиков. В некоторых случаях программисты могли справиться со всем тестированием. [ необходима цитата ]
По мере того, как игры становятся более сложными, необходим более крупный пул ресурсов QA, называемый «Оценка качества» или « Обеспечение качества ». Большинство издателей нанимают большой штат QA для тестирования различных игр от разных разработчиков. Несмотря на большую инфраструктуру QA, имеющуюся у большинства издателей, многие разработчики нанимают небольшую группу тестировщиков для обеспечения QA на месте.
Теперь большинство разработчиков игр полагаются на своих высокотехничных и подкованных в играх тестировщиков, чтобы находить сбои и «баги» либо в программном коде, либо в графических слоях. Тестировщики игр обычно имеют опыт игры в различные игры на множестве платформ. Они должны уметь отмечать и ссылаться на любые проблемы, которые они находят в подробных отчетах, соблюдать сроки выполнения заданий и иметь уровень навыков, чтобы завершить игры на самых сложных настройках. В большинстве случаев должность тестировщика игр является крайне стрессовой и конкурентной должностью с небольшой оплатой, но при этом очень востребованной, поскольку она служит дверью в индустрию. Тестировщики игр — наблюдательные люди, которые могут заметить незначительные дефекты в сборке игры.
Распространенное заблуждение заключается в том, что все тестировщики игр пользуются альфа- или бета-версией игры и время от времени сообщают о найденных ошибках. [5] Напротив, тестирование игр в значительной степени сосредоточено на поиске ошибок с использованием устоявшихся и часто утомительных методологий до альфа-версии.
Обзор
Обеспечение качества является критически важным компонентом в разработке игр, хотя в индустрии видеоигр нет стандартной методологии. Вместо этого разработчики и издатели используют свои собственные методы. Небольшие разработчики обычно не имеют сотрудников отдела контроля качества; однако крупные компании могут нанимать команды по контролю качества на полную ставку. Высококлассные коммерческие игры профессионально и эффективно тестируются отделом контроля качества издателя. [7]
Тестирование начинается сразу после написания первого кода и увеличивается по мере приближения игры к завершению. [8] [9] Основная команда QA будет контролировать игру с момента ее первой отправки в QA и вплоть до пост-продакшн. [9] На раннем этапе процесса разработки игры команда тестирования небольшая и фокусируется на ежедневной обратной связи по новому коду. По мере приближения игры к стадии альфа-тестирования нанимается больше членов команды и пишутся планы тестирования. Иногда функции, которые не являются ошибками, сообщаются как ошибки, а иногда команда программистов не может исправить проблемы с первого раза. [10] Хорошая система отчетов об ошибках может помочь программистам работать эффективно. Когда проекты переходят в стадию бета-тестирования , у команды тестирования будут четкие задания на каждый день. Обратная связь тестировщиков может определять окончательные решения об исключении или включении финальных функций. Представление тестировщикам свежих взглядов может помочь выявить новые ошибки. [9] [11] На этом этапе ведущий тестер ежедневно общается с продюсером и руководителями отделов. [12] Если у разработчика есть внешний издатель, то начинается координация с командой QA издателя. Для консольных игр отправляется сборка для команды QA консольной компании. Бета-тестирование может включать добровольцев, например, если игра многопользовательская. [11]
Тестировщики получают запланированные уникально идентифицируемые сборки игры [11] от разработчиков. [ необходима цитата ] Игра тестируется в игре, и тестировщики отмечают любые обнаруженные ошибки. Они могут варьироваться от ошибок до графических сбоев, логических ошибок и ошибок уровня . Тестирование требует творческого игрового процесса, чтобы обнаружить часто неявные ошибки. Некоторые ошибки легко документировать, но многие требуют подробного описания, чтобы разработчик мог воспроизвести или найти ошибку. Тестировщики реализуют управление параллелизмом , чтобы избежать многократной регистрации ошибок. [ необходима цитата ] Многие компании, занимающиеся видеоиграми, полностью разделяют тестирование технических требований и функциональное тестирование, поскольку требуется другой набор навыков тестирования. [5]
Если разработка видеоигры входит в кризисное время до крайнего срока, команда по тестированию игр должна протестировать добавленные позже функции и контент без задержки. В этот период сотрудники из других отделов могут вносить свой вклад в тестирование, особенно в многопользовательских играх. [ необходима цитата ] Один из примеров устойчивого кризиса, особенно среди команды QA, был в Treyarch во время разработки Call of Duty: Black Ops 4 . [13]
Большинство компаний ранжируют ошибки по степени их серьезности: [14]
- Ошибки — это критические ошибки, которые мешают выпуску игры, например, они могут привести к сбою игры. [11]
- Ошибки B — это существенные проблемы, требующие внимания; однако в игру все равно можно играть. Несколько ошибок B одинаково серьезны, как и ошибка A. [11]
- Ошибки в языке C — это небольшие и неясные проблемы, часто имеющие форму рекомендаций, а не ошибок. [12]
Тестировщик игр
Тестировщик игр — член команды разработчиков, который проводит тестирование игр.
Роли
Организация персонала различается в разных организациях; типичная компания может использовать следующие роли, связанные с дисциплинами тестирования:
- Производители игр отвечают за установление сроков тестирования в координации с маркетингом и контролем качества. [15] Они также управляют многими пунктами за пределами тестирования игр, связанными с общим производством игры. Их одобрение обычно требуется для окончательного представления или статуса « золото ». [16]
- Ведущий тестер , руководитель тестирования [10] или руководитель отдела контроля качества [7] — это лицо, ответственное за правильную работу игры [10] и управление списками ошибок. [11] Ведущий тестер управляет персоналом отдела контроля качества. [7] Ведущий тестер тесно сотрудничает с дизайнерами и программистами, особенно ближе к концу проекта. Ведущий тестер отвечает за отслеживание отчетов об ошибках и обеспечение их исправления. [10] Он также отвечает за то, чтобы команды по контролю качества составляли формальные и полные отчеты. [11] Это включает в себя отбрасывание дубликатов и ошибочных отчетов об ошибках, а также запрос разъяснений. [7] По мере приближения игры к стадиям альфа и бета ведущий тестер привлекает в команду больше тестировщиков, координирует работу с внешними группами тестирования и работает с руководством и продюсерами. [14] Некоторые компании могут не допустить выхода игры на золото, пока ведущий тестер не одобрит ее. [12] Ведущие тестировщики также обычно отвечают за составление репрезентативных образцов игровых кадров для представления в регулирующие органы, такие как ESRB и PEGI . [ необходима ссылка ]
- Тестировщики отвечают за проверку того, что игра работает, проста в использовании, имеет осмысленные действия и содержит увлекательный игровой процесс. [12] Тестировщики должны писать точные и конкретные отчеты об ошибках и, если возможно, предоставлять описания того, как можно воспроизвести ошибку. [17] Тестировщики могут быть назначены на одну игру в течение всего периода ее производства или привлечены к другим проектам в соответствии с графиком отдела и конкретными потребностями.
- SDET (Software Development Engineer in Test) или технические тестировщики отвечают за создание автоматизированных тестовых случаев и фреймворков, а также за управление сложными проблемами тестирования, такими как общая производительность и безопасность игры. Эти люди обычно обладают сильными навыками разработки программного обеспечения, но с акцентом на написание программного обеспечения, которое выявляет дефекты в других приложениях. Конкретные роли и обязанности будут различаться в разных студиях. Многие игры разрабатываются без технических тестировщиков.
Работа
Игровой контроль качества менее техничен, чем общий контроль качества программного обеспечения. Тестировщикам игр чаще всего требуется опыт, однако иногда достаточно иметь диплом средней школы и не иметь технических знаний. [ требуется ссылка ] Тестирование игр обычно является штатной работой для опытных тестировщиков; [18] однако многие сотрудники нанимаются в качестве временного персонала , [2] [19] например, бета -тестеров. В некоторых случаях тестировщики, нанятые издателем, могут быть отправлены на работу на сайт разработчика. Самый агрессивный сезон набора персонала приходится на конец лета/начало осени [ требуется ссылка ] , так как это начало аврального периода для завершения игр и их отправки к праздничному сезону.
Некоторые игровые студии начинают использовать более технический подход к игровому контролю качества, который больше соответствует традиционному тестированию программного обеспечения. Должности технических тестировщиков все еще довольно редки в отрасли, но эти работы часто являются штатными с долгосрочным карьерным путем и требуют 4-летнего диплома по компьютерным наукам и значительного опыта в автоматизации тестирования.
Некоторые тестировщики используют эту работу как трамплин в игровой индустрии. [3] [20] Резюме QA, которые отображают нетехнические навыки, скорее направлены на управление, чем на маркетинг или производство. [ необходима ссылка ] Кандидаты на должности программистов , художников или дизайнеров должны продемонстрировать технические навыки в этих областях. [21]
Компенсация
Персонал по тестированию игр обычно получает почасовую оплату (около 10–12 долларов США в час). Управление тестированием обычно более прибыльно и требует опыта и часто высшего образования. Ежегодный опрос показал, что тестировщики зарабатывают в среднем 39 тыс. долларов США в год. Тестировщики с опытом менее трех лет зарабатывают в среднем 25 тыс. долларов США, а тестировщики с опытом более трех лет зарабатывают 43 тыс. долларов США. Лидеры тестирования с опытом более шести лет зарабатывают в среднем 71 тыс. долларов США в год. [22]
Процесс
Типичный процесс тестирования отчетов об ошибках представлен ниже:
- Идентификация . Неправильное поведение программы анализируется и идентифицируется как ошибка.
- Отчетность . Ошибка сообщается разработчикам с помощью системы отслеживания дефектов . Обстоятельства ошибки и шаги по ее воспроизведению включаются в отчет. Разработчики могут запросить дополнительную документацию, например видеозапись проявления ошибки в реальном времени.
- Анализ . Разработчик, ответственный за ошибку, например художник, программист или гейм-дизайнер, проверяет неисправность. Это выходит за рамки обязанностей тестировщика игр, хотя несоответствия в отчете могут потребовать от тестировщика дополнительной информации или доказательств.
- Проверка . После того, как разработчик исправит проблему, тестер проверяет, что ошибка больше не возникает. Не все ошибки устраняются разработчиком, например, некоторые ошибки могут быть заявлены как функции (выраженные как «NAB» или «не ошибка»), а также могут быть «отклонены» (разрешены на игнорирование) продюсерами , гейм -дизайнерами или даже ведущими тестерами в соответствии с политикой компании.
Методология
Не существует стандартного метода тестирования игр, и большинство методологий разрабатываются отдельными разработчиками и издателями видеоигр . Методологии постоянно совершенствуются и могут отличаться для разных типов игр (например, методология тестирования MMORPG будет отличаться от тестирования казуальной игры ). Многие методы, такие как модульное тестирование , заимствованы непосредственно из общих методов тестирования программного обеспечения. Ниже приведены наиболее важные методологии, специфичные для видеоигр.
- Тестирование функциональности чаще всего ассоциируется с фразой «тестирование игры», поскольку оно подразумевает прохождение игры в той или иной форме. Тестирование функциональности не требует обширных технических знаний. Тестировщики функциональности ищут общие проблемы в самой игре или ее пользовательском интерфейсе, такие как проблемы со стабильностью, проблемы с игровой механикой и целостностью игровых ресурсов.
- Тестирование соответствия является причиной существования лабораторий тестирования игр. [ необходимо разъяснение ] У основных лицензиаров для консольных платформ есть строгие технические требования к названиям, лицензированным для их платформ. Например, Sony публикует Контрольный список технических требований (TRC), Microsoft публикует Требования Xbox (XR), а Nintendo публикует набор «руководств» (Lotcheck). Некоторые из этих требований являются технически сложными и выходят за рамки тестирования игр. Другие части, в частности, форматирование стандартных сообщений об ошибках, обработка данных карты памяти и обработка законно защищенных товарных знаков и авторских прав материалов, являются обязанностью тестировщиков игр. Даже одно нарушение при подаче на утверждение лицензии может привести к отклонению игры, что может повлечь за собой дополнительные расходы на дальнейшее тестирование и повторную отправку. Кроме того, задержка может привести к тому, что название пропустит важное окно запуска, что потенциально обойдется издателю еще в большие суммы денег.
- Требования являются документами, защищенными авторским правом и предоставленными разработчикам и издателям в соответствии с соглашениями о конфиденциальности. Они не доступны для ознакомления широкой общественности, хотя знакомство с этими стандартами считается ценным навыком для тестировщика. [ необходима цитата ]
- Соответствие может также относиться к регулирующим органам, таким как ESRB и PEGI , если игра нацелена на определенный рейтинг контента. Тестировщики должны сообщать о неприемлемом контенте, который может быть неподходящим для желаемого рейтинга. Подобно лицензированию, игры, которые не получают желаемого рейтинга, должны быть повторно отредактированы, повторно протестированы и повторно отправлены за дополнительную плату.
- Тестирование совместимости обычно требуется для игр для ПК , ближе к концу разработки, так как большая часть совместимости зависит от финальной сборки игры. [ требуется ссылка ] Часто проводятся два раунда тестов совместимости — в начале бета-тестирования , чтобы дать время на решение проблем, и в конце бета-тестирования или во время релиз-кандидата . [ требуется ссылка ] Команда по тестированию совместимости тестирует основные функциональные возможности игры на различных конфигурациях оборудования. Обычно список коммерчески важного оборудования предоставляется издателем. [9]
- Тестирование совместимости гарантирует, что игра будет работать на различных конфигурациях оборудования и программного обеспечения . Оборудование охватывает бренды разных производителей и разнообразные периферийные устройства ввода, такие как геймпады и джойстики . [ требуется ссылка ]
- Тестировщики также оценивают производительность, а результаты используются для минимальных системных требований игры, объявленных разработчиком. Проблемы совместимости или производительности могут быть исправлены разработчиком или, в случае устаревшего оборудования и программного обеспечения, поддержка может быть прекращена.
- Тестирование локализации действует как внутриигровой текстовый редактор . [2] Хотя общие текстовые проблемы являются частью функционального тестирования, отделы QA могут нанимать специальных тестировщиков локализации. В частности, ранние японские переводы игр изобиловали ошибками, и в последние годы тестировщики локализации нанимаются для внесения технических исправлений и проверки перевода игровых скриптов [23] - каталогизированных коллекций всего внутриигрового текста. Тестировщики, являющиеся коренными жителями региона, в котором продается игра, могут быть наняты для обеспечения точности и качества локализации игры. [9]
- Тестирование Soak в контексте видеоигр подразумевает, что игра остается запущенной в течение длительного времени в различных режимах работы, таких как бездействие, пауза или на титульном экране. Это тестирование не требует взаимодействия с пользователем за пределами первоначальной настройки и обычно управляется ведущими тестировщиками. Автоматизированные инструменты могут использоваться для имитации повторяющихся действий, таких как щелчки мыши. Тестирование Soak может обнаружить утечки памяти или ошибки округления , которые проявляются только с течением времени. Тесты Soak являются одним из требований соответствия. [ необходима цитата ]
- Бета-тестирование проводится на стадии бета- разработки. Часто это относится к первой публично доступной версии игры. Публичные бета-версии эффективны, поскольку тысячи фанатов могут найти ошибки, которые не заметили тестировщики разработчика.
- Регрессионное тестирование выполняется после того, как программисты исправили ошибку . QA проверяет, осталась ли ошибка (регрессия), а затем запускает аналогичные тесты, чтобы увидеть, не сломало ли исправление что-то еще. Этот второй этап часто называют «гало-тестированием» [ требуется цитата ] ; он включает в себя тестирование вокруг ошибки, поиск других ошибок.
- Нагрузочное тестирование проверяет пределы системы, такие как количество игроков на сервере MMO , количество активных спрайтов на экране или количество потоков, запущенных в определенной программе. Нагрузочное тестирование может потребовать большой группы тестировщиков или программного обеспечения, которое эмулирует интенсивную активность. [2] Нагрузочное тестирование также измеряет способность приложения правильно функционировать под нагрузкой.
- Многопользовательское тестирование может включать отдельную многопользовательскую команду QA, если игра имеет значительные многопользовательские части. Такое тестирование чаще встречается в играх для ПК. Тестировщики проверяют, работают ли все методы подключения (модем, локальная сеть, Интернет). Это позволяет проводить однопользовательское и многопользовательское тестирование параллельно. [9]
- Моделирование опыта игрока относится к попыткам математически смоделировать опыт игрока и предсказать его предпочтения или симпатии к видеоигре . [ 24]
Консольное оборудование
Для консолей большая часть тестирования не выполняется на обычной системе или потребительском устройстве . Разработчикам и издателям предоставляется специальное тестовое оборудование. Наиболее значимыми инструментами являются тестовые или отладочные комплекты и комплекты разработчика . Главное отличие от потребительских устройств заключается в возможности загружать игры с записанного диска, USB-накопителя или жесткого диска. Консоль также может быть настроена на любой регион публикации. Это позволяет разработчикам игр создавать копии для тестирования. Эта функциональность отсутствует в потребительских устройствах для борьбы с пиратством программного обеспечения и импортом с серого рынка. [ необходима цитата ]
- Тестовые наборы имеют те же технические характеристики оборудования и общий вид, что и потребительский блок, хотя часто с дополнительными портами и разъемами для другого тестового оборудования. Тестовые наборы содержат дополнительные опции, такие как запуск автоматизированных проверок соответствия, особенно в отношении сохранения данных. Системное программное обеспечение также позволяет пользователю захватывать дампы памяти для помощи в отладке. [ необходима цитата ]
- Комплекты разработчика обычно не используются тестерами игр, но используются программистами для низкоуровневого тестирования. В дополнение к функциям тестового комплекта, комплекты разработчика обычно имеют более высокие аппаратные характеристики, в частности, увеличенную системную память. Это позволяет разработчикам оценивать производительность игры на ранних этапах, не беспокоясь об оптимизации. Комплекты разработчика обычно больше и выглядят иначе, чем тестовый комплект или потребительский блок. [ необходима цитата ]
Смотрите также
Примечания
- ^ Бейтс 2004, стр. 176-180
- ^ abcd Мур, Новак 2010, стр. 95
- ^ ab Oxland 2004, стр. 301-302
- ^ Бейтс 2004, стр. 178, 180
- ^ abc Oxland 2004, стр. 301
- ^ «Тяжелая жизнь тестировщика игр» от IGN
- ^ abcd Бетке 2003, стр. 52
- ^ Бейтс 2004, стр. 176
- ^ abcdef Бетке 2003, стр. 53
- ^ abcd Бейтс 2004, стр. 177
- ^ abcdefg Бейтс 2004, стр. 178
- ^ abcd Бейтс 2004, стр. 179
- ^ Брендан Синклер (2019-06-26). "Истории о кранче, пренебрежении QA в Treyarch". gameindustry.biz . Получено 2022-06-09 .
- ^ ab Bates 2004, стр. 178-179
- ^ Мур, Новак 2010, стр. 72
- ^ Боб Джонстон. "Didi Games". Исследования видеоигр . Didi Games. Архивировано из оригинала 2014-10-06 . Получено 2009-04-01 .
- ^ Бейтс 2004, стр. 180
- ^ Мур, Новак 2010, стр. 25
- ^ Мур, Новак 2010, стр. 2
- ^ Бейтс 2004, стр. 261
- ^ Мур, Новак 2010, стр. 84, 237-238
- ^ Флеминг, Джеффри (апрель 2008 г.). «7-й ежегодный обзор зарплат». Разработчик игр . 15 (4). United Business Media : 8.
- ^ Адамс, Роллингс 2003, стр. 17
- ^ Яннакакис, Геогиос Н (2012). «Возвращение к игровому ИИ». Материалы 9-й конференции по передовым технологиям (PDF) . стр. 285–292. дои : 10.1145/2212908.2212954. ISBN 9781450312158. S2CID 4335529. Архивировано (PDF) из оригинала 8 августа 2014 г.
Ссылки
- Адамс, Эрнест; Роллингс, Эндрю (2003). Эндрю Роллингс и Эрнест Адамс о дизайне игр . New Riders Publishing. ISBN 1-59273-001-9.
- Бейтс, Боб (2004). Игровой дизайн (2-е изд.). Технология курса Томсона. ISBN 1-59200-493-8.
- Мур, Майкл Э.; Новак, Джинни (2010). Руководство по карьере в игровой индустрии . Delmar: Cengage Learning. ISBN 978-1-4283-7647-2.
- Оксленд, Кевин (2004). Геймплей и дизайн . Эддисон Уэсли. ISBN 0-321-20467-0.
Исследовать
- Лахти, М., Тестирование игр в финских игровых компаниях, магистерская работа, Университет Аалто, Школа естественных наук, 2014, Диссертация
Внешние ссылки
- Статья: Основы автоматизации тестирования приложений, игр и мобильного Интернета
- Статья: Архитектура и инфраструктурные аспекты тестирования мобильных игр