<style>.lazy{display:none}</style>Тестовая среда: руководство для начинающих

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

Содержание:

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

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

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

БЕСПЛАТНО СКАЧАТЬ КНИГИ в телеграм канале "Библиотека тестировщика"

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

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

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

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

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

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

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

Кроме того, тестовая среда должна обеспечивать совместимость с несколькими комбинациями “Устройство – Браузер – Операционная система” в связи с огромным количеством устройств, версий Android и iOS, а также браузеров.

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

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

В этом случае можно использовать облачную платформу BrowserStack для выполнения ручных и автоматизированных тестов на более, чем 3000 реальных браузерах и устройствах.

А с помощью BrowserStack Live и App Live можно обнаружить ошибки до того, как это сделают пользователи. Ведь данные инструменты позволяют проводить тестирование программного обеспечения в реальных условиях использования.

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

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

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

Типы тестовых сред

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

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

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

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

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

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

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

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

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

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

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

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

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

Заключительные замечания

  • Тестовая среда предоставляет специалистам по обеспечению качества (QA) пространство для выполнения их работы.
  • Они позволяют тестировщикам сделать вывод о пригодности (или непригодности) программного обеспечения для разворачивания в среде предрелизного тестирования (Staging Environment) и продакшн среде (Production Environment).
  • Они необходимы в инструментарии тестировщика, выполняя роль холста, на котором он рисует.
  • Надежная, масштабируемая тестовая среда, соответствующая потребностям тестируемого приложения, является неотъемлемой составляющей успешной разработки программного обеспечения.

Эффективная настройка тестовой среды может оказаться непростой задачей, особенно если она предназначена для проверки технически сложного программного обеспечения. Как уже говорилось ранее, лучше всего использовать реальные комбинации “Устройство-Браузер-Операционная система”, когда программное обеспечение будет готово к эксплуатации. Кроме того, можно рассмотреть возможность автоматизации процесса интеграции и тестирования путем внедрения конвейера CI/CD с помощью такого инструмента, как Jenkins.

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

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

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