Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Автоматизация НТ. Дёшево и больно

polarnik
February 04, 2020

Автоматизация НТ. Дёшево и больно

Доклад Кирилла Юркова из Билайн для митапа сообщества по тестированию производительности (qa_load)

Рассказ про автоматизацию запуска тестов производительности Apache.JMeter с помощью открытых технологий:
1. Jenkins: https://jenkins.io
2. Performance Trend Plugin: https://plugins.jenkins.io/performance
3. HTML Publisher plugin: https://plugins.jenkins.io/htmlpublisher
4. InfluxDB: https://www.influxdata.com
5. Grafana: https://grafana.com
6. Grafana Dashboard: https://grafana.com/grafana/dashboards/1152
7. Grafana Zabbix Plugin: https://grafana.com/grafana/plugins/alexanderzobnin-zabbix-app
8. Apache JMeter: http://jmeter.apache.org
9. Backend Listener Implementation: https://github.com/NovaTecConsulting/JMeter-InfluxDB-Writer/releases
10. Чатик на все случаи жизни нагрузочника: https://t.me/qa_load

Запись выступления Кирилла Юркова:
https://youtu.be/sEcudxQB62M?t=2863

polarnik

February 04, 2020
Tweet

More Decks by polarnik

Other Decks in Programming

Transcript

  1. Проблемы • Много проектов, случаются параллельные тесты на один сервер

    • Рутинная работа, занимающая много времени • Постоянный контроль над тестами • Сложно сравнивать версии • Сложно искать результаты • Для изменения параметров теста необходимо найти, открыть, изменить, сохранить - это долго
  2. Инструменты Jenkins - легкий запуск, контроль хода теста, сравнение версий

    и хранение результатов Apache JMeter - кроссплатформенность, бесплатность и масштабируемость InfluxDB + Grafana - хранение данных тестов, real-time мониторинги с общим доступом и детальные метрики Atlassian Confluence - формирование отчетов для бизнеса
  3. • Все тесты, принадлежащие данному проекту и их статус •

    Их последние запуски с ссылками на последнюю успешную и неуспешную сборку • Продолжительность последнего теста
  4. Желтое - любой ваш скрипт Зеленое: • Первый listener для

    последующей генерации встроенного отчета JMeter • Второй listener для отправки данных в InfluxDB • Третий listener для генерации трендов в Performance Trend Plugin Красное - обязательный блок для остановки теста по времени взятому из Jenkins
  5. Красный - обязательный блок для остановки теста по времени взятому

    из Jenkins Фиолетовый - блок который формирует и наполняет результатами страницу в Confluence
  6. Отчеты - генерируются на основе типичного отчета в ворде, содержат

    все графики и после теста остается только написать там выводы и дать рекомендации
  7. Детализация решения 1. Jenkins: https://jenkins.io ◦ Performance Trend Plugin: https://plugins.jenkins.io/performance

    ◦ HTML Publisher plugin: https://plugins.jenkins.io/htmlpublisher 2. InfluxDB: https://www.influxdata.com 3. Grafana: https://grafana.com ◦ Grafana Dashboard: https://grafana.com/grafana/dashboards/1152 ◦ Grafana Zabbix Plugin: https://grafana.com/grafana/plugins/alexanderzobnin-zabbix-app 4. Apache JMeter: http://jmeter.apache.org ◦ Backend Listener Implementation: https://github.com/NovaTecConsulting/JMeter-InfluxDB-Writer/releases 5. Чатик на все случаи жизни нагрузочника: https://t.me/qa_load