Одна из проблем, с которой сталкиваются мультипродуктовые вендоры ПО, это дублирование компетенций инженеров разработчиков, тестировщиков и администраторов инфраструктуры в каждой команде. В том числе, это касается и дорогостоящих инженеров — специалистов в области нагрузочного тестирования. Вместо того, чтобы заниматься своими прямыми обязанностями и использовать свой уникальный опыт для выстраивания методологии проведения нагрузочного тестирования разрабатываемого продукта, подбирать оптимальные значения метрик, писать автотесты в соответствии с профилями нагрузки, инженерам зачастую приходится с нуля разворачивать тестовую инфраструктуру, настраивать инструменты нагрузки, самим встраивать их в CI-системы, настраивать мониторинг и публикацию отчётов.
Как решить некоторые проблемы с организацией тестирования вы можете прочитать в моей предыдущей статье: "Тестирование в общем сборочном конвейере: решение организационных проблем". В этой статье я расскажу про возможность интегрировать ваши нагрузочные тесты в общий CI-конвейер на GitLab CI используя концепцию "Нагрузочное тестирование как сервис" (Load testing as a service). Также вы узнаете: как и какие докер-образы источников нагрузки Apache JMeter и Yandex.Tank можно использовать в CI-конвейере; как подключить источники нагрузки в свой проект при помощи шаблона .gitlab-ci.yml; как выглядит демо-пайплайн для запуска нагрузочных тестов и публикации результатов. Статья будет полезна инженерам по тестированию ПО и инженерам-автоматизаторам.