Unreal Automation
Udemy курс UE/C++BoostyPatreonTelegramYoutube
  • Обзор автоматизации
  • Необходимое ПО
    • Unreal Engine
    • Visual Studio Community
    • Visual Studio Code
    • Git / Github
    • Jenkins
  • Scripts
  • Курс по автоматизации и тестированию на Youtube
    • Лекция 30
    • Лекция 31
    • Лекция 32
    • Лекция 33
    • Лекция 34
    • Лекция 35
    • Лекция 36
    • Лекция 37
    • Лекция 38
  • Автоматизация проекта UE
    • Минимальные настройки проекта
    • Generate project files
    • Clean intemediates
    • Automation Tool
    • Этапы сборки игры
    • Сборка игры
    • Modules / Targets
    • Сборка клиента / сервера
      • Targets
      • Client
      • Dedicated server
      • Client + server
      • Listen server
      • Запуск
    • Cook
      • Game
      • Client
      • Server
    • Генерация локализации
  • Автоматизация исходников UE
    • Доступ к исходникам
    • Сборка движка из исходников
    • Сборка бинарной версии - Installed build
  • Jenkins
    • Jenkins pipelines
    • Графики, таймеры
    • Интеграция Slack
  • Теория тестирования игр
  • Тестирование в UE
  • Разное
    • Как создать bat файл
    • .gitignore
    • .clang-format
    • Справка по командам Windows
    • Как установить переменную среды в Windows
      • Проверяем clang-format
      • Проверяем git
  • VPN
  • мои курсы
    • 🎮Unreal Engine — полное руководство по разработке на С++
    • 🐍Snake game
    • 🕹️Game Engine. hardCORE series
    • 🎙️Metasounds
    • 🧠OpenAI
    • 🏗️Design patterns
  • 🔗Сообщество
    • Ресурсы
    • Поддержать проект
    • Проекты участников сообщества
    • Code review участников сообщества
Powered by GitBook
On this page
  • Цели тестирования
  • Методы защиты
  • Уровни тестирования
  • Классификация тестов
  • Зачем нужны тесты?
  • Когда создавать тесты
  • Зачем автоматизировать тесты
  • Проблемы тестирования

Теория тестирования игр

PreviousИнтеграция SlackNextТестирование в UE

Last updated 3 years ago

Цели тестирования

  • Минимизация количества дефектов

  • Максимизация скорости обнаружения дефектов

Методы защиты

  • Когнитивный, метод познания, обучения

  • Стандарты кодирования

  • Тестирование

Уровни тестирования

  • Unit (модульное, блочное компонентное)

Процесс исследования ПО, выполняемое в изоляции от остальных частей системы, при котором тестируется минимально возможный компонент, отдельный класс или функция.

  • Интеграционное

Процесс исследования ПО, при котором тестируется интерфейсы между компонентами или подсистемами. Это совместное выполнение двух или более классов, компонентов или подсистем.

  • Системное

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

Классификация тестов

По объекту тестирования

  • Функциональное тестирование

  • Тестирование производительности

  • Тестирование стабильности

  • Сетевое тестирование

  • Тестирование безопасности

По времени проведения

  • Регрессионное

Повторное выполнение тестов, направленное на обнаружение дефектов в программе, уже прошедшей этот набор тестов.

  • Smoke тестирование

Mинимальный набор тестов на выявления явных ошибок. Программу, которая не проходит этот тест, не имеет смысла отдавать на более глубокое тестирование.

  • alpha

  • beta

По знанию системы

  • Белый ящик

  • Черный ящик

По степени автоматизации

  • Ручное

  • Автоматическое

Зачем нужны тесты?

  • Предотвращение дефектов

  • Обнаружение дефектов

  • Документация пред и пост условий

  • Защита кода от других разработчиков

  • Проведение рефакторинга

  • Психологическая уверенность

  • Улучшение навыков программирования

  • Без тестов нельзя утверждать работает программа или нет

  • Экономия времени и денег

Когда создавать тесты

  • После создания блока функциональности (feature)

  • После обнаружения бага

  • В конце спринта (практически невыполнимый способ)

  • Перед проведением рефакторинга

  • При изменениях технических требований, дизайна системы

Зачем автоматизировать тесты

  • Вероятность допустить ошибку ниже

  • Тесты выполняются чаще, некоторые перманентно

  • Возможность запустить тесты в любой момент

  • Раннее обнаружение проблем

  • Моментальное оповещение об изменении системы

Проблемы тестирования

  • Тесты не доказывают отсутсвие ошибок

  • Тесты могут иметь баги

Обзоры кода (code review)

Статический анализ кода

Тестирование — процесс исследования, испытания программного продукта, имеющий своей целью проверку соответствия между реальным поведением программы и её ожидаемым поведением на конечном наборе тестов, выбранных определённым образом. ()

Перед написанием функциональности ()

Google C++ Style Guide
CPP Check
Статический анализ исходного кода UE от PVS-Studio
Wiki
TDD — Test Driven Development