Рубрики
Без рубрики

Основное объяснение – Бережливая Архитектура Автоматизации веб-тестирования

Эта статья посвящена тому, как создать архитектуру автоматизации бережливого тестирования для Интернета с использованием библиотек Java… С тегами java, тестирование, архитектура.

Эта статья относится к тому, как создать Архитектуру автоматизации бережливого тестирования для Интернета с использованием библиотек Java серия

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

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

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

Эта первая статья покажет вам основное объяснение необходимых элементов для создания бережливой архитектуры.

Чистая архитектура

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

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

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

Шаблоны проектирования

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

Заводской метод

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

Вы также можете использовать этот шаблон проектирования для создания фабрики данных.

Строитель

Вы можете использовать шаблон Builder для упрощения создания сложных объектов, которые есть в вашем коде, например:

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

Синглтон

Вы можете использовать шаблон Singleton повторно использовать один и тот же экземпляр объекта в своих тестах, например:

  • иметь общий доступ к данным ваших файлов конфигурации
  • используйте одно и то же подключение к базе данных (если вам нужно)

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

В качестве шаблона проектирования вы можете использовать некоторые шаблоны тестирования, которые покажут те же преимущества.

Базовый тест

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

Фабрика тестовых данных

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

Объект страницы

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

Журналы и отчеты

Тестовый код должен обрабатываться так же, как ваш производственный код. Вы можете столкнуться с проблемами во время выполнения тестирования, такими как:

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

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

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

Генерация данных

Генерирование данных для теста – одно из самых трудоемких действий, даже для автоматических тестов, но оно необходимо.

Мы можем применить, по крайней мере, три различных подхода:

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

Параллельное Выполнение

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

Первым шагом является либо создание решения для распараллеливания, либо использование существующего решения, присутствующего в библиотеке тестирования (например, JUnit или TestNG).

Вторым шагом является определение решения для среды. Это может быть либо:

локальное решение с использованием чистого металла, которое может не масштабироваться локальное решение с использованием контейнеров и автоматического масштабирования вверх и вниз ит-облачное решение для автоматического масштабирования вверх и вниз

Трубопровод

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

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

Оригинал: “https://dev.to/eliasnogueira/basic-explanation-lean-web-test-automation-architecture-3dek”