Выбери свой курс обучения

Тестирование производительности (JMeter)

Тренинг от учебного заведения «Software-Testing.RU» (Москва) по направлению (Профессиональная деятельность >
Информационные технологии >
Программирование)

Авторы: Баранцев Алексей

Продолжительность обучения: 6 часов

В тестировании компьютерных программ есть "общедоступная" область функционального тестирования, куда доступ открыт всем желающим, и есть целый ряд областей с достаточно высоким "порогом входа", и тестирование производительности находится в их числе. Для этого вида тестирования требуется хорошее владение оружием, его голыми руками не возьмёшь. Во-первых, нужно само оружие -- тестирование производительности обязательно требует умения пользоваться специальными инструментами. Во-вторых, нужно тщательно изучить соперника -- необходимо хорошее понимание протоколов взаимодействия тестируемой программы с внешним миром и её внутренней физической и логической архитектуры. Ну и конечно же нужно владеть приёмами -- знать какую нагрузку и как подать на тестируемое приложение, и на что смотреть, чтобы выявить проблемы с производительностью. На тренинге мы будем учиться обращаться с этим оружием: познакомимся с инструментами, предназначенными для генерации нагрузки и для мониторинга различных характеристик производительности, освоим способы использования этих инструментов для генерации нагрузки различного вида, изучим типовые архитектурные шаблоны построения приложений и связанные с этим источники потенциальных проблем с производительностью, рассмотрим способы выявления проблем с производительностью на основе анализа результатов мониторинга.
Взрослые-средний уровень
Итоговые оценки
Оценки пока отсутствуют
Цена (руб.):
Вариант обучения Описание Цена Опция
Дистанционное онлайн-тренинг 6500/курс

Подробное описание обучения по курсу (программе обучения)

Подробная программа курса:

Занятие 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. Построение отчётов

  • Как должен выглядеть «понятный» отчёт.
  • Интерпретация и представление результатов.
  • Связывание результатов с целями тестирования и требованиями.

Описание системы обучения по курсу

Раз в неделю по пятницам до 12.00 по Московскому времени  с 13 апреля выкладываются теоретические лекции, ссылки на дополнительные материалы, домашняя работа.

Обучение происходит следующим образом:

Теоретическую информацию можно посмотреть в любое удобное время.

Помимо теоретической части, вас также ждут практические домашние задания, которые тщательно проверяются тренером. После проверки практических заданий Вы получаете оценку и подробный комментарий по своей работе и при необходимости советы по доработке. По результатам комментариев тренера Вы можете переделать домашнюю работу и улучшить свою оценку.

Общение участников курса и тренеров проходит и в чате учебной группы, где можно задавать вопросы тренеру и при желании общаться с другими участниками учебной группы. Каждый день тренер будет доступен в чате и каждый день будет отвечать на вопросы, Вы можете задавать вопросы по теоретическому материалу или домашней работе, как только они у вас возникают.

Все выпускники, успешно сдавшие домашние задания, получают сертификат.

Для добавления отзыва зарегистрируйтесь
Отзывов пока нет