
Сергей Каблов
Компания: МФТИ
Отличительная особенность программно-аппаратных решений операторов связи — их многокомпонентность, представляющая собой модульную архитектуру. Модули — это независимые сетевые сервисы, интегрируемые друг с другом посредством открытых стандартизированных интерфейсов. Разработка и тестирование таких программных продуктов — сложный процесс, в котором необходимо учесть значительное число сервисов, включающие в себя как внутренние зависимости, так и внешние интеграции.
По сути, нужна некая среда, которая представляла бы модель реальных условий в уменьшенном масштабе, где могли бы находиться независимо друг от друга различные сервисы. Эта задача особо актуальна, так как ее решение позволяет строить системы автотестирования, куда могут независимо загружаться готовые компоненты для модульного, интеграционного, нагрузочного тестирования, проверки обратной совместимости и т. д. Программные проекты обладают значительным количество зависимостей, так что задача построения и поддержания таких сред становится самостоятельной стадией разработки проекта, требующей решения целого круга задач, таких как выбор технологии построения среды, учет людских затрат и т. д. Создание автоматизированных парков серверов, выполняющих непрерывное авто тестирование (CI, continuous integration).
В докладе рассмотрим идеи, методы, технологии построения среды тестирования на основе контейнеризации (Docker, Docker Compose), вспомогательные технологии Open vSwitch, Linux virtual network interfaces. Создание эффективной среды позволяет достигать следующих целей:
В конечном итоге создание эффективной среды разработки и системы автотестирования на ее основе позволяет значительно повышать скорость разработки и качество продукта в целом.
Компания: МФТИ