Руководство по тестированию в Agile Асхат Уразбаев. ScrumTrek
Асхат Уразбаев Agile Coach Сертифицированный Скрам-Мастер Основатель и координатор сообщества AgileRussia
Содержание Что такое Agile (в двух словах) Тестирование в Agile Инструменты управления качеством в Agile © ScrumTrek.ru, 2009
Немного об Agile и Scrum
Итеративная разработка © ScrumTrek, 2008
К пуговицам претензии есть? "Программисты не тестируют!" "А у меня на машине все работает!" "Настоящий мужик свои проблемы решает сам!" Проблема ответственности © ScrumTrek.ru, 2009
Самоуправляемая команда … небольшая группа людей с дополняющими навыками, с общей целью, стремящаяся улучшить свою производительность и чуствующая ответственность по отношению к друг другу… Katzenbach, Smith, The Wisdom of Team © ScrumTrek.ru, 2009
Самоорганизация Коллективное принятие решений – Обеспечивает ответственность за результат – Не работает без доверия и общей цели Общая цель Доверие – Для доверия нужна взаимная ответственность Взаимная ответственость – Не работает без прозрачности Прозрачность © ScrumTrek.ru, 2009
Тестирование в Agile © ScrumTrek.ru, 2009
За качество отвечает КОМАНДА
Создание требований Демонстрация Приемка Демонстрация Приемка Ретроспектива Декомпозиция Оценка Таймбоксинг Декомпозиция Оценка Таймбоксинг Фичи Фичи + приемочные тесты Фичи + задачи с оценкой Команда Product Owner Команда Жизненный цикл
© ScrumTrek.ru, 2009
«Все в порядке, сейчас пофиксим!»
Чем раньше найдем ошибку, тем дешевле она нам обойдется © ScrumTrek.ru, 2009
Лучше багов вообще не делать Парное программирование Ревью кода до коммита Рефакторинг © ScrumTrek.ru, 2009
Если уж сделали, исправить как можно раньше Непрерывная интеграция Юнит-тесты Разработка через тестирование (TDD) Автоматизированное приемочное тестирование © ScrumTrek.ru, 2009
Ручное тестирование То, что не покрыто авто- тестами Exploratory testing – "Талантливое" – Исследовательское – Без заранее подготовленного плана © ScrumTrek.ru, 2009
Вот и все тестирование © ScrumTrek.ru, 2009
Иструменты управления качеством в Agile © ScrumTrek.ru, 2009
Проблемы управления качеством в Agile Недостаток мотивации Недостаток дисциплины Унаследованный код … Нужен инструмент, фокусирующий внимание на аспектах качества © ScrumTrek.ru, 2009
Definition Of Done Что значит ГОТОВО? – Для требования – Для задачи – Для фичи – Для итерации © ScrumTrek.ru, 2009
Что значит готово. Пример (1) Требование. Каждая история… – …снабжена приемочными тестами – …снабжена сценарием демонстрации – …имеет приоритет Для задачи – Для каждой задачи проведено code review (если не разрабатывалась в паре) – Написаны автоматизированные тесты на основные методы – Все тесты успешно проходят © ScrumTrek.ru, 2009
Что значит готово. Пример (2) Для фичи – Созданы автоматизированные приемочные тесты – Неавтоматизированные тесты добавлены в Check list – Все пофиксенные дефекты валидированы – Фича получила статус Validated Для итерации – Система прошла регресионное тестирование – Вся созданная документация прошла ревью © ScrumTrek.ru, 2009
Вырабатываем Definition of Done Митинг для выработки DoD ВСЕ в команде должны быть согласны Отражает реальное положение дел Результат распечатать и повесить в рамочку :-) © ScrumTrek.ru, 2009
Пользуемся Definition Of Done DoD корректируется на ретроспективах Используется при аппеляциях к совести :-) Получает отражение на Доске Задач © ScrumTrek.ru, 2009
Мы не делаем Code Review. Выкинем из Definition Of Done? А как нам сделать так, чтобы всегда? Да не, мы делаем. Просто не всегда :-) А давайте подписывать под каждой задачей, кто провел ревью И штрафовать, если ревью не проведено. 10 рублей в пивной фонд ПРАВИЛЬНО! ДАЕШЬ!
© ScrumTrek.ru, 2009
Технический Долг Технический Баклог – Автоматизация тестирования – Реинжиниринг модулей – Документирование © ScrumTrek.ru, 2009
Работа с техническим баклогом Оцениваем Декомпозируем Следим за уменьшением Договариваемся с Product Owner и планируем в итерацию © ScrumTrek.ru, 2009
Спасибо! Вопросы? Be ag;)e © ScrumTrek.ru, 2009