Тестирование производительности: JMeter 5
Курс даст возможность попрактиковаться в использовании инструментов для мониторинга характеристик производительности и генерации нагрузки для веб-приложений.
Материал курса адаптирован к версии JMeter 5.
Онлайн-тренинг
Описание
"Младших тестировщиков производительности" не бывает. Зато бывают люди, которые начинают заниматься тестированием производительности.
(с) Скотт Барбер (aka The Perf Guy)
В тестировании компьютерных программ есть "общедоступная" область функционального тестирования, куда доступ открыт всем желающим, и есть целый ряд областей с достаточно высоким "порогом входа", и тестирование производительности находится в их числе.
Для этого вида тестирования требуется хорошее владение оружием, его голыми руками не возьмёшь. Во-первых, нужно само оружие -- тестирование производительности обязательно требует умения пользоваться специальными инструментами. Во-вторых, нужно тщательно изучить соперника -- необходимо хорошее понимание протоколов взаимодействия тестируемой программы с внешним миром и её внутренней физической и логической архитектуры. Ну и конечно же нужно владеть приёмами -- знать какую нагрузку и как подать на тестируемое приложение, и на что смотреть, чтобы выявить проблемы с производительностью.
На тренинге мы будем учиться обращаться с этим оружием:
- познакомимся с инструментами, предназначенными для генерации нагрузки и для мониторинга различных характеристик производительности,
- освоим способы использования этих инструментов для генерации нагрузки различного вида,
- изучим типовые архитектурные шаблоны построения приложений и связанные с этим источники потенциальных проблем с производительностью,
- рассмотрим способы выявления проблем с производительностью на основе анализа результатов мониторинга.
Для практических демонстраций и для выполнения домашних заданий будет использоваться инструмент JMeter.
Подробная программа курса:
Занятие 1. Обзор
Модуль 1.1. Введение
- Что такое производительность? Тестирование производительности -- зачем мы его проводим?
- Функциональные и нефункциональные характеристики качества. Производительность + надёжность + удобство использования (дизайн). Скорость и ресурсоёмкость. Уровни изменений: производительность алгоритмов, производительность ПО, производительность человека, использующего ПО.
- Какие ошибки мы можем обнаружить: узкое место («бутылочное горлышко»), медленная подсистема/функция, точки насыщения, функциональные дефекты.
- Ложно-положительные и ложно-отрицательные результаты.
Модуль 1.2. Проектирование тестов
- Сценарий. Запросы (действия, из которых состоит сценарий).
- Профиль нагрузки.
- Задержки.
Модуль 1.3. Выбор инструментов
- Способ описания сценариев.
- Рекордер.
- Генераторы нагрузки.
- Сбор данных.
- Анализ данных.
Модуль 1.4. Примеры инструментов
- Инструменты с декларативным стилем описания сценариев.
- Инструменты с императивным стилем описания сценариев.
- Тестирование клиентской производительности.
- Облачные сервисы.
Модуль 1.5. Пример создания сценариев в JMeter
- Запись сценария рекордером.
- Воспроизведения сценария.
- Отладка и доработка сценария. Использование прокси-серверов для отладки.
- Сбор метрик скорости: время отклика, пропускная способность, количество отказов.
Занятие 2. Сценарии
Модуль 2.1. Протоколы взаимодействия с тестируемой системой
- Сетевые протоколы.
- Удалённые программные интерфейсы (Remote API).
- API, за которыми скрывается что угодно.
Модуль 2.2. Проектирование сценариев
- Моделирование поведения пользователей.
- Что считать – пользователей или запросы?
- Задержки между запросами.
- Управление логикой сценария.
- Как правильно делать login и logout.
- Создание сценариев из переиспользуемых модулей.
Модуль 2.3. Работа с данными в JMeter
- Глобальные параметры (адрес тестового стенда и т.п.)
- Автоподстановка параметров во время записи сценариев.
- Генерация случайных данных.
- Чтение данных из внешних файлов.
Модуль 2.4. Корреляция данных в JMeter
- Выявление данных, требующих корреляции.
- Экстракторы: регулярные выражения, XPath, CSS Selectors.
Модуль 2.5. Проверки (assertions)
- Функциональные проверки
- Контроль времени отклика
- Таймауты
Занятие 3. Нагрузка
Модуль 3.1. Требования к производительности
- Требования к скорости.
- Требования к надёжности.
- Требования к ресурсоёмкости.
- Требования к окружению.
- Динамические и статические требования.
- Средние значения и аномалии.
Модуль 3.2. Цели тестирования и профили нагрузки
- Анализ требований и определение целей тестирования
- Что такое модель нагрузки и как она соотносится с целями тестирования.
- Типовые модели нагрузки: на обнаружение какого рода проблем они нацелены.
Модуль 3.3. Реализация типовых моделей нагрузки в JMeter
- Постоянная нагрузка
- Возрастающая нагрузка
- Пиковые нагрузки
Модуль 3.4. Выполнение тестов
- Калибровка сценариев.
- Функциональное тестирование в параллельном режиме.
- Стабилизация показателей и определение базы (baseline).
- Запуск с различными вариациями.
- Что делать во то время, пока выполняются тесты?
Модуль 3.5. Тестирование клиентской производительности
- Встроенные в браузеры средств.
- Облачные сервисы.
Занятие 4. Анализ результатов
Модуль 4.1. Подготовка тестового стенда
- Сервера.
- Сеть.
- Виртуальные машины.
- Настройки.
- Фоновая загрузка.
- Генераторы нагрузки.
Модуль 4.2. Сбор данных
- Время отклика, пропускная способность, количество отказов.
- Мониторинг тестируемой системы.
Модуль 4.3. Распределённое тестирование
- Генерация нагрузки из нескольких источников.
- Сбор данных в распределённой среде.
Модуль 4.4. Анализ результатов и построение отчётов
- Встроенные в инструменты средства анализа результатов.
- Специализированные пакеты для статистических расчётов.
Модуль 4.5. Построение отчётов
- Как должен выглядеть «понятный» отчёт.
- Интерпретация и представление результатов.
- Связывание результатов с целями тестирования и требованиями.
Формат
4 занятия (6 часов теории) + много практических заданий для самостоятельной работы + постоянные консультации тренера в чате.
Раз в неделю по пятницам до 12.00 по Московскому времени выкладываются теоретические лекции, ссылки на дополнительные материалы, домашняя работа.
Теоретическую информацию можно посмотреть в любое удобное время.
Помимо теоретической части, вас также ждут практические задания для самостоятельной работы, которые вы можете прислать тренеру на проверку. После проверки практических заданий Вы получаете подробный комментарий по своей работе и при необходимости советы по доработке. По результатам комментариев тренера Вы можете переделать работу и отправить ее тренеру еще раз.
Общение участников курса и тренера проходит и в чате группы, где можно задавать вопросы тренеру и при желании общаться с другими участниками группы. Вы можете задавать вопросы по теоретическому материалу или практическим работам, как только они у вас возникают.
Все выпускники, успешно сдавшие домашние задания, получают сертификат.
Материалы курса доступны в течение года с даты окончания.
Условия
Стоимость участия для физических лиц в тренинге: 9 500 рублей.
Стоимость участия для юридических лиц: 12 500 рублей за весь курс за одного участника. При регистрации от 3-х участников на один курс действует 15% скидка.
Организатор тренинга: ИП Баранцев Алексей Владимирович, ИНН 501208546235, ОГРНИП 309501211900065
Информация для физических лиц:
Услуги оказываются на основании публичного договора оферты. Ознакомиться с договором можно ЗДЕСЬ.
Если Вы хотите оплатить тренинг прямо сейчас, то нажмите кнопку выше для перехода в наш магазин и оформите покупку (если кнопка активна, значит можно оплачивать не беспокоясь о наличии мест). После оплаты мы пришлем письмо о регистрации на курс и подтверждение оплаты. Если Вы не получили письмо в течение рабочего дня, просто отправьте сообщение на trainings@software-testing.ru
Если Вы хотите совершить оплату позже, для гарантированного участия обязательно забронируйте место на тренинге, для этого необходимо нажать на кнопку ЗАПИСАТЬСЯ справа от тренинга и заполнить все необходимые поля.
Если у Вас есть какие-то вопросы, их можно задать по указанному выше адресу.
По ссылке Вы можете ознакомиться с информацией о способах оплаты: http://software-testing.ru/buy/sposoby-oplaty
Информация для юридических лиц:
Для регистрации на тренинг и оформления договора и выставления счета на оплату нажмите кнопку Записаться, выберите пункт Организация и заполните все поля.
Обратите внимание, что при постоплате стоимость тренинга увеличивается на 25%.
В случае возникновения вопросов обращайтесь по адресу trainings@software-testing.ru.
Отзывы
Сауткина Варвара Александровна, ИРТех, Специалист отдела тестирования
Тренер знает материал лекций, видно что «не бубнит по бумажке», а действительно разбирается в том, о чем рассказывает. Отличный голос и дикция.
Тренер максимально подробно отвечал на вопросы (даже на те, на которые уже отвечал в лекциях и на консультациях).
Тема слишком обширна, чтобы охватить ее в 4 лекциях, но то, что было проделано тренером, действительно здорово. Лекции представлены очень интересно. Все вопросы решались четко и достаточно быстро. Курс действительно полезный.
Анонимно
Чувствуется, что тренер полностью владеет материалом. Урок происходит насыщенно. За полтора часа информации получаешь столько, что потом хватает на неделю размышлений. Очень важно, чтобы слушатель получал информацию в качественном сопровождении. Важно слышать ровный приятный голос. На счет этого пункта – стопроцентный зачет. Отдельное спасибо за проявленное терпение и понимание к глупым вопросам в скайпе.
Материала для меня было достаточно, еще осталось масса моментов для раздумий.
Это мой первый онлайн-тренинг. Ни разу не пожалела, что приняла в нем участие. Заниматься можно в любое свободное время, а не навязанное расписанием. Если что-то непонятно: вернуться и прослушать еще. После прослушивания курса приятно радует чувство, что в голове все было расставлено по полочкам. Ты четко видишь структуру приложения и понимаешь сам процесс нагрузочного тестирования. Я получила хороший толчок и это несомненно отобразится на моем профессиональном росте. Конечно было бы лучше перед прохождением курса иметь представление об инструменте. Я была абсолютно «сырым» человеком. Тяжело не было, хотя я понимаю, что если бы я была более продвинутым юзером, то могла бы задавать более осмысленные вопросы и более творчески подходить к выполнению домашнего задания. Огромным плюсом является, что консультации у меня останутся. Я распечатаю себе конспект для лучшей ориентации и буду возвращаться к нужным моментам.
Свое приложение протестировать не получилось из-за настроек со стороны заказчика и в середине проекта из-за большой занятости техлиды не смогли уделить этому вопросу должное внимание. Благо, что проекты небольшие, и на следующем проекте я постараюсь выяснить проблемы с авторизацией с самого начала.
С уверенностью могу сказать, что я буду продолжать онлайн обучение на следующих курсах.
Шарафетдинов Дамир , ООО «Старт2Ком», Инженер-технолог отдела тестирования
Имея до тренинга небольшой опыт работы с Jmeter, систематизировал свои знания, узнал много нового. Понравился формат тренинга, не всегда есть возможность участвовать в вебинарах в рабочее время, интересные домашние задания, для выполнения которых волей-неволей приходится заполнять пробелы в знаниях по администрированию операционок и web-сервисов. Тренинг полезен как только начинающим заниматься нагрузочным тестированием, так и тем, кто уже знаком с этим видом тестирования и с инструментом JMeter.
Кашлач Дмитрий Сергеевич, Blazemeter LTD, QA Engineer, freelancer
Компетентность Алексея не подвергается сомнению. Виден многолетний опыт и глубокая проработка темы. Очень хотелось бы конструктивно покритиковать – но не получается, всё чисто.
Поддержка в форуме хорошая, на все вопросы получены ответы. Консультация – всё хорошо. С организацией тренинга тоже. Для первого тренинга по тестированию производительности всё очень на уровне. Легко воспринималось, «продираться» к сути не приходилось.
Обязательно поучаствую в других тренингах, когда понадобится.
Анонимно
Отличный формат. Очень удобен в ситуации, когда нет времени или возможности для очных занятий. Мне было особенно важно иметь возможность просмотра материала в свободное время, а не во время его трансляции, т.к. сложно совмещать с работой.
Я рада, что решилась пройти этот курс. Сначала у меня были сомнения, но они рассеялись после первого семинара, на котором я узнала много нового. Надо сказать, что в тестировании производительности я новичок, поэтому курс для меня был очень полезен, заставил изучить многие технические вопросы, прежде чем мне удалось выполнить домашние задания. Жаль, что активность участников тренинга в форуме и секциях вопрос-ответ была низкой – все вопросы, как обычно, появятся при практическом применении. В будущем я планирую принять участие еще в нескольких тренингах Алексея. Спасибо Алексею за возможность такого обучения.
Ближайшие онлайн
-
Программирование на C# для тестировщиков
Начало: 22 ноября 2024
-
Логи как инструмент тестировщика
Начало: 25 ноября 2024
-
Погружение в тестирование. Jedi point
Начало: 25 ноября 2024
-
Школа Тест-Аналитика
Начало: 27 ноября 2024
-
Bash: инструменты тестировщика
Начало: 28 ноября 2024
-
Chrome DevTools: Инструменты тестировщика
Начало: 28 ноября 2024
-
Docker: инструменты тестировщика
Начало: 28 ноября 2024
-
Git: инструменты тестировщика
Начало: 28 ноября 2024
-
Python для начинающих
Начало: 28 ноября 2024
-
SQL: Инструменты тестировщика
Начало: 28 ноября 2024
-
Азбука IT
Начало: 28 ноября 2024
-
Тестирование GraphQL API
Начало: 28 ноября 2024
-
Школа для начинающих тестировщиков
Начало: 28 ноября 2024
-
Selenium IDE 3: стартовый уровень
Начало: 29 ноября 2024
-
Программирование на Python для тестировщиков
Начало: 29 ноября 2024
-
Тестирование REST API
Начало: 2 декабря 2024
-
Тестировщик ПО: интенсивный курс со стажировкой (ПОИНТ)
Начало: 3 декабря 2024
-
Инженер по тестированию программного обеспечения
Начало: 5 декабря 2024
-
Selenium WebDriver: полное руководство
Начало: 6 декабря 2024
-
Аудит и оптимизация QA-процессов
Начало: 6 декабря 2024