30
Руководство по тестированию в Agile Асхат Уразбаев. ScrumTrek

Асхат Уразбаев, Руководство по организации тестирования в Agile

Embed Size (px)

DESCRIPTION

Асхат Уразбаев, ScrumTrek, Москва, Россия Руководство по организации тестирования в Agile

Citation preview

Page 1: Асхат Уразбаев, Руководство по организации тестирования в Agile

Руководство по тестированию в Agile

Асхат Уразбаев. ScrumTrek

Page 2: Асхат Уразбаев, Руководство по организации тестирования в Agile

Асхат Уразбаев

Agile Coachhttp://scrumtrek.ru

Сертифицированный Скрам-Мастер

Основатель и координатор сообщества AgileRussia

Page 3: Асхат Уразбаев, Руководство по организации тестирования в Agile

Содержание

• Что такое Agile (в двух словах)

• Тестирование в Agile

• Инструменты управления качеством в Agile

© ScrumTrek.ru, 2009

Page 4: Асхат Уразбаев, Руководство по организации тестирования в Agile

Немного об Agile и Scrum

Page 5: Асхат Уразбаев, Руководство по организации тестирования в Agile

Итеративная разработка

© ScrumTrek, 2008

Page 6: Асхат Уразбаев, Руководство по организации тестирования в Agile

К пуговицам претензии есть?

• "Программисты не тестируют!"

• "А у меня на машине все работает!"

• "Настоящий мужик свои проблемы решает сам!"

• Проблема ответственности

© ScrumTrek.ru, 2009

Page 7: Асхат Уразбаев, Руководство по организации тестирования в Agile

Самоуправляемая команда

… небольшая группа людей с дополняющими навыками, с общей целью, стремящаяся улучшить свою производительность и чуствующая ответственность по отношению к друг другу…

Katzenbach, Smith, “The Wisdom of Team”

© ScrumTrek.ru, 2009

Page 8: Асхат Уразбаев, Руководство по организации тестирования в Agile

Самоорганизация

• Коллективное принятие решений– Обеспечивает ответственность за результат– Не работает без доверия и общей цели

• Общая цель• Доверие

– Для доверия нужна взаимная ответственность

• Взаимная ответственость– Не работает без прозрачности

• Прозрачность

© ScrumTrek.ru, 2009

Page 9: Асхат Уразбаев, Руководство по организации тестирования в Agile

Тестирование в Agile

© ScrumTrek.ru, 2009

Page 10: Асхат Уразбаев, Руководство по организации тестирования в Agile

За качество отвечает КОМАНДА

Page 11: Асхат Уразбаев, Руководство по организации тестирования в Agile

Создание требованийСоздание

требований

ДемонстрацияПриемка

ДемонстрацияПриемка

РетроспективаРетроспектива

ДекомпозицияОценка

Таймбоксинг

ДекомпозицияОценка

Таймбоксинг

Фичи

Фичи +приемочные

тесты

Фичи + задачи с оценкой

Команда

Команда

Product Owner

Команда

Жизненный цикл

Page 12: Асхат Уразбаев, Руководство по организации тестирования в Agile

© ScrumTrek.ru, 2009

Page 13: Асхат Уразбаев, Руководство по организации тестирования в Agile

«Все в порядке, сейчас пофиксим!»

Page 14: Асхат Уразбаев, Руководство по организации тестирования в Agile

Чем раньше найдем ошибку, тем дешевле

она нам обойдется

© ScrumTrek.ru, 2009

Page 15: Асхат Уразбаев, Руководство по организации тестирования в Agile

Лучше багов вообще не делать

• Парное программирование

• Ревью кода до коммита

• Рефакторинг

© ScrumTrek.ru, 2009

Page 16: Асхат Уразбаев, Руководство по организации тестирования в Agile

Если уж сделали, исправить как можно

раньше• Непрерывная

интеграция• Юнит-тесты• Разработка через

тестирование (TDD)• Автоматизированное

приемочное тестирование

© ScrumTrek.ru, 2009

Page 17: Асхат Уразбаев, Руководство по организации тестирования в Agile

Ручное тестирование

• То, что не покрыто авто-тестами

• Exploratory testing– "Талантливое" – Исследовательское– Без заранее

подготовленного плана

© ScrumTrek.ru, 2009

Page 18: Асхат Уразбаев, Руководство по организации тестирования в Agile

Вот и все тестирование

© ScrumTrek.ru, 2009

Page 19: Асхат Уразбаев, Руководство по организации тестирования в Agile

Иструменты управления качеством в Agile

© ScrumTrek.ru, 2009

Page 20: Асхат Уразбаев, Руководство по организации тестирования в Agile

Проблемы управления качеством в Agile

• Недостаток мотивации

• Недостаток дисциплины

• Унаследованный код

• …

• Нужен инструмент, фокусирующий внимание на аспектах качества

© ScrumTrek.ru, 2009

Page 21: Асхат Уразбаев, Руководство по организации тестирования в Agile

Definition Of Done

• Что значит ГОТОВО?–Для требования–Для задачи–Для фичи–Для итерации

© ScrumTrek.ru, 2009

Page 22: Асхат Уразбаев, Руководство по организации тестирования в Agile

Что значит готово. Пример (1)

• Требование. Каждая история…– …снабжена приемочными тестами– …снабжена сценарием демонстрации– …имеет приоритет

• Для задачи– Для каждой задачи проведено code review (если не

разрабатывалась в паре)– Написаны автоматизированные тесты на основные

методы– Все тесты успешно проходят

© ScrumTrek.ru, 2009

Page 23: Асхат Уразбаев, Руководство по организации тестирования в Agile

Что значит готово. Пример (2)

• Для фичи– Созданы автоматизированные приемочные тесты– Неавтоматизированные тесты добавлены в Check list– Все пофиксенные дефекты валидированы– Фича получила статус Validated

• Для итерации– Система прошла регресионное тестирование– Вся созданная документация прошла ревью

© ScrumTrek.ru, 2009

Page 24: Асхат Уразбаев, Руководство по организации тестирования в Agile

Вырабатываем Definition of Done

• Митинг для выработки DoD

• ВСЕ в команде должны быть согласны

• Отражает реальное положение дел

• Результат распечатать и повесить в рамочку :-)

© ScrumTrek.ru, 2009

Page 25: Асхат Уразбаев, Руководство по организации тестирования в Agile

Пользуемся Definition Of Done

• DoD корректируется на ретроспективах• Используется при аппеляциях к совести :-)• Получает отражение на Доске Задач

© ScrumTrek.ru, 2009

Page 26: Асхат Уразбаев, Руководство по организации тестирования в Agile

Мы не делаем Code Review. Выкинем из Definition Of Done?

Мы не делаем Code Review. Выкинем из Definition Of Done?

А как нам сделать так, чтобы всегда?А как нам сделать так, чтобы всегда?

Да не, мы делаем. Просто не всегда :-)Да не, мы делаем.

Просто не всегда :-)

А давайте подписывать под

каждой задачей, кто провел ревью

А давайте подписывать под

каждой задачей, кто провел ревью

И штрафовать, если ревью не проведено. 10 рублей в пивной

фонд

И штрафовать, если ревью не проведено. 10 рублей в пивной

фонд

ПРАВИЛЬНО! ДАЕШЬ!

ПРАВИЛЬНО! ДАЕШЬ!

Page 27: Асхат Уразбаев, Руководство по организации тестирования в Agile

© ScrumTrek.ru, 2009

Page 28: Асхат Уразбаев, Руководство по организации тестирования в Agile

Технический Долг

• Технический Баклог– Автоматизация

тестирования– Реинжиниринг

модулей– Документирование

© ScrumTrek.ru, 2009

Page 29: Асхат Уразбаев, Руководство по организации тестирования в Agile

Работа с техническим баклогом

• Оцениваем

• Декомпозируем

• Следим за уменьшением

• Договариваемся с Product Owner и планируем в итерацию

© ScrumTrek.ru, 2009

Page 30: Асхат Уразбаев, Руководство по организации тестирования в Agile

Спасибо!

Вопросы?

Be ag;)e © ScrumTrek.ru, 2009