Agile методологии заставили инженеров всерьез задуматься о качестве выпускаемого продукта. Главной причиной этому есть сжатые сроки и требование к непрерывной поставке рабочей версии системы. Тактика водопада или мини-водопадов перестала давать требуемой эффективности. Ведь чем дольше мы разрабатываем и тестируем систему, тем больше риски, что этот продукт уже никому не будет нужен. В такой динамичной среде следует всерьез задуматься о тестировании.
Классическое тестирование в динамичной среде работает с минимальной эффективность и пора искать новые подходы, которые смогут повысить результативность команды и при этом выпускать продукт требуемого качества в срок. Многие, кто говорит об Agile разработке, пропускают тестирование или говорят о том, что нужно использовать автоматизацию и заставлять разработчиков писать автотесты. Это правда, но лишь отчасти. Инженер по тестированию в Agile команде может принести много пользы, но это требует определенной подготовки и навыков. Использование старых артефактов и подходов к тестированию может погубить проект или превратить его в бюрократическую машину, что приведет к старой модели мини-водопадов. Так же не стоит забывать, что Quality Assurance — это ответственность всей команды, а не отдельно-взятого человека.
Многие говорят, что Testing Is Dead, но мы с этим не согласны и считаем, что это очередной маркетинговый ход. Тестирование не умерло, оно эволюционировало в новую форму, информацию о которой мы и хотим вам донести на тренинге.
День 1
Модуль 1
● Основы Agile Software Development
● Agile Manifesto
● Agile Principles
● Основные заблуждение в Agile философии
● Альтернативные Manifesto
● www.halfarsedagilemanifesto.org
● www.waterfallmanifesto.org
● programming-motherfucker.com
● manifesto.softwarecraftsmanship.org
Модуль 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 командах
● Подведение итогов первого дня
● Советы и рекомендации тренера
День 2
Модуль 7
● 10 принципов Agile тестировщика
● Одна итерация в жизни Scrum тестировщика
● Enterprise Scrum и проблемы с тестированием зависимостей
● Обязательные митинги для тестировщиков
● Варианты синхронизации с членами команды
● Рекомендуемые документы для работы
● Частые проблемы организации процесса тестирования в больших командах
Модуль 8
● Цель от бизнеса: делать поставку чаще
● Правила методологии Kanban
● Что ждет тестировщиков в еще более динамичном процессе?
● Больше дисциплины, культуры разработки и автоматизации в команде
● Определение частых застоев (bottlenecks) в процессе разработки
● Как избежать и решить застои?
● Как работать с WIP ограничениями?
Модуль 9
● Практика: Имитация процесса разработки в динамической среде
● Практика: Серия Debrief митингов
● Практика: Подготовка отчета о тестовой сессии
Модуль 10
● Процесс учета задач и конфигурация специализируемых систем
● Документация или как не превратиться в бардак или бюрократизированную машину?
● Как переходить к Agile разработке?
● Стоит ли переходить на Agile разработку?
● Agile анархисты и их истории
● Частые проблемы, с которыми может столкнуться тестировщик в новой среде
● Подведение итогов второго дня
● Рекомендации и советы тренера
Детали и регистрация: xpinjection.com/trainings/agile-testing
Немає коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарів