«Младших тестировщиков производительности» не бывает. Зато бывают люди, которые начинают заниматься тестированием производительности. (с) Скотт Барбер (aka The Perf Guy)
В тестировании компьютерных программ есть «общедоступная» область функционального тестирования, куда доступ открыт всем желающим, и есть целый ряд областей с достаточно высоким «порогом входа», и тестирование производительности находится в их числе.
Для этого вида тестирования требуется хорошее владение оружием, его голыми руками не возьмёшь. Во-первых, нужно само оружие — тестирование производительности обязательно требует умения пользоваться специальными инструментами. Во-вторых, нужно тщательно изучить соперника — необходимо хорошее понимание протоколов взаимодействия тестируемой программы с внешним миром и её внутренней физической и логической архитектуры. Ну и конечно же нужно владеть приёмами — знать какую нагрузку и как подать на тестируемое приложение, и на что смотреть, чтобы выявить проблемы с производительностью.
18 февраля начнется новый онлайн-тренинг, продолжительностью 6 занятий «Тестирование производительности», автор и ведущий Алексей Баранцев.
На тренинге мы будем учиться обращаться с этим оружием:
Во второй части тренинга, предназначенной для тех, кто уже овладел простыми приёмами тестирования производительности, мы рассмотрим более глубоко девять основных принципов тестирования производительности, выделенных Скоттом Барбером:
Первое занятие
1. Введение в тестирование производительности — зачем мы его проводим и какие ошибки мы можем обнаружить.
2. Три базовые составляющие: создание нагрузки, сбор метрик, анализ результатов.
3. Краткий обзор инструментов генерации нагрузки. Более близкое знакомство с инструментом JMeter.
4. Создание простого генератора нагрузки — запись действий пользователя и воспроизведение записанного сценария в несколько потоков.
5. Отладка сценария — как понять, что там происходит на самом деле.
6. Сбор основных метрик — время отклика, пропускная способность, количество отказов.
7. Анализ собранных результатов, подготовка отчёта.
Второе занятие
1. Снова о главном — зачем мы проводим тестирование производительности и какие ошибки мы можем обнаружить.
2. Требования к производительности систем. Анализ требований и определение целей тестирования.
3. Что такое модель нагрузки и как она соотносится с целями тестирования.
4. Перевод целей в практическую плоскость — проектирование тестовых сценариев и их компоновка в соответствии с моделью нагрузки.
5. Тестовые данные, параметризация и корреляция тестовых сценариев.
6. Дополнительные элементы сценария — задержки между запросами, верификация ответов.
7. Дополнительные метрики — сбор данных о производительности операционной системы, сервера приложений, СУБД.
Третье занятие
1. И ещё раз о главном — зачем мы проводим тестирование производительности и какие ошибки мы можем обнаружить.
2. Немного об архитектуре распределённых систем и об источниках проблем с производительностью.
3. Ложно-положительные и ложно-отрицательные результаты, возможные причины их возникновения.
4. Типовые модели нагрузки — на обнаружение какого рода проблем они нацелены.
5. Сложные тестовые сценарии, различные протоколы взаимодействия с тестируемой системой.
6. Распределённое тестирование, генерация нагрузки из нескольких источников, сбор метрик в распределённой среде.
7. Интерпретация результатов — какие здесь подстерегают проблемы и как их избежать.
Онлайн-тренинг, состоящий из двух ступеней разной сложности, с еженедельными онлайн-занятиями и практическими домашними заданиями.
Каждая ступень состоит из трех занятий.
Онлайн-занятия состоятся каждый четверг с 15-00 до 16-30.
Каждый участник курса будет получать обратную связь от тренера по результатам выполнения домашнего задания. Наиболее типичные ошибки будут разбираться на онлайн-занятиях.
Между занятиями в любой момент можно задать вопрос тренеру в форуме.
В случае, если Вы пропустите какое-либо занятие, Вы получите его запись и домашнее задание.
Занятия первой ступени будут проходить 18 февраля, 25 февраля, 4 марта.
Занятия второй ступени будут проходить 8, 15, 22 апреля
Стоимость участия в одной ступени – 2500 рублей, в двух 4000 рублей.
Условия регистрации
В тестировании компьютерных программ есть «общедоступная» область функционального тестирования, куда доступ открыт всем желающим, и есть целый ряд областей с достаточно высоким «порогом входа», и тестирование производительности находится в их числе.
Для этого вида тестирования требуется хорошее владение оружием, его голыми руками не возьмёшь. Во-первых, нужно само оружие — тестирование производительности обязательно требует умения пользоваться специальными инструментами. Во-вторых, нужно тщательно изучить соперника — необходимо хорошее понимание протоколов взаимодействия тестируемой программы с внешним миром и её внутренней физической и логической архитектуры. Ну и конечно же нужно владеть приёмами — знать какую нагрузку и как подать на тестируемое приложение, и на что смотреть, чтобы выявить проблемы с производительностью.
18 февраля начнется новый онлайн-тренинг, продолжительностью 6 занятий «Тестирование производительности», автор и ведущий Алексей Баранцев.
На тренинге мы будем учиться обращаться с этим оружием:
- познакомимся с инструментами, предназначенными для генерации нагрузки и для мониторинга различных характеристик производительности,
- освоим способы использования этих инструментов для генерации нагрузки различного вида,
- изучим типовые архитектурные шаблоны построения приложений и связанные с этим источники потенциальных проблем с производительностью,
- рассмотрим способы выявления проблем с производительностью на основе анализа результатов мониторинга.
Во второй части тренинга, предназначенной для тех, кто уже овладел простыми приёмами тестирования производительности, мы рассмотрим более глубоко девять основных принципов тестирования производительности, выделенных Скоттом Барбером:
- Контекст — внешний контекст проекта, в рамках которого выполняется тестирование производительности,
- Критерии — что можно рассматривать как успешный результат с точки зрения пользователей, бизнеса, проекта, системы,
- Планирование и проектирование тестов — какие тесты нужны, как их можно сделать и сколько это потребует времени и ресурсов,
- Настройка — подготовка тестового стенда, а также инструментов для генерации нагрузки и мониторинга,
- Реализация тестов — разработка тестов в соответствии с ранее задуманным планом,
- Исполнение — запуск тестов, мониторинг и сбор данных о характеристиках производительности системы,
- Анализ результатов — оценка качества и достоверности собранных данных и выявление проблем с производительностью,
- Консолидация результатов — обработка данных для более удобного представления,
- Итеративный подход — повторение тестирования на разных этапах или с разными вариациями.
Подробная программа курса:
Первое занятие
1. Введение в тестирование производительности — зачем мы его проводим и какие ошибки мы можем обнаружить.
2. Три базовые составляющие: создание нагрузки, сбор метрик, анализ результатов.
3. Краткий обзор инструментов генерации нагрузки. Более близкое знакомство с инструментом JMeter.
4. Создание простого генератора нагрузки — запись действий пользователя и воспроизведение записанного сценария в несколько потоков.
5. Отладка сценария — как понять, что там происходит на самом деле.
6. Сбор основных метрик — время отклика, пропускная способность, количество отказов.
7. Анализ собранных результатов, подготовка отчёта.
Второе занятие
1. Снова о главном — зачем мы проводим тестирование производительности и какие ошибки мы можем обнаружить.
2. Требования к производительности систем. Анализ требований и определение целей тестирования.
3. Что такое модель нагрузки и как она соотносится с целями тестирования.
4. Перевод целей в практическую плоскость — проектирование тестовых сценариев и их компоновка в соответствии с моделью нагрузки.
5. Тестовые данные, параметризация и корреляция тестовых сценариев.
6. Дополнительные элементы сценария — задержки между запросами, верификация ответов.
7. Дополнительные метрики — сбор данных о производительности операционной системы, сервера приложений, СУБД.
Третье занятие
1. И ещё раз о главном — зачем мы проводим тестирование производительности и какие ошибки мы можем обнаружить.
2. Немного об архитектуре распределённых систем и об источниках проблем с производительностью.
3. Ложно-положительные и ложно-отрицательные результаты, возможные причины их возникновения.
4. Типовые модели нагрузки — на обнаружение какого рода проблем они нацелены.
5. Сложные тестовые сценарии, различные протоколы взаимодействия с тестируемой системой.
6. Распределённое тестирование, генерация нагрузки из нескольких источников, сбор метрик в распределённой среде.
7. Интерпретация результатов — какие здесь подстерегают проблемы и как их избежать.
Формат курса
Онлайн-тренинг, состоящий из двух ступеней разной сложности, с еженедельными онлайн-занятиями и практическими домашними заданиями.
Каждая ступень состоит из трех занятий.
Онлайн-занятия состоятся каждый четверг с 15-00 до 16-30.
Каждый участник курса будет получать обратную связь от тренера по результатам выполнения домашнего задания. Наиболее типичные ошибки будут разбираться на онлайн-занятиях.
Между занятиями в любой момент можно задать вопрос тренеру в форуме.
В случае, если Вы пропустите какое-либо занятие, Вы получите его запись и домашнее задание.
Условия участия
Занятия первой ступени будут проходить 18 февраля, 25 февраля, 4 марта.
Занятия второй ступени будут проходить 8, 15, 22 апреля
Стоимость участия в одной ступени – 2500 рублей, в двух 4000 рублей.
Условия регистрации