Игровая индустрия находится на подъёме. По прогнозам, к 2025 году этот сектор экономики достигнет 268 миллиардов долларов, а количество геймеров во всём мире составит около 3 миллиардов человек. В настолько конкурентной среде очень важно следить за качеством выпускаемого продукта. Таким образом, тестирование выходит на первый план.
Друзья, поддержите нас вступлением в наш телеграм канал QaRocks. Там много туториалов, задач по автоматизации и книг по QA.
Содержание:
- Почему необходимо тестировать игры?
- Виды тестирования
- Тест-кейсы игровой платформы
- Тест-кейсы для проверки загрузки
- Тест-кейсы для проверки запуска
- Тест-кейсы для проверки входа и регистрации
- Тест-кейсы для проверки обновлений и уведомлений
- Тест-кейсы для проверки совместимости
- Тест-кейсы для проверки безопасности
- Тест-кейсы для проверки производительности
- Тест-кейсы для проверки внутриигровых покупок
- Тест-кейсы для проверки многопользовательского функционала
- Тест-кейсы для проверки облачного сохранения
- Разработка и выполнение эффективных тест-кейсов для сценариев игры
- Заключение
- Часто задаваемые вопросы
Почему необходимо тестировать игры?
Тестирование игр важно, потому что оно направлено на улучшение удобства использования, целостности и качества пользовательского опыта. Основное внимание уделяется проверке производительности игры на различных устройствах, браузерах и операционных системах. Кроме того, к числу важнейших видов тестирования относится тестирование пользовательского опыта, безопасности, соответствия требованиям и функциональности.
Виды тестирования
Приведём основные виды тестирования, на которые нужно обратить внимание в процессе разработки игр:
- Функциональное тестирование
Оно гарантирует, что каждый элемент игры, от управления и механики до взаимодействия персонажей и целей миссий, работает в соответствии с проектными спецификациями. Его цель — выявить и устранить ошибки, которые могут помешать общему восприятию игры. - Тестирование производительности
Для проверки стабильности, отзывчивости и скорости игрового процесса, проводится тестирование производительности. Оно включает в себя оценку частоты кадров, времени загрузки и способности игры обрабатывать графические и звуковые элементы без задержек и сбоев. - Тестирование безопасности
Тестирование безопасности направлено на выявление уязвимостей, которыми могут воспользоваться злоумышленники с целью взлома, читерства или несанкционированного доступа. - Тестирование совместимости
Цель тестирования совместимости — проверить, правильно ли функционирует игра на различных платформах, устройствах и операционных системах. Кроме того, оценивается совместимость с различными конфигурациями оборудования, разрешениями экранов и устройствами ввода. - Тестирование удобства использования
Чтобы оценить общий пользовательский опыт, интерфейс игры, элементы управления и интуитивность навигации, требуется тестирование удобства использования. На этом этапе тестирования собираются отзывы о дизайне меню, процессе обучения в игре и внутриигровых подсказках, чтобы удовлетворить потребности игроков. - Регрессионное тестирование
Регрессионное тестирование гарантирует, что обновления или изменения в игре не приведут к появлению новых ошибок или негативному влиянию на существующие функции. Проводится повторное тестирование ранее проверенных функций, чтобы убедиться в их правильной работе после обновлений.
Тест-кейсы игровой платформы
Проведение тест-кейсов для игровых приложений просто необходимо. Приведём некоторые из основных типов.
Тест-кейсы для проверки загрузки
Тест-кейс | Цель тест-кейса | Процесс/Пример |
Проверка источников загрузки | Убедиться, что игровая платформа обеспечивает загрузку только из авторизованных источников. | Проверьте, что загрузка игры с официального сайта платформы или магазина приложений является единственным допустимым источником. |
Проверка целостности загрузки | Удостовериться, что загруженные файлы игры не повреждены. | Убедитесь, что размер файла загруженной игры соответствует ожидаемому размеру, что свидетельствует об отсутствии ошибок. |
Тестирование совместимости | Проверить совместимость с различными операционными системами и устройствами. | Загрузите и установите игру на Windows, macOS, iOS и Android, чтобы гарантировать работу на всех платформах. |
Обработка прерванной загрузки | Сымитировать прерывание загрузки и оценить способность платформы возобновить скачивание без повреждения данных. | Приостановите загрузку, затем возобновите и удостоверьтесь, что установка игры успешно завершена. |
Тестирование скорости загрузки | Оценить скорость загрузки в различных сетевых условиях. | Загрузите игру при различной скорости соединения, чтобы оценить производительность. |
Тест-кейсы для проверки запуска
Тест-кейс | Цель тест-кейса | Процесс/Пример |
Стабильность запуска приложения | Проверить, что игровая платформа запускается без сбоев и непредвиденных ошибок. | Запустите платформу несколько раз подряд и убедитесь, что она открывается без проблем. |
Запуск игры из платформы | Проверить возможность запуска игры из игровой платформы. | Нажмите на игру в платформе и удостоверьтесь, что она запускается без дополнительных действий. |
Скорость запуска | Оценить время, необходимое для запуска игровой платформы. | Измерьте время запуска платформы в нормальных условиях и сравните его с определёнными контрольными показателями. |
Обработка фоновых процессов | Испытать эффективность обработки игровой платформой фоновых процессов во время запуска. | Запустите платформу во время работы других приложений и убедитесь, что она не оказывает негативного влияния на производительность системы. |
Проверка кроссплатформенного запуска | Убедиться, что игра запускается одинаково на различных платформах и устройствах. | Запустите игру на ПК, консолях и мобильных устройствах, и удостоверьтесь, что пользователь получит одинаковые впечатления от игры, вне зависимости от платформы. |
Тест-кейсы для проверки входа и регистрации
Тест-кейс | Цель тест-кейса | Процесс/Пример |
Аутентификация пользователей | Убедиться, что процесс аутентификации корректно подтверждает личность пользователя. | Вводите правильные и неправильные учётные данные для входа в систему, чтобы обеспечить доступ только действительным пользователям. |
Данный пользователь существует | Проверить, что невозможно зарегистрироваться повторно с уже существующим в системе адресом электронной почты или именем пользователя. | Введите существующее имя пользователя или адрес электронной почты в поле регистрации и убедитесь, что отображается корректное уведомление. |
Недопустимое/некорректное имя пользователя | Удостовериться, что пользователь не может войти/зарегистрироваться, используя неправильный формат ввода. | Попытайтесь ввести специальные символы или пробелы в поля входа/регистрации, чтобы получить соответствующее сообщение об ошибке. |
Интеграция с социальными сетями | Проверить регистрацию и вход через аккаунты в социальных сетях. | Зарегистрируйтесь, используя учетную запись Facebook, Google и т.п., а затем войдите в систему тем же способом, чтобы убедиться, что интеграция работает правильно. |
Восстановление паролей | Проверить процесс восстановления пароля. | Запустите процесс восстановления пароля и убедитесь, что после выполнения требуемых шагов доступ к учётной записи будет получен. |
Обработка блокировки учётной записи | Смоделировать несколько неудачных попыток входа в систему и оценить, как платформа справляется с блокировкой учётных записей. | Несколько раз введите неверные учётные данные и убедитесь, что аккаунт временно заблокирован по соображениям безопасности. |
Корректность информации профиля | Убедиться, что информация в профиле пользователя точна и правильно отображается после входа в систему. | Проверьте, что данные в учётной записи, такие как имя пользователя, аватар и настройки, корректно отображаются при входе в систему. |
Тест-кейсы для проверки обновлений и уведомлений
Тест-кейс | Цель тест-кейса | Процесс/Пример |
Отображение уведомлений об обновлении | Убедиться, что пользователи своевременно получают уведомления об обновлениях. | Проверьте, что пользователи получают уведомление о выходе обновления игры. |
Установка обновлений | Подтвердить успешную установку обновлений. | Загрузите и установите доступное обновление, убедившись, что процесс завершился без ошибок и игра впоследствии работает без сбоев. |
Параметры уведомлений | Проверить возможности пользователя по управлению уведомлениями. | Предоставьте пользователям возможность настраивать параметры уведомлений, включая согласие/отказ от уведомлений об обновлениях, и подтвердите, что выбранные параметры соблюдаются. |
Уведомления | Проверить получение уведомлений. | Для мобильных или веб-приложений проверьте, своевременно ли отправляется уведомление пользователю о каких-либо обновлениях или новых дополнениях к игре. |
Уведомления об ошибках | Проверить наличие уведомлений об ошибке при сбое или внезапном завершении игры. | Принудительно закройте или остановите игру, чтобы проверить, получите ли вы сообщение об ошибке с причиной сбоя. |
Тест-кейсы для проверки совместимости
Тест-кейс | Цель тест-кейса | Процесс/Пример |
Кроссплатформенность | Подтвердить работоспособность игры на различных платформах. | Тестируйте игру на ПК, консолях и мобильных устройствах для проверки на стабильность игрового процесса, вне зависимости от платформы. |
Совместимость устройств | Проверить совместимость с различными устройствами и размерами экранов. | Установите и поиграйте в игру на разных устройствах (например, на смартфонах и планшетах), чтобы убедиться в правильной функциональности и отображении. |
Совместимость с операционными системами | Убедиться, что игровая платформа работает на поддерживаемых версиях ОС. | Протестируйте платформу на различных операционных системах (Windows, MacOS, Linux) для проверки совместимости. |
Совместимость с устройствами ввода | Подтвердить поддержку различных игровых контроллёров и устройств ввода. | Протестируйте игру с различными контроллёрами (клавиатура, мышь, геймпад), чтобы убедиться в стабильной функциональности. |
Тест-кейсы для проверки безопасности
Тест-кейс | Цель тест-кейса | Процесс/Пример |
Аутентификация пользователей | Убедиться в надёжности и безопасности аутентификации пользователей. | Попробуйте войти с правильными и неправильными учётными данными, чтобы убедиться в корректности поведения системы при аутентификации. |
Шифрование данных | Убедиться, что конфиденциальные данные, такие как информация о пользователе, зашифрованы. | Проанализируйте сетевой трафик во время входа в систему и игрового процесса, чтобы проверить работу протоколов шифрования (HTTPS). |
Безопасность платежей | Проверить безопасность платёжных операций на платформе. | Сымитируйте покупки в системе и оцените безопасность обработки платёжной информации в соответствии с отраслевыми стандартами. |
Восстановление учётной записи пользователя | Протестировать процесс восстановления взломанной учётной записи пользователя. | Смоделируйте взломанную учётную запись, запустите процесс восстановления и убедитесь, что пользователь может безопасно восстановить доступ. |
Тестирование на проникновение | Провести имитацию кибератак, чтобы выявить уязвимые места. | Используйте методы этичного взлома для выявления и устранения потенциальных слабых мест в системе безопасности игровой платформы. |
Развёртывание патчей безопасности | Проверить способность платформы развёртывать и устанавливать исправления безопасности. | Смоделируйте выпуск исправления безопасности и оцените оперативность развертывания без нарушения работы пользователей. |
Тест-кейсы для проверки производительности
Тест-кейс | Цель тест-кейса | Процесс/Пример |
Оптимизация времени запуска | Убедиться, что платформа и игры загружаются в приемлемые сроки. | Измерьте время запуска платформы и игр, чтобы убедиться, что они соответствуют установленным показателям производительности. |
Устойчивость при высоких нагрузках | Протестировать стабильность платформы при высокой нагрузке. | Необходимо смоделировать одновременный доступ к платформе большого количества пользователей для проверки стабильности и производительности. |
Тестирование задержки в сети | Оценить влияние сетевой задержки на игровой процесс. | Создайте сетевые задержки во время игры, чтобы проверить, насколько хорошо платформа справляется с задержками и обеспечивает стабильность игрового процесса. |
Использование ресурсов | Оценить использование системных ресурсов во время игры. | Отслеживайте показатели нагрузки CPU, GPU и памяти во время игры, чтобы убедиться в оптимальном использовании этих ресурсов. |
Стабильность частоты кадров | Проверить стабильность частоты кадров в различных игровых сценах. | Тестируйте игру в разных игровых сценах и следите за тем, чтобы частота кадров оставалась постоянной, избегая внезапных падений или скачков. |
Кроссплатформенная производительность | Убедиться, что производительность игры одинакова на разных игровых платформах. | Поиграйте в игру на разных устройствах (ПК, консоли, мобильные устройства) и проверьте, что производительность соответствует требованиям. |
Производительность в автономном режиме | Удостовериться, что в автономном режиме производительность остается на приемлемом уровне. | Играйте в игру без подключения к Интернету, чтобы убедиться, что производительность в автономном режиме соответствует требованиям. |
Тест-кейсы для проверки внутриигровых покупок
Тест-кейс | Цель тест-кейса | Процесс/Пример |
Корректность процесса покупки | Проверить процесс покупки в игре. | Совершите внутриигровые покупки, удостоверьтесь в правильности суммы транзакции и в доставке приобретённого контента. |
Интеграция способов оплаты | Подтвердить корректность интеграции различных способов оплаты. | Протестируйте покупки, используя разные варианты оплаты (кредитные карты, цифровые кошельки), чтобы убедиться в правильности обработки таких платежей. |
Формирование и доставка квитанций | Проверить формирование и своевременную доставку товарных чеков. | Совершайте внутриигровые покупки и следите за тем, чтобы пользователи получали квитанции о покупке по электронной почте или на платформе. |
Тестирование процесса возврата денег | Протестируйте процесс возврата денег за внутриигровые покупки на платформе. | Инициируйте запросы на возврат средств за внутриигровые товары и убедитесь в том, что процесс является простым и эффективным. |
Обработка скидок и промокодов | Проверить применение скидок и промокодов во время покупок. | Убедитесь, что скидочные акции и промокоды корректно отражаются на сумме покупки. |
Тестирование подписок | Проверить функциональность и удобство взаимодействия с пользователем при оформлении подписки. | Сымитируйте подписку на внутриигровые услуги, контролируя корректность выставления счетов, доступа к функциям подписки и надлежащие возможности отмены. |
Интеграция со сторонними платформами дистрибуции | Проверить корректную интеграцию с внешними цифровыми магазинами (например, Steam). | Совершите покупку через сторонний магазин и убедитесь, что получаете доступ к приобретенному контенту на вашей платформе. |
Тест-кейсы для проверки многопользовательского функционала
Тест-кейс | Цель тест-кейса | Процесс/Пример |
Обработка нагрузки на сервер | Проверить способность платформы выдерживать большие многопользовательские нагрузки. | Смоделируйте одновременную активность большого количества игроков для оценки стабильности и быстроты реакции сервера во время многопользовательских сессий. |
Тестирование задержек в сети | Оценить влияние сетевой задержки на многопользовательский игровой процесс. | Создавайте сетевые задержки во время многопользовательских сессий, чтобы оценить, насколько хорошо платформа справляется с задержками и поддерживает плавность игры. |
Синхронизация сессий | Протестировать синхронизацию игровых сессий между всеми игроками. | Проверьте, что обеспечивается правильная синхронизация игрового процесса между всеми участниками игровой сессии. |
Функциональность голосового чата | Проверить функциональность и качество внутриигрового голосового чата. | Протестируйте качество работы голосового чата на отсутствие искажений или прерываний во время многопользовательской игровой сессии. |
Кроссплатформенный мультиплеер | Провести оценку работы мультиплеера на разных платформах. | Протестируйте, что пользователи, играющие на ПК, мобильных устройствах или консолях могут присоединяться к одной многопользовательской сессии. |
Синхронизация игрового прогресса | Убедиться, что прогресс игрока и достижения синхронизируются между игровыми сессиями. | Играйте в многопользовательскую игру в разных сессиях, следя за тем, что перенос прогресса и достижений происходит правильно. |
Тест-кейсы для проверки облачного сохранения
Тест-кейс | Цель тест-кейса | Процесс/Пример |
Синхронизация данных между устройствами | Проверить синхронизацию игровых данных на нескольких устройствах. | Поиграйте в игру на одном устройстве, перейдите на другое и убедитесь, что игровой прогресс, настройки и достижения сохранились. |
Своевременное обновление облачных сохранений | Убедиться, что облачные сохранения оперативно обновляются после игры. | Поиграйте в игру, выйдите из неё и убедитесь, что обновление облачного сохранения произошло корректно. |
Обработка больших файлов сохранений | Протестировать, как платформа справляется с сохранением больших файлов в облаке. | Удостоверьтесь, что сохранение с большим размером файла успешно синхронизировалось с облаком. Затем загрузите это сохранение в игре для проверки нормальной работы. |
Восстановление облачных сохранений | Проверьте процесс восстановления игровых данных из облака. | Смоделируйте потерю данных, запустите процесс восстановления облачного сохранения и убедитесь, что сохраненные данные восстановлены. |
Игра в автономном режиме с облачными сохранениями | Подтвердить возможность доступа к облачным сохранениям в автономном режиме. | Сохраните игровой прогресс, отключитесь от интернета и убедитесь, что сохраненные данные доступны для игры в автономном режиме. |
Автоматическое резервное копирование облачных сохранений | Проверить автоматическое резервное копирование облачных хранилищ через определенные промежутки времени. | Следите за активностью облачных хранилищ и убедитесь, что платформа периодически выполняет автоматическое резервное копирование, чтобы предотвратить потерю данных. |
Конфиденциальность и безопасность облачных сохранений | Проверить меры безопасности, применяемые к игровым данным, хранящимся в облаке. | Попробуйте получить несанкционированный доступ к облачному хранилищу и убедитесь, что система безопасности препятствует этому. |
Разработка и выполнение эффективных тест-кейсов
Создание и выполнение эффективных тест-кейсов имеет решающее значение для обеспечения качества и функциональности игры. Этот процесс включает в себя разработку комплексных тест-кейсов, охватывающих различные сценарии, и их систематическое выполнение для выявления и устранения проблем.
Разработка тест-кейсов
Разработка тест-кейсов для игр требует систематического подхода, включающего следующие основные этапы:
- Анализ требований
Изучите требования к игре, её особенности и функциональные возможности, чтобы убедиться, что тест-кейсы соответствуют запланированным результатам. В дальнейшем это поможет разделить тесты на ручные и автоматизированные. - Определите сценарии тестирования
Составьте потенциальные сценарии, охватывающие игровые механики, взаимодействие с пользователем и другие ситуации. Учитывайте различные игровые уровни, персонажей, внутриигровые возможности и уникальный функционал. - Определите цели тестирования
Чётко сформулируйте цели для каждого тест-кейса, указав условия, действия и ожидаемые результаты. Это поможет создать точные и целенаправленные тестовые сценарии. - Создайте тестовые данные
Разработайте тестовые данные для моделирования различных действий пользователей, аппаратных и программных сред и условий использования. Это поможет проверить устойчивость игры в разных сценариях. - Проверка и доработка
Сотрудничайте с командой разработчиков для проверки и доработки тест-кейсов, учитывая отзывы и обеспечивая всестороннее тестовое покрытие.
Выполнение тест-кейсов
Теперь давайте рассмотрим пошаговый процесс выполнения тест-кейсов, которые мы разработали выше.
- Настройка тестовой среды
Подготовьте тестовую среду, убедившись, что она повторяет реальные условия, включая аппаратное и программное обеспечение, а также конфигурацию сети. - Выполнение тест-кейсов
Выполните каждый тестовый сценарий, обращая внимание на фактические результаты, наблюдаемые во процессе игры. - Документируйте результаты
Документируйте результаты каждого тест-кейса, отмечая любые расхождения между ожидаемыми и фактическими результатами. Включайте в отчёты важные детали, чтобы разработчики могли понять и решить проблемы. - Регрессионное тестирование
Проводите регрессионное тестирование, чтобы убедиться, что новые изменения или обновления не оказывают негативного влияния на ранее протестированные функции. - Сотрудничество и коммуникация
Поддерживайте открытое общение с командой разработчиков, своевременно сообщайте о выявленных проблемах и сотрудничайте для их эффективного решения. - Итеративное тестирование
Повторяйте процесс тестирования итеративно, устраняя проблемы, уточняя тест-кейсы на основе изменяющихся требований и обеспечивая общую стабильность игры.
Заключение
Геймдев — это процветающая индустрия. Геймеры заинтересованы в качественных играх, что достигается, в том числе, проведением тестирования. А для этого необходимо создавать и выполнять тест-кейсы.
Часто задаваемые вопросы
Какие виды тестов используется при тестировании игр?
Тестирование игр включает в себя сочетание различных типов тестирования программного обеспечения. К ним относится функциональное тестирование, тестирование производительности, совместимости и удобства использования.
Как написать тестовый план для игры?
Чтобы написать план тестирования, определите область тестирования, цели, тестовое окружение, ресурсы и сценарии. Учитывайте игровой процесс, графику, аудио и взаимодействие с пользователем. Определите методы тестирования, специалистов, ответственных за процесс и сроки, для эффективного руководства в рамках жизненного цикла разработки.
Перевод статьи «How Do You Write Test Cases for Game Testing?».
Пингбэк: Большой учебник по написанию тест-кейсов