четверг, января 14, 2010

Тестирование производительности: новый онлайн-тренинг с домашними заданиями

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


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

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

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

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

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

Однако это только первый этап. В тестировании производительности не только высокий входной порог, достаточно трудно забраться и на вторую ступеньку.

Во второй части тренинга, предназначенной для тех, кто уже овладел простыми приёмами тестирования производительности, мы рассмотрим более глубоко девять основных принципов тестирования производительности, выделенных Скоттом Барбером:

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

Формат курса

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

Каждая ступень состоит из трех занятий.

Онлайн-занятия состоятся каждый четверг с 15-00 до 16-30.

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

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

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

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

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

Для участия требуется браузер c установленным плагином Adobe Flash и достаточно быстрое Интернет-соединение. Проверить пропускную способность своего соединения можно здесь: http://www.dimdim.com/support/dimdim_tools.html (слева инструмент Bandwidth Checker).

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

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

Условия участия

воскресенье, января 10, 2010

5 февраля, Москва, открытый тренинг "Тест-дизайн от А до Я"

5 февраля в Москве я проведу открытый очный однодневный тренинг "Тест-дизайн от А до Я".

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

Программа тренинга:
1. Построение карты функций приложения и проектирование тестов по этой карте.
2. Разделение областей данных на поддомены (классы эквивалентности), эвристики выбора представителей.
3. Способы проектирования тестов для цепочек функций.
4. Проектирование тестов на основе вариантов использования.
5. Проектирование тестов на основе гипотез об ошибках.
6. Подход к тестированию, основанный на анализе рисков.
7. Комбинирование различных эвристик.
8*. Особенности проектирования тестов для регрессионного тестирования.
9*. Особенности проектирования тестов для автоматизации их выполнения.
10*. Особенности проектирования тестов различных уровней (модульные, интеграционные, системные).

Место проведения: Москва
Дата: 5 февраля
Время тренинга: 10:00 - 18:00

Об условиях участия можно узнать здесь.

Буду рад видеть Вас среди участников!!!