Andrey Dzynia

Andrey Dzynia

Spotify, Sweden

Being passionate hacking out with his first personal computer Andrii decided to start his career as software tester. Within years worked on various projects with different product complexities, from small mobile startups to large Enterprise programs. Tried himself in different roles, such as: software tester, test automator, scrum master, team leader, test consultant. As well as initiatives: speaker, trainer, conference organiser, blogger. Currently working at Spotify with focus on improving development productivity of agile teams applying engineering practices in order to minimise delivery cycle and improve product quality.

Speaker's activity

Training “Agile Testing”

October 21-22nd

9:30 - 18:30

Training

Russian

6000 hrn ($250)

Целевая аудитория

Разработчики, тестировщики, менеджеры проектов, лидеры команд.

Описание тренинга

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

Классическое тестирование в динамичной среде работает с минимальной эффективность и пора искать новые подходы, которые смогут повысить результативность команды и при этом выпускать продукт требуемого качества в срок. Многие, кто говорит об Agile разработке, пропускают тестирование или говорят о том, что нужно использовать автоматизацию и заставлять разработчиков писать автотесты. Это правда, но лишь отчасти. Инженер по тестированию в Agile команде может принести много пользы, но это требует определенной подготовки и навыков. Использование старых артефактов и подходов к тестированию может погубить проект или превратить его в бюрократическую машину, что приведет к старой модели мини-водопадов. Так же не стоит забывать, что Quality Assurance – это ответственность всей команды, а не отдельно-взятого человека.

Многие говорят, что Testing Is Dead, но мы с этим не согласны и считаем, что это очередной маркетинговый ход. Тестирование не умерло, оно эволюционировало в новую форму, информацию о которой мы и хотим вам донести на тренинге.

Детальная программа

День 1

Модуль 1

Модуль 2

  • Первые фазы проекта
    • Идея
    • Lean Canvas/Бизнес модель
  • User Stories Workshop
    • User Personas
    • Specification by Example
    • Story Mapping
    • Minimal Working Product
    • Acceptance Criteria
    • Как тестировщики могут помочь в этом процессе?

Модуль 3

  • Работа по методологии Scrum
    • Что такое Scrum?
    • Подготовка Product Backlog
    • Sprint 0
    • Sprint Backlog
  • Этап планирования
    • Что такое Story Point?
    • Planning Poker
    • Иерархия задач
    • Оценки задач со стороны тестирования
    • Почему Testability это важно и как этого добиваться?
  • Практика: Эмитация Planning Poker для оценки в Story Points
  • Что такое Acceptance Testing?
    • Приемочный сценарии
    • Gherkin синтаксис
  • Практика: Написание приемочных тестов на подготовленные User Stories
  • Стратегия тестирования продукта
    • Нужен ли тест план?
    • Что такое тестовая стратегия?
    • SFDPOT
    • Функциональная карта системы
    • Практики тест дизайна
    • Pairwise, Tractability и прочие матрицы
    • Mockups

Модуль 4

  • Автоматизация
    • Классический подход к автоматизации в виде перевернутой пирамиды
    • Тестирование по подходу правильной пирамиды
    • Непрерывная интеграция
    • Сборка и установка проекта
    • Тестовое Покрытие
    • Использование автоматизации для облегчения рутинных задач
    • Должен ли тестировщик заниматься только автоматизацией на 100%?

Модуль 5

  • Acceptance Test Driven Development
    • Взаимодействие тестировщиков, аналитиков и программистов на ранних этапах разработки
    • 3 Amigo Meetings
    • Definition Of Done
  • Что может делать тестировщик, когда тестировать нечего?
    • Тщательный анализ документации
    • Подготовка тестовых данных
  • Создание Step Definitions для автоматизации
    • Помните о ваших пользователях
    • Демонстрация написания Acceptance Test на примере Cucumber-JVM
  • Практика: Создание функциональной карты приложения
  • Демонстрация программирования регрессионных тестов
  • Тестирование
    • Что такое тестирование?
    • Что такое исследование?
    • Что такое Exploratory Testing?
  • Тестовые квадранты и их заблуждение
  • Нахождение баланса между скриптовым и ad-hoc тестированием
  • Отчетность и документация
  • Нужны ли тест менеджеры?
  • Session Based Test Management
  • Взаимодействие тестировщиков и программистов на завершающих этапах разработки
  • Командный подход к тестированию

Модуль 6

  • Еще раз о критерии готовности – Definition Of Done
  • Демо и какая роль тестировщика в нем
  • Ретроспектива и о чем должен не забывать тестировщик
  • Готовимся к релизу и кто за него должен отвечать?
  • User Acceptance Testing
  • Как лучше проводить Performance Testing?
  • Когда начинать готовиться к Load Testing?
  • Стоит ли тестировать Security?
  • Pre-production
  • Production
  • Схема работы в Scrum командах 5-9 человек
  • Подведение итогов первого дня
  • Советы и рекомендации тренера

День 2

Модуль 7

  • 10 принципов Agile тестировщика
  • Одна итерация в жизни Scrum тестировщика
  • Enterprise Scrum и проблемы с тестированием зависимостей
    • Обязательные митинги для тестировщиков
    • Варианты синхронизации с членами команды
    • Рекомендуемые документы для работы
  • Частые проблемы организации процесса тестирования в больших командах

Модуль 8

  • Цель от бизнеса: делать поставку чаще
  • Правила методологии Kanban
  • Что ждет тестировщиков в еще более динамичном процессе?
  • Больше дисциплины, культуры разработки и автоматизации в команде
  • Определение частых застоев (bottlenecks) в процессе разработки
  • Как избежать и решить застои?
  • Как работать с WIP ограничениями?

Модуль 9

  • Практика: Имитация процесса разработки в динамической среде
  • Практика: Серия Debrief митингов
  • Практика: Подготовка отчета о тестовой сессии

Модуль 10

  • Процесс учета задач и конфигурация специализируемых систем
  • Документация или как не превратиться в бардак или бюрократизированную машину?
  • Как переходить к Agile разработке?
  • Стоит ли переходить на Agile разработку?
  • Agile анархисты и их истории
  • Частые проблемы, с которыми может столкнуться тестировщик в новой среде
  • Подведение итогов второго дня
  • Рекомендации и советы тренера