- Тренинг
"Младших тестировщиков производительности" не бывает. Зато бывают люди, которые начинают заниматься тестированием производительности.
(с) Скотт Барбер (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 часа с еженедельными онлайн-консультациями и практическими домашними заданиями.
Каждый понедельник (по многочисленным просьбам даже накануне в пятницу) в систему дистанционного обучения будет выкладываться запись очередного урока курса.
Все вопросы после прослушивания записи можно будет задать в специальном закрытом форуме или скайп-чате. Тренер будет оперативно отвечать на них.
Кроме того, каждую среду с 14.00 до 14.30 тренер будет ждать в скайпе и в системе GoToWebinar вопросы участников курса, которым необходима помощь в выполнении домашнего задания.
Первая консультация будет 5 декабря. И дальше точные даты консультаций 5, 12, 19, 26 декабря с 14-00 до 14-30 по московскому времени.
Каждый участник курса будет получать обратную связь от тренера по результатам выполнения домашнего задания. Наиболее типичные ошибки будут разбираться на консультациях и в закрытом форуме.
Технические требования
Онлайн-курсы организуются с использованием системы GoToWebinar.
С системными требованиями можно ознакомиться здесь: http://www.gotomeeting.com/fec/webinar/webinar_support (раздел "System Requirements & Purchasing", ответ на вопрос "What are the system requirements for running GoToMeeting, GoToWebinar or GoToTraining?"). Ничего устанавливать или платить участникам за эту систему не нужно. Вам просто нужно будет подключиться по ссылке, которую вышлют организаторы.
Необходимы наушники или другая акустическая система, чтобы слушать ведущего. Микрофон не требуется, участники задают вопросы письменно.
В случае возможных технических сбоев с ведущим можно будет связаться через систему Skype.
Условия участия
Дата начала: курс начнется 3 декабря (не позже 3 декабря будет выложена первая запись) и будет проходить до 26 декабря. Первая консультация будет 5 декабря. И дальше точные даты консультаций 5, 12, 19, 26 декабря с 14-00 до 14-30 по московскому времени.
Стоимость участия в тренинге – 4 300 рублей.
Количество мест ограничено, перед оплатой квитанции или оформлением договора обязательно зарегистрируйтесь.
Для того, чтобы зарегистрироваться необходимо отправить письмо с указанием названия тренинга и ФИО на адрес trainings@software-testing.ru
В онлайн-курсах, где предусмотрено домашнее задания, при его успешном выполнении выдается сертификат об окончании курса.
Информация для физических лиц
Услуги оказываются на основании публичного договора оферты. Ознакомиться с договором можно ЗДЕСЬ.
Оплата через банк
Скачать квитанцию для оплаты можно ЗДЕСЬ (квитанция универсальная на все наши семинары и тренинги, в неё необходимо вписать нужную сумму и в графе наименование платежа указать дату и название тренинга).
Оплата через интернет банкинг
Оплатить участие можно, используя возможности вашего интернет банкинга. Для оплаты Вам понадобятся следующие реквизиты:
ИП Баранцев Алексей Владимирович
ИНН 501208546235
Банковские реквизиты:
Р/с 40802810810120359601
в ОАО «Промсвязьбанк», г.Москва
К/с 30101810400000000555
БИК 044525555
Назначение платежа: Предоплата за участие в тренинге "XXX", без НДС согласно ст. 346.11, п.3, части II Налогового Кодекса РФ
Оплата через Робокассу
Также существует возможность оплатить участие в тренинге через сервис «Робокасса».
Благодаря этому сервису, Вы можете произвести оплату различными способами:
- в любой электронной валюте (Webmoney, Яндекс.Деньги, RBK Money и др.)
- с помощью sms-сообщений
- через систему денежных переводов Contact
- через терминалы мгновенной оплаты (QIWI, Элекснет, Compay и др)
- с помощью банковских карт (VISA и MasterCard)
При регистрации укажите, что Вам удобен этот способ оплаты и мы вышлем подробные инструкции.
Информация для юридических лиц:
По вопросам оформления договора и выставления счета на оплату обращайтесь по адресу trainings@software-testing.ru
Возможна оплата участия на условиях публичного договора оферты. Ознакомиться с договором можно ЗДЕСЬ. По вопросам выставления счета на оплату обращайтесь по адресу trainings@software-testing.ru