Открыто

Тестирование производительности: JMeter 5 [software-testing.ru] [Алексей Баранцев]

Тема в разделе "Курсы по программированию", создана пользователем Вайфат, 4 июн 2020.

Основной список: 10 участников

Резервный список: 18 участников

  1. 4 июн 2020
    #1
    Вайфат
    Вайфат ДолжникДолжник

    Складчина: Тестирование производительности: JMeter 5 [software-testing.ru] [Алексей Баранцев]

    Курс даст возможность попрактиковаться в использовании инструментов для мониторинга характеристик производительности и генерации нагрузки для веб-приложений.

    Материал курса адаптирован к версии JMeter 5.

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

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

    На тренинге мы будем учиться обращаться с этим оружием:

    • познакомимся с инструментами, предназначенными для генерации нагрузки и для мониторинга различных характеристик производительности,
    • освоим способы использования этих инструментов для генерации нагрузки различного вида,
    • изучим типовые архитектурные шаблоны построения приложений и связанные с этим источники потенциальных проблем с производительностью,
    • рассмотрим способы выявления проблем с производительностью на основе анализа результатов мониторинга.
    Для практических демонстраций и для выполнения домашних заданий будет использоваться инструмент 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. Построение отчётов

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

    Скрытая ссылка
     
    Последнее редактирование модератором: 7 июн 2020
    2 пользователям это понравилось.
  2. Последние события

    1. American Dream
      American Dream не участвует.
      1 фев 2026
    2. zvezdapolei
      zvezdapolei не участвует.
      30 янв 2026
    3. y4ki4
      y4ki4 участвует.
      21 дек 2025
    4. Kuzma Petrovich
      Kuzma Petrovich не участвует.
      30 апр 2025

    Последние важные события

    1. skladchik.com
      Нужен организатор складчины.
      9 июн 2020
    2. skladchik.com
      Назначен организатор.
      7 июн 2020
  3. Обсуждение
  4. 8 июн 2020
    #2
    Организатор
    Организатор ОргОрганизатор
    Начало: 26 июня 2020
    Надо бы активироваться....
     
  5. 28 июл 2020
    #3
    starclyde
    starclyde ЧКЧлен клуба
    Что там со стартом... Покупать будем ?
     
  6. 29 июл 2020
    #4
    Авксентий
    Авксентий ОргОрганизатор
    А вы тут видите орга? :cool:
     
  7. 27 авг 2020
    #5
    raconocar
    raconocar СкладчикСкладчик
    Будет движ? или как?
     
  8. 19 июл 2021
    #6
    sdvden
    sdvden ЧКЧлен клуба
    Давайте уже активироваться..
     
  9. 20 июл 2021
    #7
    Авксентий
    Авксентий ОргОрганизатор
    А вы это кому говорите? ) Орга нет. Рекламировать складчину что-то тоже никто не торопится (включая вас). ;)
     
  10. 20 июл 2021
    #8
    sdvden
    sdvden ЧКЧлен клуба
    Без огра туго(
    А рекламу сделал)
     
  11. 21 июл 2021
    #9
    Nikiro
    Nikiro ЧКЧлен клуба
    Этот материал есть за 2017г в свободном доступе , рекламировать не буду ресурс но есть.
     
  12. 19 авг 2021
    #10
    axle1985
    axle1985 ЧКЧлен клуба
    это обновленная версия курса, с 5 JMeter