Тестовая среда: руководство для начинающих

Тестовая среда: руководство для начинающих

Содержание:

Что такое тестовая среда?

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

Тестовая среда (иногда ее называют тестовым стендом) должна быть правильно настроена, в соответствии с требованиями к тестируемому программному обеспечению. Это позволит выявить баги, которые могут возникнуть в продакшн-среде.

Друзья, поддержите нас вступлением в наш телеграм канал QaRocks. Там много туториалов, задач по автоматизации и книг по QA.

Тестовая среда и тестовый стенд: различия

Тест-кейсы могут потребовать подготовки тестовой среды с определенным набором данных. Такая тестовая среда и будет называться тестовым стендом.

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

В этом случае тестовая среда настраивается с конкретной базой данных. Таким образом, она становится тестовым стендом.

Важность тестовой среды

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

  • Эти тесты должны проводиться в тестовой среде, максимально приближенной к реальным условиям использования приложения, чтобы QA команда могла выявить баги, несовместимости и другие проблемы в работе приложения.
  • После обнаружения багов тестировщики и разработчики могут вносить изменения в ПО, не затрагивая при этом реальных пользователей.
  • Например, тестируется обновление банковского приложения. Перемещать реальные деньги на счетах реальных клиентов для проверки эффективности работы приложения – не самая лучшая идея. Однако, тестовая среда позволяет тестировщикам экспериментировать с приложением и тестировать различные функции, не беспокоясь о последствиях.
При тестировании приложений важной характеристикой, которую необходимо проверить, является их совместимость с различными устройствами и операционными системами. Что касается веб-сайтов, то они должны быть совместимы с разными устройствами и браузерами(как настольными, так и мобильными).

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

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

Элементы тестовой среды

Каждая тестовая среда настраивается с использованием следующих элементов:

  • Тестируемое программное обеспечение;
  • Операционная система, база данных и сервер;
  • Тестовые данные;
  • Сетевые конфигурации;
  • Устройство, на котором тестируется программное обеспечение, – настольный компьютер или мобильное устройство;
  • Фреймворк для автоматизации тестирования и соответствующие инструменты, такие как Selenium или Cypress;
  • Соответствующая документация – тестовые сценарии, пользовательские и бизнес-требования;
  • Программное обеспечение для взаимодействия между системой и приложениями.

Виды тестовых сред

1. Интеграционная тестовая среда

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

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

2. Среда для тестирования производительности

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

Тестирование производительности является широким термином и включает в себя различные категории тестов – нагрузочные, стресс-тесты, объемные и т.д. Тесты производительности позволяют проверить все функции приложения и выявить ограничения в работе ПО.

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

3. Среда для тестирования безопасности

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

Такая среда создается экспертами по безопасности. Эти эксперты изучают программное обеспечение, чтобы определить, какие его части могут стать объектами атаки. Они также анализируют, каким образом могут быть реализованы подобные угрозы.

4. Среда для проведения хаос-тестирования

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

Среда для проведения хаос-тестирования должна быть настроена на масштабирование. Тестировщики часто запускают хаос-тесты параллельно с тестами производительности.

Вывод

  • Тестовая среда предоставляет тестировщикам пространство для выполнения тестов.
  • Она позволяет тестировщикам определить пригодность программного обеспечения для перехода в стейджинг или продакшн-среду.
  • Надежная, масштабируемая тестовая среда, соответствующая требованиям к ПО, является обязательным условием для успешной разработки программного обеспечения.

Настройка тестовой среды может быть сложной задачей, особенно если программное обеспечение является сложным по техническим характеристикам. Рассмотрите возможность автоматизации процесса интеграции и тестирования с использованием CI/CD-пайплайна, например, с помощью Jenkins.

Перевод статьи «Test Environment: A Beginner’s Guide».

4 комментария к “Тестовая среда: руководство для начинающих”

  1. ВотЭтоПрикол

    я думала будет про CI/CD…или классические среды тестирования с приближенными к реальности примерами…

  2. Пингбэк: Написание тест-кейсов: инструкция

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *