Similar presentations:
Швейцарский нож тестировщика или JMeter не только для нагрузки
1.
Швейцарский ножтестировщика или JMeter
не только для нагрузки
Махетов Сергей
2.
Обо мнеВ области разработки ПО > 10 лет, тестирование > 5 лет.
Тестирование как бизнес-приложения(Web, API, desktop), так и
инфраструктурные решения(Интеграции через HTTP, JMS, JDBC,
Kafka…)
Основной стек – Java(Scala)/JMeter, Gatling, Postman
2
3.
О чем поговоримБазовое описание Apache JMeter
Создание функционального теста
Дополнительные возможности
Описание других сценариев использования
Работа в команде
3
4.
Что такое Apache JMeterOpen Source application designed to load test
applications and measure performance. By The Apache
Software Foundation
5
5.
Внешний вид6
6.
Компоненты JMeterLogic
Controller
Config
Element
Test plan
Listener
Setup TR
Thread Group
Teardown TR
Pre-Processor
Sampler
Postprocessor
Assertion
7
7.
Тест цепочки отправки логов8
8.
Тест цепочки отправки логовClient
Adapter
Kafka
Sink
ES
9
9.
Thread group10
10.
Sampler11
11.
Sampler12
12.
Отправка лог-записи13
13.
Отправка лог-записи14
14.
Просмотр результата отправки15
15.
Просмотр результата отправки16
16.
Просмотр результата отправки17
17.
Чтение лог-записи из ES18
18.
Проверка текста в ответе19
19.
Проверка текста в ответе20
20.
Дублирование запросов21
21.
Дублирование запросов22
22.
Pre-processor для подстановки времени23
23.
Текущее время в переменной24
24.
Добавление переменной и функции25
25.
Переменная в запросе лог-записи26
26.
Подстановка значения переменной и функции27
27.
Ошибка при запросе лог-записи28
28.
Добавление таймаута29
29.
Тест пройден!30
30.
Ошибка в цепочке31
31.
Офсеты Kafka32
32.
Проверка увеличения офсета Kafka33
33.
Получение офсета34
34.
Сохранение текущего офсета35
35.
Сравнение офсетов до отправки и после36
36.
Ошибка осталась37
37.
Плагины38
38.
SSH Protocol Support39
39.
SSH Sampler40
40.
Команда проверки статуса41
41.
Ошибка приложения42
42.
Настройки для разных стендов43
43.
Настройки для разных стендов44
44.
Logic Controllers45
45.
Проверка нескольких хостов46
46.
ForEach контроллер47
47.
ForEach контроллер48
48.
ForEach контроллер49
49.
Реальный пример теста50
50.
Несколько экземпляров51
51.
Что еще делаем JMeterMock
сервисов
Мониторинг
Запуск
Java кода
Запуск
в CI
Тесты
из Swagger/Openapi
52
52.
Mock-сервер c WireMock53
53.
Mock-сервер c WireMock54
54.
Мониторинг с Zabbix55
55.
Мониторинг с Zabbix56
56.
CI./jmeter.sh -n -t ELKTest.jmx \
-l reports/$(date -d "today" +"%%Y%%m%%d_%%H%%M%%S").log \
-e -o reports/$(date -d "today" +"%%Y%%m%%d_%%H%%M%%S")
57
57.
CI58
58.
CI59
59.
CI60
60.
CI61
61.
Запуск кодаFat jar
62
62.
Запуск кода63
63.
Swagger/Openapi64
64.
Swagger/Openapi65
65.
Swagger/Openapi66
66.
Swagger/Openapi67
67.
Swagger/Openapi68
68.
Swagger/Openapi69
69.
Еще используем для работы сЧтением-записью
файлов
JDBC
JMS/AMQP
70
70.
Еще классные особенностиКроссплатформенность
Установка
Быстрый
копированием
старт
71
71.
Запуск конкретного сценария72
72.
Запуск конкретного сценария73
73.
Повторное использование блоковTest Fragment
74
74.
Повторное использование блоков75
75.
Повторное использование блоков76
76.
Повторное использование блоков77
77.
Повторное использование блоков78
78.
Командная работа~ 262 jmx
~ 5337 Test cases (xml)
Описанная структура тестов
Регламент создания новых и изменения текущих тестов
Инструкции для запуска
79
79.
Минусы и проблемыСценарий – xml файл
При работе с GIT сложно мержить изменения
Переменные – строки
Неудобно работать с бинарными http протоколами
Иногда требуется понимание JVM
Нельзя отменить изменения ctrl-z
Scala в JSR223 работает плохо
…
80
80.
Границы применимости и выборинструмента
Слишком громоздкий для некоторых
задач
Вклад в изучение
Может быть хуже специализированных
инструментов
Гибкость в некоторых моментах хуже,
чем у кода
81
81.
Спасибо за внимание!Остались вопросы?
Махетов Сергей
E-mail: [email protected]
Telegram: @Mahetovs
https://tech.kontur.ru/
82