Skip to content

Демо-пример шаблона для реализации пайплайна нагрузочного тестирования в GitLab CI. Статья в блоге:

License

Notifications You must be signed in to change notification settings

devopshq/demo-load

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 

Repository files navigation

demo-load

Демо-пример шаблона для реализации пайплайна нагрузочного тестирования в GitLab CI.

Про шаблон нагрузочного тестирования

Шаблон демонстрирует пайплайн основных этапов и шагов, предлагаемых в концепции нагрузочного тестирования как сервиса. Это этапы: Prepare – Test – Report. Подробности реализации читайте в статье "Нагрузочное тестирование как сервис". Можете посмотреть также статью "Тестирование в общем сборочном конвейере: решение организационных проблем", где разобраны основные организационные вопросы в тестировании ПО и возможные подходы к их решению.

Шаблон и тестовые сценарии в примере умеют:

  1. Скачивать нужный докер образ с выбранным фреймворком тестирования (в примере это Yandex.Tank, Apache JMeter, но вы можете создать и использовать свой докер образ с источником нагрузки).
  2. Запускать тестовый фреймворк с указанными параметрами.
  3. Сохранять результаты в отдельный каталог для дальнейшей публикации.
  4. Публиковать отчёт (например, в GitLab Pages, InfluxDB + Grafana).

Как подключить и использовать нагрузочные тесты в своем CI-проекте

  • Скопируйте шаблон и содержимое каталога ./tests в свой проект.
  • Разработайте тесты под нужный фреймворк и добавьте их в каталог ./tests
  • Следуйте инструкциям в .gitlab-ci.yml: отредактируйте шаблон, подготовьте цели тестирования, укажите источник нагрузки и способ публикации отчетов.
  • Все шаги тестирования (запуск фреймворка с нужными параметрами, обработка результатов, формирование отчёта и т.п.) выполняются в скриптах ./tests/yandextank.sh и ./tests/jmeter.sh, которые нужно наполнить самостоятельно для каждого вашего проекта с нагрузочными тестами. Фактически, эти скрипты являются точкой входа для запуска тестов. В CI-шаблоне осуществляется только их вызов. Таким образом, логика самих тестов будет отделена от способа их запуска в шаблоне для GitLab CI или любой другой CI-системы. Это упрощает тиражирование проектов.

Полезные ссылки

  • Автоматизация и DevOps: авторский блог про автоматизацию разработки и тестирования, DevOps и безопасность.
  • Yandex.Tank: опенсорс инструмент для проведения нагрузочного тестирования и анализа производительности веб-сервисов и приложений.
  • Apache JMeter: многофункциональный опенсорс инструмент для проведения нагрузочных тестов, с поддержкой множества протоколов и режимов тестирования.

About

Демо-пример шаблона для реализации пайплайна нагрузочного тестирования в GitLab CI. Статья в блоге:

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Languages

  • Shell 100.0%