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

Тренинг сайт события http://software-testing.ru/trainings/schedule?&task=3&cid=19

Добавить в календарь:
Поделиться:

"Младших тестировщиков производительности" не бывает. Зато бывают люди, которые начинают заниматься тестированием производительности.

(с) Скотт Барбер (aka The Perf Guy)

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

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

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

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

Для практических демонстраций и для выполнения домашних заданий будет использоваться инструмент JMeter.


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

Первое занятие: обзор

1. Введение в тестирование производительности -- зачем мы его проводим и какие ошибки мы можем обнаружить

2. Базовые составляющие проектирования тестов: сценарии и профиль нагрузки

3. Базовые составляющие выполнения тестов: создание нагрузки и сбор данных

4. Базовые составляющие анализа результатов: средние значения и аномалии

5. Краткий обзор инструментов генерации нагрузки

  • онлайновые генераторы, демонстрация LoadImpact
  • инструменты с декларативным стилем описания сценариев, демонстрация JMeter
  • инструменты с императивным стилем описания сценариев, демонстрация Multi-Mechanize

6. Создание простого генератора нагрузки: запись действий пользователя и воспроизведение записанного сценария в несколько потоков

  • демонстрация записи и воспроизведения

7. Отладка сценария: как понять, что там происходит на самом деле

  • анализ результатов в Tree View

8. Сбор основных метрик: время отклика, пропускная способность, количество отказов

Второе занятие: сценарии и профили нагрузки

1. Требования к производительности систем, анализ требований и определение целей тестирования

2. Что такое модель нагрузки и как она соотносится с целями тестирования

3. Типовые модели нагрузки -- на обнаружение какого рода проблем они нацелены

  • реализация типовых моделей нагрузки в JMeter

4. Тестовые данные и параметризация сценариев

  • глобальные параметры и уникальные данные для каждого виртуального пользователя
  • загрузка данных из файла
  • динамическая генерация данных

5. Корреляция запросов в рамках сценария

  • различные способы извлечения данных из результата запроса

Третье занятие: сбор данных и анализ результатов

1. Сбор основных метрик: время отклика, пропускная способность, количество отказов

  • просмотр в JMeter в режиме реального времени
  • сброс данных в файл и загрузка из файла

2. Архитектура распределённых систем и источники проблем с производительностью

3. Сбор данных о производительности операционной системы, сервера приложений, СУБД

4. Ложно-положительные и ложно-отрицательные результаты

5. Распределённое тестирование

  • генерация нагрузки из нескольких источников
  • сбор данных в распределённой среде

6. Использование Excel для анализа результатов

7. Выявление аномалий (отклонений от нормы)

Четвертое занятие: усложнение сценариев

1. Задержки между запросами

2. Верификация результатов запросов

3. Управление потоком выполнения сценария

  • условные действия
  • циклы
  • случайный порядок выполнения действий
  • как правильно делать login и logout

4. Создание сценариев из переиспользуемых модулей

5. Различные протоколы взаимодействия с тестируемой системой


Формат курса

Онлайн-тренинг продолжительностью 4 занятия по 1,5 часа с еженедельными онлайн-консультациями и практическими домашними заданиями.

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

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

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

Первая консультация будет 4 февраля. И дальше точные даты консультаций 4, 11, 18, 25 февраля с 17-00 до 17-30 по московскому времени.

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

Комментарии (0):

Оставлять комментарии могут только зарегистрированные пользователи

Для получения embed кода необходимо кликнуть правой
кнопкой мыши на видео и выбрать пункт меню
'Сгенерировать HTML код'

Забыли пароль? Регистрация