Наши контакты

trainings@software-testing.ru
+7 (916) 025-48-95

Ближайшие онлайн

Ближайшие очные

Меню сайта

Календарь событий

«   May_NOM 2012   »
ПВСЧПСВ
 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
   

полное расписание ...

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

Дата начала ближайшего тренинга

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

"Младших тестировщиков производительности" не бывает. Зато бывают люди, которые начинают заниматься тестированием производительности.
(с) Скотт Барбер (aka The Perf Guy)

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

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

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

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

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

Данный тренинг существует в двух вариантах: для Web-приложений и для JMS приложений.

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

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

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. Различные протоколы взаимодействия с тестируемой системой

Формат курса

Онлайн-тренинг с практическими домашними заданиями.

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

Между занятиями в любой момент можно задать вопрос тренеру в форуме.

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

Технические требования

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

С системными требованиями можно ознакомиться здесь: http://www.gotomeeting.com/fec/webinar/webinar_support (раздел "System Requirements & Purchasing", ответ на вопрос "What are the system requirements for running GoToMeeting, GoToWebinar or GoToTraining?"). Ничего устанавливать или платить участникам за эту систему не нужно. Вам просто нужно будет подключиться по ссылке, которую вышлют организаторы.

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

В случае возможных технических сбоев с ведущим можно будет связаться через систему Skype.

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