Тестирование в Agile для больших команд: путь трансформации Андрей Ребров Тренер по инженерным практикам
Тестирование в Agile для больших команд: путь трансформации
Андрей Ребров
Тренер по инженерным практикам
О чем этот доклад
Наш маршрут на сегодня
Содержание
• Пара историй
• Какие проблемы мы обычно видим
• Какие проблемы реально существуют
• Как менять процесс
• Good practices
• Куда двигаться дальше
Для начала пара историй
• Дано: – 1 команда разработки
– 2 тестировщика
• Проблемы: – долгая регрессия
– непонятные сроки
– низкое качество
– стресс
История 1
• Дано: – крупный банк со своей культурой
– тестирование аналитиками
– хаос
• Проблемы: – низкое качество
– низкая скорость поставки
– нестабильная инфраструктура
История 2
Зачем компании меняться? Модно Есть бюджет
Ради конференции Хочется выжить
Это нужно бизнесу
Бизнес недоволен: • сроками и качеством поставок • бюрократией со стороны исполнителей • нет возможности экспериментировать
Что именно не нравится
Не будем забывать про IT
• Бизнес делает много запросов причем нужно все и сразу
• Нет возможности расти как специалист • Хочется делать качественные вещи, за которые не стыдно
Что именно не нравится
Нам нужен идеальный мир!
• Получать нужный результат
• Предсказуемости по срокам и качеству
• Совершенствовать продукт и команду
Если серьезно, то хочется…
Нужно лечить
• взаимодействия между участниками проекта через документ
• незнание разработчиков о практиках и подходах в тестировании
• рассинхронизация по работе с тестовыми средами
• утилизация времени работы -‐> нет времени на улучшения
Корневые проблемы
Начнем разбираться с начала
Что такое качество?
Пирамида Маслоу
Пирамида качества Gojko Adzic
Deployable functional is OK
Performant & secure
Usable
Useful
Successful
Канбан как способ фокусировки
Только совместная работа над требованиями
Команда должна знать что и когда тестировать
Пора начинать работать с рисками
Самый просто способ
Примеры рисков тестирования
• Отказ сред • Bus factor • Автоматизатор-‐сноубордист
Continuous Quality
Тестирование и DevOps
Culture Automation
Measurement Sharing
Подведем итоги
• Канбан как процесс синхронизации и взаимопомощи
• Совместная проработка требований
• Работа над метриками качества, в том числе метриками качества кода
• Автоматизация тестирования
• Модель Agile testing quadrant как отправная точка тестирования всех членов команды
• Управление тестовыми средами через практики DevOps
Какие подходы были внедрены
• Управление рисками тестирования
• Spec By Example
• TDD + Integration testing (test automation pyramid)
• Continuous Integration
• Automation configuration
• Test automation
• Proactive monitoring
Какие практики использовали
Что есть сейчас
• Повысили скорость поставки в 5 раз
• Поставки стали регулярными: 2-3 поставки в каждую неделю
• Снизилось количество багов на этапе тестирования командой QA и prod к 0
• Ушли от работы по выходным и по ночам
• Повысилась удовлетворенность работой =)
Куда можно двигаться дальше
• Менторство
• Тестирование usability
• Автоматизация тестирования нефункциональных требований
• Engineer in test