Skip to content

Архитектура ТестОпс

Каждое развертывание ТестОпс включает в себя сам сервис ТестОпс и несколько сторонних сервисов:

  • компоненты с сохранением состояния:

    • сервер базы данных PostgreSQL;
    • брокер сообщений RabbitMQ;
    • S3-совместимое хранилище данных, такое как Ceph или MinIO.

    Для производственной среды эти сервисы должны быть развернуты отдельно от сервиса ТестОпс.

  • компоненты без сохранения состояния:

    • сам сервис ТестОпс;
    • сервер Redis для хранения пользовательских сессий.

    Эти сервисы могут быть развернуты на одной машине. В зависимости от метода установки и настроек Redis может быть развернут и настроен автоматически.

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

Установка ТестОпс включает в себя компоненты как с сохранением, так и без сохранения состояния.

Требования к оборудованию

Оптимальная конфигурация оборудования для вашего инстанса ТестОпс зависит от нагрузки. Для небольшого проекта мы рекомендуем начать с 4 виртуальных ЦПУ и 8 ГБ ОЗУ и масштабировать по мере необходимости.

Важно

Поддерживаемые версии операционных систем для установки ТестОпс с помощью:

  • DEB-пакетов — Ubuntu 20.04 LTS, 22.04 LTS или 24.04 LTS;
  • RPM-пакетов — CentOS 8 и выше или RedHat Enterprise Linux 8 и выше.

Требования к хранилищу

База данных

ТестОпс использует PostgreSQL в качестве основного хранилища данных.

Требуемое дисковое пространство полностью зависит от количества тестовых результатов, которые вы собираетесь обрабатывать с помощью вашего инстанса ТестОпс. Проект с 100 000 тестов займет около 300 ГБ в базе данных через 1 год ежедневных запусков.

Для приемлемой производительности системы при обработке результатов автоматизированных тестов, особенно если у вас большая база тестов и запуски происходят несколько раз в день, необходимо соблюдать следующие требования:

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

Важно

Поддерживаемые версии PostgreSQL — 15.ХХ и выше.

Хранилище объектов

Хранилище объектов используется для хранения артефактов результатов тестов и тест-кейсов (например, скриншотов и видео, созданных во время запусков тестов). Объем таких артефактов зависит от тестов, которые вы будете запускать. Для небольшого проекта мы рекомендуем начать с 50 ГБ дискового пространства и затем масштабировать по мере необходимости.

Для приемлемой производительности системы при обработке артефактов автоматизированных тестов необходимо соблюдать следующие требования:

  • Используйте только SSD в качестве носителя данных для хранилища артефактов, предпочтительно корпоративного класса. HDD замедлят работу сервисов.

  • Используйте любое S3-совместимое хранилище данных:

    • Amazon S3 предпочтителен, так как он показывает лучшую производительность для большого объема данных.
    • Вы также можете рассмотреть MinIO, Ceph и другие.
  • Если вы используете Kubernetes, подключайте хранилище с помощью CSI-драйвера.

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

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

Брокер сообщений

Брокер сообщений RabbitMQ используется ТестОпс для обработки загружаемых данных.

Важно

Поддерживаемые версии RabbitMQ:

  • если установлен только один инстанс ТестОпс — актуальная версия из документации RabbitMQ;
  • если установлено несколько инстансов ТестОпс — версия ниже 4.0.

Важно

ТестОпс не поддерживает работу с кворумными очередями в режиме высокодоступного сервиса в RabbitMQ версии 4.0 и выше. Если для инсталляции RabbitMQ требуется режим высокой доступности — необходимо выбирать RabbitMQ версии ниже 4.0.

Хранилище сессий

Сервер Redis используется для хранения сессий пользователей ТестОпс.

Redis не требует постоянного хранилища, для работы используется ОЗУ.

Важно

Минимально поддерживаемая версия Redis — актуальная из документации Redis.

Logo © 2025 Все права защищены. Сайт принадлежит компании ООО «Инструменты тестирования»