Швейцарский нож тестировщика или JMeter не только для нагрузки

Содержание

Слайд 2

Обо мне

В области разработки ПО > 10 лет, тестирование > 5 лет.
Тестирование

Обо мне В области разработки ПО > 10 лет, тестирование > 5
как бизнес-приложения(Web, API, desktop), так и инфраструктурные решения(Интеграции через HTTP, JMS, JDBC, Kafka…)
Основной стек – Java(Scala)/JMeter, Gatling, Postman

Слайд 3

О чем поговорим

Базовое описание Apache JMeter
Создание функционального теста
Дополнительные возможности
Описание других сценариев использования
Работа

О чем поговорим Базовое описание Apache JMeter Создание функционального теста Дополнительные возможности
в команде

Слайд 4

Что такое Apache JMeter

Open Source application designed to load test applications and

Что такое Apache JMeter Open Source application designed to load test applications
measure performance. By The Apache Software Foundation

Слайд 5

Что такое Apache JMeter

Open Source application designed to load test applications and

Что такое Apache JMeter Open Source application designed to load test applications
measure performance. By The Apache Software Foundation

Слайд 6

Внешний вид

Внешний вид

Слайд 7

Компоненты JMeter

Компоненты JMeter

Слайд 8

Тест цепочки отправки логов

Тест цепочки отправки логов

Слайд 9

Тест цепочки отправки логов

Тест цепочки отправки логов

Слайд 10

Thread group

Thread group

Слайд 13

Отправка лог-записи

Отправка лог-записи

Слайд 14

Отправка лог-записи

Отправка лог-записи

Слайд 15

Просмотр результата отправки

Просмотр результата отправки

Слайд 16

Просмотр результата отправки

Просмотр результата отправки

Слайд 17

Просмотр результата отправки

Просмотр результата отправки

Слайд 18

Чтение лог-записи из ES

Чтение лог-записи из ES

Слайд 19

Проверка текста в ответе

Проверка текста в ответе

Слайд 20

Проверка текста в ответе

Проверка текста в ответе

Слайд 21

Дублирование запросов

Дублирование запросов

Слайд 22

Дублирование запросов

Дублирование запросов

Слайд 23

Pre-processor для подстановки времени

Pre-processor для подстановки времени

Слайд 24

Текущее время в переменной

Текущее время в переменной

Слайд 25

Добавление переменной и функции

Добавление переменной и функции

Слайд 26

Переменная в запросе лог-записи

Переменная в запросе лог-записи

Слайд 27

Подстановка значения переменной и функции

Подстановка значения переменной и функции

Слайд 28

Ошибка при запросе лог-записи

Ошибка при запросе лог-записи

Слайд 29

Добавление таймаута

Добавление таймаута

Слайд 30

Тест пройден!

Тест пройден!

Слайд 31

Ошибка в цепочке

Ошибка в цепочке

Слайд 32

Офсеты Kafka

Офсеты Kafka

Слайд 33

Проверка увеличения офсета Kafka

Проверка увеличения офсета Kafka

Слайд 34

Получение офсета

Получение офсета

Слайд 35

Сохранение текущего офсета

Сохранение текущего офсета

Слайд 36

Сравнение офсетов до отправки и после

Сравнение офсетов до отправки и после

Слайд 37

Ошибка осталась

Ошибка осталась

Слайд 38

Плагины

Плагины

Слайд 39

SSH Protocol Support

SSH Protocol Support

Слайд 40

SSH Sampler

SSH Sampler

Слайд 41

Команда проверки статуса

Команда проверки статуса

Слайд 42

Ошибка приложения

Ошибка приложения

Слайд 43

Настройки для разных стендов

Настройки для разных стендов

Слайд 44

Настройки для разных стендов

Настройки для разных стендов

Слайд 45

Logic Controllers

Logic Controllers

Слайд 46

Проверка нескольких хостов

Проверка нескольких хостов

Слайд 47

ForEach контроллер

ForEach контроллер

Слайд 48

ForEach контроллер

ForEach контроллер

Слайд 49

ForEach контроллер

ForEach контроллер

Слайд 50

Реальный пример теста

Реальный пример теста

Слайд 51

Несколько экземпляров

Несколько экземпляров

Слайд 52

Что еще делаем JMeter

Mock сервисов
Мониторинг
Запуск Java кода
Запуск в CI
Тесты из Swagger/Openapi

Что еще делаем JMeter Mock сервисов Мониторинг Запуск Java кода Запуск в CI Тесты из Swagger/Openapi

Слайд 53

Mock-сервер c WireMock

Mock-сервер c WireMock

Слайд 54

Mock-сервер c WireMock

Mock-сервер c WireMock

Слайд 55

Мониторинг с Zabbix

Мониторинг с Zabbix

Слайд 56

Мониторинг с Zabbix

Мониторинг с Zabbix

Слайд 57

CI

./jmeter.sh -n -t ELKTest.jmx \
-l reports/$(date -d "today" +"%%Y%%m%%d_%%H%%M%%S").log \
-e -o

CI ./jmeter.sh -n -t ELKTest.jmx \ -l reports/$(date -d "today" +"%%Y%%m%%d_%%H%%M%%S").log \
reports/$(date -d "today" +"%%Y%%m%%d_%%H%%M%%S")

Слайд 62

Запуск кода

Fat jar

Запуск кода Fat jar

Слайд 63

Запуск кода

Запуск кода

Слайд 64

Swagger/Openapi

Swagger/Openapi

Слайд 65

Swagger/Openapi

Swagger/Openapi

Слайд 66

Swagger/Openapi

Swagger/Openapi

Слайд 67

Swagger/Openapi

Swagger/Openapi

Слайд 68

Swagger/Openapi

Swagger/Openapi

Слайд 69

Swagger/Openapi

Swagger/Openapi

Слайд 70

Еще используем для работы с

Чтением-записью файлов
JDBC
JMS/AMQP

Еще используем для работы с Чтением-записью файлов JDBC JMS/AMQP

Слайд 71

Еще классные особенности

Кроссплатформенность
Установка копированием
Быстрый старт

Еще классные особенности Кроссплатформенность Установка копированием Быстрый старт

Слайд 72

Запуск конкретного сценария

Запуск конкретного сценария

Слайд 73

Запуск конкретного сценария

Запуск конкретного сценария

Слайд 74

Повторное использование блоков

Test Fragment

Повторное использование блоков Test Fragment

Слайд 75

Повторное использование блоков

Повторное использование блоков

Слайд 76

Повторное использование блоков

Повторное использование блоков

Слайд 77

Повторное использование блоков

Повторное использование блоков

Слайд 78

Повторное использование блоков

Повторное использование блоков

Слайд 79

Командная работа

~ 262 jmx
~ 5337 Test cases (xml)
Описанная структура тестов
Регламент создания новых

Командная работа ~ 262 jmx ~ 5337 Test cases (xml) Описанная структура
и изменения текущих тестов
Инструкции для запуска

Слайд 80

Минусы и проблемы

Сценарий – xml файл
При работе с GIT сложно мержить изменения
Переменные

Минусы и проблемы Сценарий – xml файл При работе с GIT сложно
– строки
Неудобно работать с бинарными http протоколами
Иногда требуется понимание JVM
Нельзя отменить изменения ctrl-z
Scala в JSR223 работает плохо

Слайд 81

Границы применимости и выбор инструмента

Слишком громоздкий для некоторых задач
Вклад в изучение
Может быть

Границы применимости и выбор инструмента Слишком громоздкий для некоторых задач Вклад в
хуже специализированных инструментов
Гибкость в некоторых моментах хуже, чем у кода
Имя файла: Швейцарский-нож-тестировщика-или-JMeter-не-только-для-нагрузки.pptx
Количество просмотров: 37
Количество скачиваний: 0